geany-plugins-1.27/0000755000175000017500000000000012671261444014522 5ustar00frlanfrlan00000000000000geany-plugins-1.27/markdown/0000755000175000017500000000000012671261443016343 5ustar00frlanfrlan00000000000000geany-plugins-1.27/markdown/Makefile.in0000644000175000017500000006462012671261402020413 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @MARKDOWN_PEG_MARKDOWN_TRUE@am__append_1 = peg-markdown subdir = markdown ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindoc_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(plugindocdir)" DATA = $(dist_plugindoc_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = peg-markdown src docs am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/vars.auxfiles.mk \ $(top_srcdir)/build/vars.docs.mk AUTHORS COPYING ChangeLog \ NEWS README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ plugindocdir = $(docdir)/$(plugin) htmldocdir = $(plugindocdir) plugindatadir = $(pkgdatadir)/$(plugin) pluginlibdir = $(pkglibdir)/$(plugin) examplesdir = $(plugindatadir) dist_plugindoc_DATA = \ README \ ChangeLog \ NEWS \ COPYING \ AUTHORS \ $(AUXFILES) EXTRA_DIST = SUBDIRS = $(am__append_1) src docs plugin = markdown all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign markdown/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign markdown/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_plugindocDATA: $(dist_plugindoc_DATA) @$(NORMAL_INSTALL) @list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(plugindocdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(plugindocdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindocdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindocdir)" || exit $$?; \ done uninstall-dist_plugindocDATA: @$(NORMAL_UNINSTALL) @list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(plugindocdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(plugindocdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dist_plugindocDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_plugindocDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_plugindocDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am \ uninstall-dist_plugindocDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/markdown/Makefile.am0000644000175000017500000000023012671261352020371 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk SUBDIRS = if MARKDOWN_PEG_MARKDOWN SUBDIRS += peg-markdown endif SUBDIRS += src docs plugin = markdown geany-plugins-1.27/markdown/AUTHORS0000644000175000017500000000004512671261352017411 0ustar00frlanfrlan00000000000000Matthew Brush geany-plugins-1.27/markdown/NEWS0000644000175000017500000000000012671261352017027 0ustar00frlanfrlan00000000000000geany-plugins-1.27/markdown/docs/0000755000175000017500000000000012671261443017273 5ustar00frlanfrlan00000000000000geany-plugins-1.27/markdown/docs/plugin.png0000644000175000017500000060224312671261352021305 0ustar00frlanfrlan00000000000000PNG  IHDR!AsBIT|d IDATxwx\u޻}WQ %7SR,ӖcN~c;Nb;N8ɗı؎\mYlZDJ$E) ^nX{ yg{gΜsܙsgf%R~z=@ @ /}I9D_H$@ DɈ_^GC(@ @ )/Bw"Bm6R @ @ (yҗ$uouq @ @ CZ~~-@ @ .b^~΃)*@ @ ÍHB@ @ L7x?N6m8Z`OI^;ab\u̙Qeإ FCA-%s9u:v=~E-4~s\GC )>\8|K .6JN:t\g"h:on1$ Xz90brɱb YtBb%E:-C(𘉙K@a%;/~z̈ip(C\r N)c[ |CLr5;ݸ*yE3Ͻ"eX$#s^?OQ0(Yh/m~G-a5\ۆHbܻGJ{FЋ-,xXY*)7?яxe`ڵx<|>oXn]e$@qER{]#kSXU"W.PiyRf.dʜq|giv`#>ZÙĤ^7V= UscЁAb^8S=fVpW9\<sk5nٳ!x`2Ű7d.Nv_=1VD )9f6}`Hc1x\GKd>u]Oo4:ȓ$s(sioD/m E  #F oI9 N SMd*m\kK}W 9+ٱgbN'? z$O}:qT$BfGqLۗmQU>"o/>Ô>˭SH;·5 .e%Fq/Oq|`/~}[MQë칏Xgs7QںǞم>>}Mi -+2OM_n0jgzG[0M_+PΣ0g~)f@G՚[X_ m܋iIuQ=RVAG ` os_¥kV3r_ĉN( {'Tɝ6 :G:$Ff+zzy5N.^r/y% "{MHЭ)N񆁬 "82.H-c;dlDSY?tyLU@$dn'-|''W1ݩw=5Z8V'/`r]^f/Ii|rerP(~?{TڏɖS1T1 ?4}&'>$t ^͵NKjg:s@&و=+ P4q|Juoϱ Nwq7GI[%\:^KF8k(M0.3Y{<a Xv-!Q:MbN̥Te1ę;LPcAݛEPzOY{-<cM}.|ftb-{!L@yevI%4i*Ŷԫ]xp{Wy˸kkfϩ'_kfsaFڃ26ª;Cހ[ڛ،~+B CA2Y7GDܗUE)Yh6g,;ztt$G,WON璵xex߉6OEz{8n Lwnrk|=?r3Cn2݃ qNekRڋk =zu@kR ׄ%,}[R5!9kr; ;cY| &E}bvi>rקe< 4(Vϰn;_ΝkW9'r[yb03^l>Q:EUN1,J8j{UMf/Q>bێ^辁}5WsCOLu"m@T ΞgK](ײ޹XĖ٥q,C6ut,3RiiWu@ /e^xTжF:aj!ұ5arkDcS 1Ԋ v7Φ?M|Juoʃ]A_hal]C)"h?4É@b3)7 @ee%TVVЀ̪>mƆ l]x<~^#LNŀ(՛^tSC|DHf;V WUqx0 tdyT1|>އ'\bӾx~lNw^DWDc]2: q1 ``VDḮI yM>`~959(KB? ͦpZN#h OnX08y8!-1CI1 Mgѓʇ$t]#zb3b LD?; vԀq\"ůC'̓MX`8d1AXE?* WrpOYܼ65琟k4~5$ALeNۼU::03sI%v%LDâ-i⠎b X]U#LͻGOPӤ@l**vqvħX&>mNڞVf d+ baL ?^KKˠ ý΀gڵ8`vY|9eeeȲL{{ 1C0߷ӻ9MLWb'{+(0~Idړ*RBQM{tM^ճwس|.W=ѳԴ>x@PMUN&n9V֭Я@JSgoBz>ĖM5ԘntNu*c5wV*{tK̀}]ܳ4k+c+gԍ9d&*ƬnZUWΓl*c྅9ie5u$^ 0B<ީ7)c'BNsBj D| ߲0/7BrmB5JKIj}u*9˙`0\`s$rɖ&aq9G. -qpȚ̈́T)N8c6@X;8@H[瑣hn;ilDѽB N~Jq@2`AUAJPV5O[INǁ;p%% lhGib@vLS[[`WY2v]ke6XcT`c ۩_Lyc}$zMOJBd[ߛ2ivմ4%J\݄,1f illrSP] Ķ3"|ԯc455`(mmmY]+F52S_ީv@ө,щB&P5=GyO2295XkW1.yГta7f"~ +ǍjmGxcß(ʛ /uPBS:VX^u"FzLQxFT͠Pgwq;v~ZsCPQGx+>'֓d.S'9>t"O ֬2+xMʮwC'P9C*5rP^_d5gcLwWz kb;l}2'uG6e|So]#)j9y~-Pse1h{# E#pUXA:>XJ1q#;X)#pN!rҴZ:))9\f[l,CBt*̥sv~%|L54}T1#IGҺM>mNm.Sdzs b?~M:}8!֥C?[%rjW / *'bWZz}8\FN(fK?;tjΤٌۺ60O_GPPc {&vaۦ ,&/J-=vf*ȇhƜȱ`m)GǧLԧSӨ^?)]U_~]A>}Ǚy#Ar"!lOt={v/ B gJRXݜsn*@0ӳw?+p]]^ɛu)nd\|.g^@ŨT2Ӂy%?)E=:2brul ؽl&S8׫]*Yy5z}omFÊr) 6w+G"; r\2)HcD5(1kn8wJX\UDВ\+g6Sf )gd{%`['{ۄͻ[a ^q?}:D@ƞWƌЉٍbK$C"&0TYM H:Z4bjnGZwXcHաM̢"ᦞtۆ?euow96(ռ\qv8SOp+mb%@ 親 Uw}7Z]w݅dj~z}ժU-@ ).%GimlY`P\B%IƖa%5?m!4IAKCq SsQ0K~ *@(.!=:1K:q3-akku'Zh!9 )Zw4)i!qnBkc+qQKnXOTΡ(9J_őWKQx{ 1+}dvut Gf!d%GWFb ~-\ IM!ނOYEv丏 )!ԣ栙LmBraң*NHJK3΂"-$>m›nе8a_;үm[HT>ƒ_. l ёёO&l Y͠F|PSٸĤ>:I8Ɇ;cGto,K!4[PR꾣y}|3wƊ 2F<]NyXGG 6(ibY_s=ƩͳW䶌pL;(4m>}Fsp&M@@ YLCG1.UjΓOΡ6'6OSȃJywWB?cCmŮ7/\1$f,\ )]ʎggӴdg>uGc IDATo<m7=g rar?sL ~w=@[S+NNGg2jGUr'Rпgu/y%6n|K>$3ΒTMutS%pMgϔ1-Ml"d $LXfhOlLF܃9ՃMD$S uġOJ ?MLή4̹}w/+&%@  N~?Jz)'^/G${Y~(/yHX1_vӗD؝DX"}x#>ѝ͌d:>v?r⯜&x8v_6;OrL<h4BA<#RC<2; %bcOéu<osaAF*H]gt7P0y5`.`RlP8ӁNZQ/?*;1*͊O=LU R*g2ao׬SH싊ՍNllbhGq& jb+yK c(^-쮋d@ `L?W|bR & `s-Ԋ~}$@Pb,r >eN& GX{vj kR֜??5/GMsLupW LPCEAG09Z4pne9;=;$uЍ!abmę LFz#i>iH:.gEհG>׮ŁEG'ӻ&{^X]}q֡Ͻx51d$36sW1ȱ Q @0&r՝Knn҄%3wj>[(MG͍5ޫE|DFW%Ut6@ʄT O}0~LsEOF%sE:i@ɏDc\ƔKWe_ݕLʑZRO9s!ڼp jAv61oBp>H1EI7б$#j: %BFr'r02F iKhuCn$̞ ,[^+owm ͆:,^,M=ڎ9޻/Iw0j[2FmOGb۞=3-CLz&s'+貝b/&uG>omiWT|GfgCZC @0&5 )kןEkeCY'`Wןw{'/+\yr\²Yo𷕷_Y=D"'~)K1xpލ\Γ|+t/)C%,~jO?}Lse|+;bLX>ew3`|)qU a&o|@ CAYfO9/}\?'s<׏ű[_O$W_*+W@b'ݑYFo?eiF:Nkyiحjs2-CM:[2IhIXˇ_.2y[1M[TJݏ0_J)@p!_^ @LY"G c;#~] 6}`l3ǰ @ " !?⟞hg#@ 灄/іCpAcchK!@ [@ @ #@N\@ |$}H0@ >a&DBLb_".=N B  @g,nXj0z*]\,:'Åۋb,bވ$e,L"[r̦-FKHM/43_Hc(2t7DŽ zHB+邏mm&zopFGcp4\ d\ z+yXX3]Hz1@Lbu:PMbz24Pyc9d3VHMdC㇮h(c6f .$Id2a6w/T$I>iV`1l߿ǒ$6re; :ج3)p?i8gBe:4MCUU4Mnc6L'Qmm- ]7ځ4!$IPYYH…t`4bor ŢHl2ry.#rz3BH4DZL8:Xfjjj|1`$ ĉ8q☝g*7=m='g,1lC98  BȲ"M<|l~=;;֝)CAQVk'Rw d2Q^Z1 xK[%[*  z0= J~Wχ!H&mC(:_w;\u 16@4lӦM)΄xzIx0C}e΄L׾= '"R złi~N'fMӘ:eJ?q{l6v;pxP= XE5.JR Mא4 Mӈ*&p8ܕ,hb*s)cKs̡vt]C z[`i{C PU- uͺ/vgD4&QZZj~*q5$S2u89s]kii!@qA@EcZ9uʱlY3ГܹsDQϟϹs3gՄaM0яpj[r),~s\![QjkkYr%s͸L`0vyש0 7@rQ|>$v9s&s~ Ňt&~Ӈ^{Ғ|Lύ6LL8wMYjWG*|}?̶Ů(x~ aC2HL@e5 ]zi:Z׿u#?OW}(kĄyۘ$we{M$?Mp%D/N 0|B>pF%M4媫Xd SJiGEt]m'Y]<”eTqdA<Oɰuԙ6Ȳܽz;J=xN\// D:l#Fh6D,UleD08oɝwIEEErN&[ۦWh_9Gq ^7mJ{4$ oAW|I-vx+s<,I)mӮ:h?{"vh(QdbF2 ˠw&tEA)8Z,WQ߸W¹p17^赕9ry&=?{`&F ќ3gZV%`/&&zpPDPo2ϼI,4^4=N$ʢܰ~:qZ:։sɺZ9$wI| H(X,[_nOfM GZ#TU$2IB$x<TUEUUuS/}۷;0{,~pw0y;v_|3?իW@k(Y/+Ld[G L~~!r~$~ʨY)**V%{ȑ#,!rr<8]NFߎdp*qv`[t]lc3 Fk{G8#pX4BQqIuA.\HKK 999TWW0m4ZZZ2e vӧwb2'bU<0)}?q^J.:z [k8Q"hl}oMk3hܹ_~K/|ѽrٲezlذ 6iK,I[^6DIǩdkt:ʩf{XEK0+bT B`Ky}|=Ã&{qg2dGUdQLv+ڙd ];!ɱ:#k:,!uԀl"Y1R[,Fk>#*`($H'5̙Vj41͔P3Əb\WBTQ P5p4$@άS Fl:C}ssٲe v}PiG=}e;&m#)uRp8Ia[Ε)~?}HTGӴ^:TvUS>}9䓏cڰlX֮[qgUV]yOpq.R4Mey2^x֬Yٳ{mϞ=lܴ&.2nJss3]w]_\m-\xIj[o/3qD SM\)8ֈ{XənjtPTpTEK򋀢*T-kڎ3pg5@א,&$jbY,έ9}]UiB2Hq; $J\\1C=SFsQDX{oZo0X il]4躎jbfV &;7/OxbZZuPPP%ӫBӴ=gƍ,YP8DSs,YaXXjUV_lzq:WtY$hl:7`ERgD&e&Vhxm^ v|Pz&on߾x<΃>y0(u]ǻ۹馛5>Nf틦i ıe r,?@un'FUdj4t\~~ab.)}?E@I$$-CW4,3:LL2& "]NkEA$!.0+UޛÙ92-|1covrOUOžTM7/ IBE"/u/QM3TKc[J" ښnf3*}0O:,3|<90bY!)StORm8Toene./,#eA!W9v.x|p2@G8}}e+w[[;vsB!cᢅkDQdYf,ZP8HkimmmDTUjXpdjmbZmw^i:{=s:chNeEӌյVUUq047722#tyr4]#zG'Mtۓd$ 'h'g8ICs yzHRHW۠&FCr%v;: ,v3yd9tnǰX,|>vڅfNL9sN'gHtˌ?'Ʊ@MC$zqL M 9aN1_Meפ;k!Cpu_cYb,Ű픕qnèC9ۦzwTvqE1N}(ک,va%:0UKgSZV̹pw""VqxlTs\P^*$XI- دZu*QOوW IDATFS8~$mx!::zȓ6p \v3J[0("\lnᖥe/g/˸sreܼBZ[1-8$4U! /($Ib6#K=~ڎ''<^۷ v ۅnbZhon}I=ߛP ġCXt)Ǐ< F(СCL8I8N~S?hF(" RTToqoRK0#;$3yҸqf8Ak~ yuv&d#@ G=1J4AM`"&>K.^$8;<\9gfٖd˖m`l0c ބ\K M/=@*Bhl^e˖lvآ+ϣǖvgr|5fzFGh6>fͶVUO&x z%EL,>˷E_\Dgo:Wrom?"f ]w4j$Ctŧi[=0TuB^-opv2LiC^G2ry_Չm&\L{ȔK C(!&K %vJS'}iRBX2+iZ pvPVVAaj&$J_Au4MKm)e 6 F2m2 Fn"hyT L(fpkM\x2iq+c:;qNf 6oG}Et]]]yq]̟?f Ph4BYY3|꺆"+ֆk /$ߓML:]7R@ƃMTUU$2:[PX4BG{%Ipq9lvzz{AA%nk7Wz pQb1e%ܱʪTȻce]VVF8f̞= s֭F:t!eeegݻw#2444PUU:x5}8}8':賗Lm]:9߲Y `fi)u%}4\ ɿ‰pAY3sK8 3`Jʳ;[empC~nM0 bXj-q.3Y EXkh 3k7Q7MdG_5?=VA[-5(-nLSd5 s )aF,nE뜿j{~ggkvF$FS"veՄ6o+"4=n]3_##2Or5Dg6FHvV%c/Cӷ Npqߚz9W}0=jaQ1%5u} H$4M/JIq1BmX mmxF0L呯LD0L33._(!dfYtõiun܇"IDudIō6^ISN.`Gg?Y:&Eo'`X1хtvt`.1 '{O]())A&9%R Yh!Cr4 dY{(,hjSfn8Mn0!!@]%ib f U 8Y:T{vtt#d78&i) l~Lä@*$IwtP- -"esc#/ NEEEPE93E3 TUDGP--\za0nB(D~eHIkxꩧسg@a/=VAOwfqH 혃h{iԀ CGeJꢻh# nnnzڴAtL~sN]JlП/Lֲc6=A@QdJ }3@կ,W ֑1LDQmۖ]#2sINΗ(**vK/AvKOӖ `Ӗ.{KsnI9Æ xט8q"ӧO !hmm'7eHxmewv4rUs9Ct @_uM7o ͠t-$'w2`DU UG(2[W01w 6Q S70 矣07ČihfXsɵ|M126 Zc6Kw:=C^UBb"?EEE}ټTVV"2irA/_/IKSL@$"Ȳ7~4q i&I4F_rs9UVy]TtytC‚¡ ӍWO6~@7tl6>_6W2 H(tvvafܙjϾRGM:* l,AVSM_zb >W.2~򓟠:6{,ɥd-py9X h,L:dS`o߿SK$62Ng-,!Ζ`A~T|6Z:G.ɓ'sk3PUUYgEii)$oiooI&܌e7ކsX:{ vmr=khک ~1 (—~Bv~#cF7”eU>-؋Փ:5ab&f{`h&n`DUtsun%p7+Vє"Y^QSq(L0;ꉳ.ޱ":;;/H6>49+# DO()D]On^&յ_]gϞ=O7!t8).*5~}gO+6T} R&I*"ֆ]-QG:Qχt aqg_2k>!5NQU|KjS v*&W ??ST$&|d., hko[Hr?k|"nPrɓff^˔>Y,+Bގh'ajbdYtr:BɤI).*J:͇ASUOWdQt9gRwPEzDcq_9nP8BSs+%v;흝(릳EQB0.h4Jaa!>s׮]AJJJ0 ])--wM)CXh+>sz:\:a7g8',z(r TX'`;aJB5TkEнkװ eE]aKAgggj"ncTU{K.$keÉKa߳M:!K,ldy }IWotB N] hfۖ]|ڐ V3%H =#C8LE)Dm.ׄ)4L&<QuuH1Fb1!H9^HNZB^>{/$=z{!r#܌nsr+ eܪ!1tD2b)afJ ji1@ 4]O(!zwoNu{.?0---l6=Q}EA$l6۠!%ťw%_/EQR(>9Y( F쉺~d+/ԦڭёB]ln 3wRrD3AW啋|25q#ƃ:(S9p崶qs-Pk(ryPή. 댑mnrDs*aN1ӫ|p:̜Q}rzo_A XX$Ž[>HY=m:[l!HH]N(HE4-L8A$#a)8qo\ KI*oN(BeSJɑE]C|>ZZZzL2}JAAXŋ-r5H(FUR" !)N"@(˱86SŶuwѰU:f`#AL*+qh|q~饗dqF($t:Yhvs hF[[]wgHry~ۑ'WgtšIodp^|n;:7?%;d>2&hJ 8L%pٕ@|Sab ~CWnEc#w3ǂa,˕t8dKrH_磄P5ꭄԷ:jm`r86+WOrJl6[և;p4 G4Q !03DL*̔2"y%Kov;_~9ӟꪫekRq}`͖R,$+-)WRi6SYsV$_$TUkgIF:DH,COD0LL4 dԖJ=4tEpj&3'un+̞C6\vAU8:p$`'sС~'ǎ466RZZJwwO?EH,H2].q:ȒDWw>6mP\H/kxt$IBTU7_vdM}`j( 5ӧph,rB-w隸F4+XMNG=Ι3EPձuxr n7D!Yi<Ԍ`& !~jTuT} 0m4vMmmm?Ex|P[r0*0~X/۹g?Woz*5nB >X gDW#d>W<tfョm~y+q:a]x=>X71 ##"Zd";BJJJ3~_"ˡCM<^KQ<7Gohf1;me9DUn Q7%KB"H(!x+GJEI/ o& =DfZYjF7eƹVuv33Etuuvq0` V%I9Od6 El:^*WEc1"@16ŖwdtʞO=$Ib))p\H(/00 h4treĬY4'ۋMQU=a %|ĭt]Ge4MKkdY"yM#p8KɕLYgg'۷o*͢vjjjx<⋔0|0{EA(bl6o6|a$}m30iL?o"._sgLؗNgӪ?O44bV9a@,266MRʒD;ѵ?&;8X_ϢS=nlNAGgK>ys;?!MMM!xG˨Qjݷ(m.[VEsg[wSWWCL%v"}N.Y2SJFOw(4P$n ! 3i}q"v#$ Ϝ:ʮK/ߥ{~TTH1e.cH CqUo2ںN&d \l\-!C|aSY&6CH4އi~fؼrqlt:lH,5@EpL^!IfNqD?H 0Zچ}4tj t:SY0+W4gM;LM 5ňi7?g2S<%䲕ҙ(; M$13^ uQ>{\)#XIc/lo5A(ځI7J,U"] H]#Sp4 qkR %OV IDATFjF0E|eƑsɁPCyyyj\$eu ]߻#yzP"i x3@JLbo6NJ 8C@D3 ZW?gﺦjL<n~a)"nTUS]Ho ,S(“P%a%ROe8y$}kmk3G" #+ 8K B zH>SkKqRc1y8*~/6E!(L*ZpcObo"jđ8dVTTp!N;4QU֬YCii)Bĝc)..<5M.rg$WކOoiL`RGSp3-/Mĭ)J)3거/ D'|?k 1\ch d/&2 ¡R죦.@r݀g#щ4Y+!T RW2DD^T\fPF$̝ƺDWWގp`۱ɻ͙G؀D(,,I1 x^v۷@SUEEq)1m(4M[Jz?CU {-96 Ť"̰ 9짟~:;S䔢nf/:JO\s3lJ'Τ̄ hjjFl6.p8Luu5iM pDRsZD4% ( N@ @WWWe|! swc;RWf?sY&rQB mq|\| aœ O8Se>s}~Ea߾}A?!Ӧ?2=7M'LAGƭLG hۮY~~(3#4#B'k?@ M?qE@ 5`z_o~)hw,Ibl~;%yũD<?8c7HYBDbHȄjB cl̊rwN6u4Mb8&D4A MNk\Qӗ0J3qEFd"M La7xDžCI.HO)3B۳ndYv0 ())4?O1uT:,֬Yg#J#I /UVxb)yEzdd !p:]GEjX% v'.k]lo挲rv؁nDW0dgbFQ*Ǽ|Yؾm*Q8X(0ȧ\q\L6 Áfcʔ)_2ex}^wZGmAiS@ |pfi;Ô)S&"m'xزe rK^%#eBQI#Sf"ӡA,=^E^XI7x㞯ErNϜZeP@HҠm BYB$R ͌H 3RFT8Z<6ct$O_|Ŝ oJA%ܶhhjTG#Ǫwykw^}ӡ1ٕ9mz e+DU&u,ʒ$)/%D 466RPXQ6a6-!ND0 ^ #nNFNQ0r%y"O?ˆit,CӴ$&_,3m4RZL}|ԋ6ݪ ߱8aMӕ ӹHhе4Z%@3reґI1YUSҰon 77 TU%2zL{ ;lLS\RʌY͎iӦn:b$Duu5K)%Izy嗁B1|3P66C8_/}EQ(++;#$$ IEEEEEtuu뮻뮻{(9ֵ۷"j!xp+uE9}ݕ~my8Z^J8$l6ej9$ xH*.h,9RxۢEO*f͚5L$+B~z6er97mX4z$! i&K9v˅9،5j 3 mN_%I)ns:sa> ̓LZ$ﴻnTU! kX,F4M9)ɱrN͹Nr3 M 4r2;V19aeN2Pv0h9|Po/bw8|L8񒯧;wP^^Neek ܌K>Z‘㍤?ǃiE$߉h4uo=7idہ΂K7a@Om=ܸuh$I’\$^oFzj(h+`<5;w+!fΜye9!xNnG#і;ߑl\hX:&G/FÿR]-Oyc,8^z"IH^q9^.eZή]9'$,H)c,4p-r-XNgH]-ʘV}5Ŕ5&Fx4>ǢcvvHg_^a`U9Gʱ8Xq̑q,S> GѰDSZXim|ݻwei#-,r@$3f`ĉG[ Xk}aaaq"jժlٲs=jIPU}+ IG[, Attto>"qn$ Muu5>;Q8Z;~ cs9FD"}7 #B[oY cvvEEEȲ|E1i ٵk3gLmO:lmdſ6NNJ4Eurca1geʔ) GY ߿I&QPP]$|>&Mb߾} Tђu񅵾8ѱAҌ[X䇦i|>k1gaaqLDz~܇NγH$Tђu񇵾8ILNrdga3caaq"@e4M;ڢ a`ͻ'ZGK6kwpG:K 1<9~K<<O7_y>)_)wsSpߡ#*u[_mi,|輩↊{t5iƢ5-,,NT_ ?'N7l]Ϗ4.#MqA4rj'9;_!N389ev7?+~q?e 2"ơ_7Wptދ M6F+VwT_gϡ~9orW=z&'THR2 .7{GNОc5NJ!)R4M̵K~N:S^Môq<ǤbxDr1u֡*\s O<7ndɒ%9ZXXX RB1J]ԟ1 aұê=Wq͙qg:6B -+c4un ʐDְ5nb.?q3s<Dv=k0Ͼ˽"VoQ#Q4,Xr[M {[ %&v/vSz/6 n|"_}! Q e[К 8\M᪷ !Ss7f9m:k=Omx?s (Z+BfqHwxwRv>M m<g~~95u>^rSi}o7 ;wWh܂4R+"_q6/4R&džK;/nd.+#]n8Տ ɓ~*^)Fk,*эo͋{5.5⽿D%?.3ğ#YL/|"q8YpuL,lè]HF~KX旜t5wTY|݂z+od{3GOA%Ah}q]_ko'ہ%PM"yEp壜ě<͟x%D36| U}:z$]Uc;ޙclrOY~W,',DB3|_~Ȳ̚5kRlҥKYr8n~WJgQ+/%S)I 0c~6 2sn~[I*q҄4U|'g1>tUW0:=Eצӫ3`{7{ϜLIK؇-J# v=S-z͍! gVYʌ}Z3n9]aNL7\ȭ6ϿyG ?ijkS"#:Uͽ_ʼ}Ü=Ftcy ǔf)/d'Y`[ays`a g2H$Z[9x:\Df>5 9t&abr w K.X{r.[d==BmEgf[9g;j.F6V'c&`f>j|9rzu_fe/(F|F9zi/ޛ#fMTv;\UH0ͬiWU>5\}Ld98Qɪ0Z,7[OM,YA Dk.m:[4МSfC۱x~8O4du}|#g}T $է\g7rRg?؛۴ޙР{jp u|~JnrQO͒ycw7FiZYm<0?>hKn7IBݬ㽼]QzF)Rdl_H {*_V54<]ߏ-D}(|?~=!_>IacߊqtŊuXd +VHU.6i\|ùz[fy\d*s āp 5z=z90BS3͏l )t̮r#L(Ta2B)dqEv?m[gqeI@ѬTۗQO(MSgpjurg|c'3lM31݆ZX%z8,VZ+!|Lab$7̣3xߴ$Y0s^@pa!B3cF10p2:7^a QwR¢>jlt,RlxQ^x01B1{Q3Go?X=O?J&o.b* 7T~wuU>Ch8+0=;G` IDAT @=ͶScix&H\@)l]'N"*p l&䍴ԏ9ab,s S\c@| RB!LLu"%5[Qg_WҖ-yR7.aT8Ahd;n{2/ Iq`O4WVOHK!sȌ_lACq ?Yqˎ$e;QTj/g}!!0d5{sl#UT{սt1K=O+\R'>Ob(bP9)-{aOpRLqyӘ4u. 䗹\˙p0iA){d(@F{T+x5VHY?.E;筷r~#=t[dO22ZɞX"enռv5u73gR1тLѧޡ܋)pj.ygLw{x?g,Bm9`jHE3 7Bel!9(haV)y-2kMM{XNyzR@Dv^G8wBwz> =x:z>st?RsNrkE=L۞"x0v?k? M{S$şG'fkS\8p/󪫮BQ<881L w_x!$dB{ s/W]{LMEgLcWBzٓȥ= j Y-/?g(K)S+Cm3F&a+w=]o? I"1jզE)jVU:~ZҢ(EZ;(D""wD_//ɝMrssNja~ƀL4$pe\&%Pѻ}W #F˂;-;aמUۥľ&iM r4qgE:uRF.h#\xkwi̎-{61OeYe?K;omo+ݧN{S9;M׵;a.}S|2vcZN̖:"%iDLlɶovy J9}2BFѓ%{9'`ȟ3ԕggrLRm> oo]~Yc}R !ċ*~Ǐ%P_G+fxl?5˧MijX>uc}L)p[w*K{W)giEV#F`܇.<ڣhLK-̍QgvZ&zhٱƕ@@+\sLĀBxX4AèI`Q}?M\DZ#8rf߹NiVފߗNgDL5w/mD\wgR1M"ϱғvk"rա߀Ѻ9>ڈ#2,ST)BS ngثY7b0X]IW sx F x]>0eN޶+m^]7x(ٞU3{ G|OdS\wG{w|yyh#եtJsi;]?y8u۝ay6? !^Tܹs111::ҥKEBd0 ֭[$%%aii +W4)20BQ YZZVh4cccxܹNvqɅB_`08uFWWWLLLܻwǏ+d:ӏ*c !YYY*U 333E jԨAr刊D!B8ajjhDRaooJt?ɄЩ`a!?B"RPST) aaaDDDV PTܾ}KKK(W!&,, wwL988FժU3LbL"24u/L[>>xͥ?Fy{1`|QD!077GQJ,`Jjpuu%..'Ob4",,,B!IJJ,ud9E!8@SȒGݣ0chsgq4݌ÿ>J=7*u`c3^wV|txyDE;32ɩ0%K|ނY jHJFQz=J0aff8Jō7pqqYBQF# ==/}z=qB?p4rPsu>Kdzf:Bu<ݭl֞I^cL C+#WQ!1St:,--)J.8HQTǃS !B6јn0yA֘ IQ܌;'0ECcwmMlMx_fTnݻ0li.oxG:NL.> 3?488T}DA~gp2귦S4rji|ׄrNN8yt`Q#=ppp\{NI'76l=Zԣˬ$KhgC f|O./vAߏ\2[00 0 TjuiAcsss4[(BfHpJI}=su3Kϟy*[ r蝠 ۃo7=Zo JNa}vf@tUYP<1KФ$u ,?m3_ߏE~8vAgЂѠh }1:tom"8:1M,M?^k26nĮEo(7Yp1c>bŅ J#l@|z\|}6{v|ٷzc9Ӳz]OErЄ6:4!B܏d v éL 7aJ/Gpo:q`3aSm\[4.rFG%2/&m )|7cug/Z5t;H/AeshNMkc *;^jB̟Ўu|Щ:*Ɲڍ!ɜ-VD{7E ;@G`1kOo7utۯQ}?lx:Xe%v?,Χd.Ƙ uӎʘۣ?֒0ňcBB4G!B’{"ajnN:)>nP$Mvup8“` Lm'g^t ʘf?Dil p{Z`b_V:F=(cnߞ_nCɻ؀~K8 u4YY`v:[Y2'Q#`MPc/#f1(xch>&6X ,q/H}Ηvya&3Q&֟TPR#!^S|K!HG!B<+)ͽx- I܏M1x =Khd ֠Is%]C=u~oڕHR6U|/?%Cz;q2UrC.N8mDGjWJ_nPv};f-UMA$ؑGYXVn_v3O;k2"c9qܜ/oR#=Ȧi:PW@s9v4;JfLsGRCȑ-}1/ř>oS29lhgŜe)_*l]]qM,釧8v`ּ|aA ۦطJ_O ӸiJUHu;*yҟAsE*WTX.O )YaWiʶe̗Yr N6]̍ogyk̢]Te:[<>ϷKZ=#FQ̬GKI^!e6vNeܹƘ4mXeLLjNS3L ~99ճU 10f"tv+`+%0&GѬFi%ȓ tOLDQ z% !DEQ8|0jBa003SҩS'EѥKe„ EUbŐKD(BaH!<,S*Ϛ/X,,,PݻwSf4)_>/Q)SPسc`N>}5woDiiH2Z:Q+R!D'Q&d+ ' 8`>|b~^4vEpdT'sTj;{SdSbZ-;ʵ BBBJU+)! Rߛt"Bb,}׋4G~n> @b\+ k8{>Wϫ yOk0{o`7!D!+FcB!"RJ~:}QM61o7lnDsv\ "~rAskJϗU6u5ī9 `Z偻h,YtD#<Ҙ 6+& Ǐܹ?%^d?Fȵ_/ 'oʳLI֖  B!ρ9Nn&l<Ư>*]i= z&{ ܋ ' nXҝX| i5Q9ƄR1&TU~G%l8FdQ B<>_$*^< C:wE] !DK/1T*!Bh '7Ͱ"#f;=r:2w ,w^&e-N~mS &e]F#3bK"|{O!Ȼ(iّL!kcA1g.u6r&)-JdYo {r3lKb'&Nn@M]+\$)xjl I"|A\Br{"A!kc0s|#g1Ӽ]u0p^IjuA=^媥1Wc}aSm}/{:p.y9p|1$ QpCקBAJ!/%C!(X xv5pOB '-C!r=ӯpx/VmyGx5޿ DS!rBB^ #;Yz"ȦB!':+FQ6{a(ijyО{HI?~VLY-=Xgmaҁw[x@Ed4ٕWƄ((S!&E ;6k4ҋ{8j/6/ڄEB!O3ud?/vW=Lφc1To5 1Y)d%y/iW>[ߋ >u\Bf>uZ5i Ӗjdw&׮^ŋ\|(7~ :̊_sz`LU^t  >KWȵk 垥_1YYG̥]j3N\$(F(XB[ӭO/ZWMnM szeYD,+˟|_u,[YI"\Ƶ\ Ƶk׸eޖoI16e?fvn܆Ӯ-*}nfC8{D IIg7hҥ}6sHcӺ-;C@ȽD,Xv~k0H*Ϻ?5lZ=NCK:Y -;׫NO0i>i7-u1}eXƯ mIȱ-۲zwRԞJ!c,ɟqyfl~%0^gv-̮M/4[~}\8}UFu{~536!nC3g8 JerU䵭r}>פS8l6y2'gHtMxLoڇMWfރN[eEJU+hӬ&emOkZD +7u ˿|OIiR1`p Ej%ҬK:6ŗҦl䯭rٽ]P&Kvʴ9wժie9  !mOAplD~ꝿ';tZLzKI۬w?׹aDFxL?k.i6SUg_70xy,NS;WZr ]\g=Ϧlh; Fb|8ӺH BSQhxVgICa~{:mfHZ>掏i2w>oBs`Jt1yǝ<9˯-!8Gbs-t Ys\צ[~e#z%Q2-6vɚ[ ʤ 2ǵE{r> twnCVYzVg=;& D\Ɓ4ִC9YVЯo2pz}kt.ZB쇔isgǸžװ k9t 0RڸYK>Bg?0p5Ւ#Q3B [f?|XPexK^<̭s`2>ho wW08z:"im/F=kũ-hHWBd3H\Â) 8kf Q!PSns`K`ei:@YptK {N J:Q@Pa:vMj ZtރGtwH)t}5ÕP]eu`8ժR Tz  i<΂0T" 7aB=BOc~||c {0$$eZN0gUECJɆnW/tm!?_2yHZ:g2! 1;1uVYyS=K&ГŶ,6Y/Lm`diOC$S,qnԓO~\}9t$ątˑe{tj^GjˈlEB!D14Ǽgml/Tvuh_#}Yٱ&yCWJ< cÍ4jlrwF w/#ԀIʴ"t3 ,Va m.+s.K2hHsӶUvYuϷԮvq-fՄjoq`OHen-ys1jJHB!xx B0ym -PAGLߤf{0^I]d\ozu㽙k8C tq!޽oBW{<};pؽx2ukNXGV-̃Шԁ%R)ZdyG!_ɻatgВ!S 9xFY/@*',?=>x-Mt%,t\63~:nݷVOBz@B!\w #kR//] Bb=q¨!9Dci3`ˌ26yxSό̣ӭ^=0źT TOr9/C(-k6ҮY#Z>6,ڂ=.tdJ약fy&+;¾Tϡ~ۜ.Yz(E5ây9ʁTf԰h{[IvK :ɩ.4r@* ,[gwTl0rLSL8d8:6{=6s(_tq@gBF\(6;DTV|_D]ڭKVőrY{Vhnpr YiĞeƳҍ r O+}ʺ(qSOsMD&LcTihn^:)s\ .` M W|/Zϙ贿IND鈹b)s/)) SSSE+W^%}J}(:t++"zN5H|-^Wև/ޤ ~b>x?װK4AT!9斩}ErJAXnf:A;7oik|Byx`UN-e|Wbgǒp7æSZ G wR01 {c1/> gس6듢s)[]&:Cnqr~YvX e_ğsߡAN#XdyS2*jk%l`Ak~!^X6}Ƕ`D贄^-G ME K_ԚP͝ϪD?6#X3 -*ʶ\`m}Wu&CUI)R4p1ƼJ6W %j `tr~>غd ~W3ŐYwN^ng*h+w]"R ei7t*t.}BBn ,:&ȴ1cϪ1"Kޠ&.! هxwv0YR#˧wQ@+^/Q,7QGz !Ds…pfΛU Wg#-34{1Oҵ`SK+Qf]7kCWkR"V ǃ3?4wTf&(*;j4vKr}t7o'8Lql> |;qt6WnT֔R&VT͢U4'U_\}t(pOӞ&ꕇKB K*WogRVVgKVBq:PVN.ڇ.R}~5&^5:>*SUƟş{OH$:|#pq`G:R{iwNx_fTnݻ0li.oxc&?SG43!mgQlС:Ϧ? hU0q:QPe¨&9|uyhoMiB^K ŴP3u4l]3_?b~@r.xZLVX<6PU;Ndϝts`ur,`D9r"nCyˉOW?!(Nr(BQr Q/ \8F 7Tyyʘ=oF9>̪0ܚ~Ԫ gӘWwvm}vf@l¡yr 1KФ$u :V ħ ΕW Nѣ,?m3_ߏE~8vAgEҗ&so8iY浴lx?^V6[XMGG|r3b047*}>Ax5`4ˑ~93AO.]`}Mg =ϊ봙MmQMͬ>zsr{fB|B!Dq{"H7 (o+D7Ҫر,[6?uz+n!q1.rFOL6&s iq}_8lץ /Z5tĤT/l=% Abh0ÏC+~8/5v!wcghЪz](RS{*7䑞z (d4wmD͆ݙn7?ԷS1j}\qoW":(0% `ڣ+͜ F%bC`B!M: Sqm&ƌgxq52΃\$KZKii*jnT)vϿpPz{f۫Γor|EN`O LCG(6_ӊ1oWJ3hg=[99bB_~{i譫m/*By舻.*@N3W0|ju syJnRq-mʶi'EViWF++"(B!аaCn޼Ihh(IIIXZZRB<<<|Y̝;C ώSO;A |rdp<22< |%J/Q!A%@{;P>](QHZ!(fqwwGQBCCyΏ߆Ddd$eʔEQ8p~~~e„ EU!B`bccHM4_O2̈́x%]\-%sPY]ߥ`fV]̱@ Ř.\ 44ˣ( z( 9 R!y"A\v n]?6BR]6V%4G!BJb=u1B(;*UBQT*̔!BVN)B!B, B!B!PHB!B!BB!B!(B!B!D( mԦ IDATV2v4B!B!(TE0Ğ﷓Рu$C!B!/(.7x'%$!B!B'r@Gq%Ȓ X%B!B!D( :[ԵR$Fk,R!B! #x!` l!_F)!B!0jBМq s'! |?Hʕ(!!B!VAP0+URї!իn]B!B!D+ *K;Jk6)!B!0YԵ- !B!B!B! B!B! !B!BQ($!B!BB!A!B!B B!B!PHBQljt1B!xHBd 叮u#cQYCԭ_mQL$1ۋ Ϥ= j×s<xa7KD!BB Bn7ѻgo?O%k:;M6c3^wVZY9CwnGy1vP?+^/Q ˠd/YzMxQN3)O*epppS9cxu&u&.!$m^u3̪٭+:rkڂ9`TGDp ;K!B<7L de)abҥ`b[% ._cD;b5qckTl3u;[z *^<ϼbМ^TZC v._eT"yMRew<Za4rk*?xrQeU\#FR9f]9Ϛ1\ҍnB!&&UCiܤ cYn&ޔ5|yl"CAֱr߂jgC f#tyg!)/8 W0 {#_oAfdej"7ѿhܽP,ocEߜ)Ԙ)f[|Oߏ\2[0]>:?<7s0ֈ> 3?488T}D/gˆ.xZt9g|ׄrNN8yt`Q#=nZ̍Zʪ,'r4ߚN[˅s|ZK;7hmFo8MR]Y]Y|~Y%_TV# 4|#p#M\U2o9mSgӾt |2DCRs`$B! B(95=;NcQ nD.Bޓi[&[538W_}7+8yGEYgbLeC?Ť &$qyNW '-kѼ9=8gMͬ>zsr{f(v'{yo6.B{:oL>F^i;-Gau-l}Gtꠝq ,Kfhc9Nk"ٔ3>_?hT` w`Ǧb5v7nbעT4Zʺ,ouDpt$'70c`#JPs9kۉ!JVZOR,˒uY{%3#F1̭Y}G.=+Oc^ r1k.>O =oF9>̪0]C5cyV|؆\͜hj[]B!D!LRI} Oa&B sap6M8).y|/cQ}Sq h_f*L0&#DzrN ~&YCL fqhtgc2kR%mv ѕfNbo-|_x:S,cY9m;q+6C*xkT(6^jIl_mz4 wR4fS?[kOC6TٸSQc7領hќm) *;^jB$|+ϘѠUu2KyR{1t:Zs)簃gSC6.Xw0fh1_4·vpWXrō<2!2|~Yl3r~\ر,[6?3P2vZy7WfەsB!r‘ίРQ3^!=9|s U'N`O LCG(6_ӊ1oWJ3hF0qv_#9ib6KS 4;͛3߸Dev?Ebɸ?cL0UPF\ ^6R:><ކyQ0!z,U:рSeu]Ϯlgh oix$$s_Kgk7͐%B$dH bMkԈ֮U{UvUEQ{S&TJ#C"G77Uy's6+&&Cm[(U u ·gPѯ#qԨޖic_6@ YCnLX'HXo k8SiJd=$gYăz@AiڔFv A~c'Eg%gfV-2ӢDiP(PZc-q/N-AOTbʭRFf|&K&rA:9Ϋ*J u֡v7I G6:p͜Eaz ]|$ 8 O\*:6K#س>LחҸlsJmxDmKLx\XY*dud2GS+#1ހ `]/˧ ٧h#6ddm:1ʄ rib}BXaB&Vrq ,]QrIÑM)+ l>Ӕ6VçwïJWښŽ v̫$]֐L^mvңD.ҎJSN3:tlJY4G DJ\S:O 1 @5JCT0}Ɍٷw;+PrYZT/˳!6ǃ >vd=Fѓc)Po?ϒUG8s/v̝1n;S gч~rv|V`^V%Xy5GvF3˥A{$ɺV^ =9g㪥s5$?ID!#SIlR^_/9 ž23:Ɣ)ÚG\H풌}EoF94[vŪ4 x1`$;P~_Ǹ3n#JO;z`8ݿq6^n.v2,]LخFí,Yj8 O2S2Q:/&c!5>ɜY:ѭIyU:Qi2+ώ,]?_{eE^=t{0eWۋMF遀AM -z2u!lq5&?cD$8~?Fzt}bK s-}Y>o ?5NŢ~+'ӣyO6 7 ,eƽQNM !G'!NeiЋ[qU甁Io@}yݚM)$ql\gڴ+e=a_ե}^(o aSMv\?-J7fr>/P6eT,Cy{V?ӑr3|=qyQ\RpŬCW?ΧS.QcBTʇn S(I~o_B.~bv*`M"⛰@&C͋wm4ť i Ww !?5m{'R9|֘+E<)8T%MyvSi Q3y:a+1Ƞ/VB7ϝs ܋{Kghо9|2nsew6(Gaީ'1o@  .^rne{gzZb`^赣J w b362Af=2Mۧ}H}ݰ͢Nvna[ ~E ;gC{{Wᓈ釯}E<ّrq\ GEL,gWYӧFPT*Q(/lG!$$-Z/][7L kT; kgP )sm%abLɂm )˻;M|E"¯r8s 7m;OLL O2e ... 'BF?Q!b KGiw~3^%;l۱p*N3숟)/.e|?;ٓrqTԗiYj.wxʁ-vd+WJ7bذN:f}>m#b`x̮Z3ܻ2xM n/M@Xyg6='4"u(ߣIIn_5rb6XԦ1bO.dsFN=RPZ&)hyً6| U!6!)aI7.7]?3 [; M.8\H 쳁}R75$pmb `A|`[^4`y, m ŌZZDwU;|S@ x'1AGÝ`VRQlXzX:ErwxTS~|\ME*oS˕=l,\ڷ,N>V:-)l-k8vw(LyNy=G̈́P&+a#ĶHJ qۯ uݵ<8;NG@䡉tb9G鳁U[fs$%]ƱK]_@ɓ.pwuo8 35 rkOYZ|300ѯnMdIϚтnu a!kyp{2%IL~LėhN>]iP>~d˚TI4$j%܂[R8+A:a̓juH;n)w-G =v^"lp3.G~Z3SH80vh˂f-J0$$@Y | wB kX8a l8#L)eY /8- eųěXgϏ92Bi֙Eb"zW/Q ,ntåJO&OC5 ¥W B٧qKH1WbTK]H6 ٘WQrC@< ~mKҺI!xz-9#4o돭  PN 3,^v'FV*dCAuͪ||Aa/滕zSB<0xn45 }L٥oqL nIm7x3q^_px,Ə >/%k} w1 !9N69L q ^w$X+)I dAvrM,&sܬ;HDmLYhU!qHq"\;b Z6M97?ƫ>w%:JBDrj~ǀ 1A{4wkK<[r"hxKJNK ]3LgH Ϫ+ffY@ I< dpp,Rn+#x{'?WoE=$0(^L 1.\i0>$ UT>i 3D@LIʷ+ OG7}t?QcF2Gk6ČbH@ϓ[h%$M4w< .Jxܿ:]g|;JI[wxPjH&xܽu àQ߲dhf,fpI7oOu>kgD>zSߎD $>AI[I\n@ WȝI]O s':sh(~S|E(;#Kѻ Ж_yhF7jWo3цk'S,r\pq)_n"ϯa|j #&^96umkK䓿mV1\~EҒ*(wzwnxìC IDAT ϥ7)IHԐ,.sI;Ox`=8Rg~uEw<ߕPѨ$6qA͜/Wqz5Fˠ_7S4Qo+Ȯ}¹rxCJׇlD^Uf3k \aGYb|)>}7rW%\@ WDɟY>scyefuqmʊB}o₋{4pz w̢G /Nڃ X]*4ƚW_xTlHf _~"ْI0u]na$>\U~\C"G7vkIif=Z:/î ݏ.iT{&`/]Oo)L Z5w/*а@f~;o[!>Vݥ0}GXR:\(Y&5PHeCըY)/gu)JALI$Z6~3$רt)-X/NQ\|-cP9|*Q'%M4י%Sc2}&Fr#|1ãt@V+at7y%\yZ Xc2۞G[:5-&E;1nZ=oQib^(ęBA&A#{" yjܖ%.9ɍ)~ZwufY+܎q3{z[2$xm>;lBi+Qk3W@2a ZR4)KZ b~t>Vĥy-q FrMl{n gӣvЪQS (L'~RiΥ;~-X}%q/\;tu7C]ÔE_vp"c H j~3[VMig7r %$}^r+g @aOʮ dRC!Rj16V Mډ3'Hz Ytt"D0&T IpP(\Ҭ~ԍfq :xs8¹28i:]L^%_æ՗_"yt!C6|C}//J~SV&Ǚn" %dǞԴ9$S)ɦUnZo.H'_O3#\/ǸR>{TL}.!oGov2JPfSm]KKL&dֻ$ H&9ό)/hZ铹zƒ,gH%;VfũTL@|:dmKz|{1w#?m7]:'JYʖ8˞|WLBd_rv|!ԂZW@ JD)2 >H&hهyhׇIWwq\W}SޱW佂JxC \}) fIWrXӀa]Ka5VS^{2P!?1O 005h&,R%hbl|d|kjdA) 5i#H3՞', bu>6N4Z{ 3ٸ+] U cmŊ+W_)weq^=N/ rt$getUS]  $UI$$ɀxe=ND~%S,<4g$|ɘ=7s2n)x $%#Ed+x}<1 ]Z@ 2EC(`'%l~dXY[*Pw4IC켪Tw2{˫{H=ϖQXăC%$tjRQGgݟtκaD5ˏɟa4M'sbGxStaMJkTJ$l|̡ۖ-SKjR!۞ld}&+QZ++`B=RR%2U/*ϊ=oo.b)-k<6C׃.?<復wd"\2!3N烎4'}fbVf^{l)jC!#I>Cmc͑$~CHȺD_Ogϧ JMa[-#(q(ۓ;B9u? J@ A&Iw]?dEl>~`c#*Cd(PK[ <~t5Ç :%p_;͏cvX:b(Ufn$m2g>]qҽ>J*jL>(JSgt74e(S LiGr"7ƫ6/ڳ2~ɘ}/IG.h|3Pb^f=ؼa'loc1e/6A3°=$6~ej4ӥLxhT@<@ ύTh? װy)EK>ţ0_™bDx֭,!glAu)XĢ(o0%ER45G[zweסtזjPcjڵ۹Aצ]ԟiRt|/eơm0;w44.^(A%c n=z~# ~=7fMA<=az{PQP<3מg[1/1Po5_Eg= 8E>9̉' ͬ$2^qz""= S줇"5~13ǀRs˲X;\ׄͮq]4Z&g]L>?m;ǮXX3.Fw+_3 T(d P"tX}Ge۽G1hP@2V^)25|bZUz5mWki )цkѾg&w7/L@jZyq?Vp'8tT|4@ AELBcJ͞r[ AbV t Ttӹ@  ÈI@ M >Z"@  @ @ $@ @ ALB:]n+!@ 1 nstۺ$ _S3"GҒ z&FV @ I ,OǏ\&!p'Zsh(~:S,r\pq)_n"\F m>tc(?4>VD47Kvj jI*9,$[u @ Py4S&eB꿱7 KJ|Ui+H,񸞸g8~ %a &1UQ?+t%)$k0xqJZɚ Ӡ܍ؠDJΣܒWPc윯YOL!~:+IH{f:ؾ): aZ]@ $G_ǰt,JJQTabCB.ٙMs`j:O۠*xM'}[ץjV ]FqfѣqqxAl>OW WeJڕ&dTؐRտ%:D#ߝ~nˠ_ot7y%\yZ)}25WfVwߦx!/..._4A&eXoRьQ!X5 Aϣ}iԚ"^T-憥aHQkTc: M\,j Ѩt.A. &"q,Fb7i4w :ܕ1P|%=CGТ/z.#CmIoPGFK}LYIW1>Pʓ&pa3ˎ4/@ *'D?[X}&?6eniո-K]XrS4 Ʉ-hI˦,uj28aj@ǝuݩq c|ɞA-zof˪)4oڢi$gM:m%"1mfV*@?:f uM؃׵hnaPi\OĀ ޻=[E~WeVU&ۻ:n\cQtǽpFNN?PR浠zI,ݚMfp6t$%p{`^ g۰/B8!;Oό_ 䋜8~: 6ѿ?&1.EɠGֲq2ӼLS,k\$I)IkE!Oeᙔvؓ_, c!'S:/6=Y$sn|\?%x 쎳̓"T)!?3=$@ *rg/q?T#CaOʮ dRC!HO4fۧn=0ЍkAIO~6X]ݒ\9?WJGr}VAߴ_Ҙ7?3+ZLV3M\=5 a@zm/b_u:_}b}z!Ru: =9`ZҴ.!V֟2} |=|-PR2ھ.r}AtO@ A++!'{Ɇ-0g}N@/_y7Ds4a X:/A~c#Vk0k)l =Z OmD+#SNT*4'&iAffdCǴ8) ^A% Q $UdSev{|xBX[9_"e bm& |Z4O$lPIԈMW:E212iRU(xo?,Dp}p*['%N\R>!>[Sb튷cQXc-q/.}j}4鞲GiJd0ióaW[pph\H7KQyVh ~}w!0~KOi)^k%$tj^8YdP\=`hLn2iБkk Ff^hУu:#/6}.?<~m:3Y}A@  :^U"FK*ʫ1=tF4*MP֡,Yu3bl~Cs={sUKq;kH~BF0HfߌO]/s`c7{mR^_/9 ž23:Ɣ)ÚG\T 0{`+^-~Q<\6Hؘ7SGےoꗌM@!t;uEPeP3yٲ㳚)9&+Ӭ:Rs}=hֆy)㊑8dxy;Jl ͫ03|úu RmCU=>% µ)sbxi#qYQ&s=d|Y&we@5?of ϗXXSs_-h8q)'ӌ:2D8v[9Kl+Bea/ue+|1Ŝ rP|Fc+@ 2 .^rne{gzɿ!.ac[4~fsC'\ 2KN)h֨?!oՃ{1Xr&TO0뛦#69r29ӧFPT*Q(/lG!$$-Z=dzvBl\!%]2Dӡ*U^>Lx+KWpfA ;} mJ>n)W;Ղ IDATɄ-MO `^|9j̒>=X|̗%#1$F+qF,NoDL[nH-GlC'p3J)QnKdG#. t0!˔o_%uTw?eSe4p̤)_Qx~C5hnft/K^sas=@ +ӥxPZ]ZS*ϮQ'%ؔc݌.u@.Xf&V|eiNF̽H9D;xr;49u?j5&) &ce|T~,,}]lѦ #@'{5\#oTיTo!,GAU'9#es`J@ i7ڟ}:PA<d#J{o/*}~f'3֧&* {d0M !::ޙy-ւ7mTÆX  l_LB@ a$DTO91QoCiD~7/r311?O:n̴-Vϧؓ 3 aGEnSĸ}L&}Q{ly(/]cQE7z#1 #>L1V îGȔK~Εn]T="M9XN $5#ɨfr9nQ=ɏ ]ѧ+ ϟG2Htn@8P|Nv>11|t YVA_ЫL{﹜շ$ުXq%FXSo8\hĶHJ qۯ uݵ<8;NGOǦ$}*J7ņMp}l̎+|h;|,_m `W1a#F1iM1} |8֞P^tkÕ 3`57-K+esLNTB 'I*céb QvϳS4sk߲2*#5d@z5g_xF"l\zfڬk^ʓ5 tr;:QLKu6yKjجl>j(:0dFj;k.䇟rf,ZZ糦}Pg+j̡YsD>y/%%to&;6%3geLA+໖-9mv.BrȬ#=5_ˑkqȠr{gy+Z`%UffQ=Gni62“DreU=RR\b0m^DD2- AwfCl J`E; rǮCDtg#@MG{?:k"Id.ڒnf.f`T@rD̿kU -ޮ}W%!c~{qP~{d|*u zhòxn >S΂;&8CNU![z5*N`-pc[>4&<W< {TY1yỊuZӮx[;D\i?gjLÓ+/:y2[*ŌޤKh➠, uZMJKTi/O;nWQ*  kNPݥmPĆ뜍fJ8uū5Eҭ9s3bx:نd&b^Zu蚦=+0q:``j35+).  9?n_zp޼3_ǜl@+Uw=ڴb|EE6+!4uzqk ?c<ʧc|M2ȀVF{Wdӕskuwn|F\'8õGIY 'EJΣR֚{|Cr]7rTg[Wc&[̔Og{}ֻ/e- ,߄)q$:`Q&}Ȗ5)0hIJsQMc\#xEIƵyW*;*P<ȱ(pV.r |GFRic5`IH:!_Nr5}^{.G8s> ;JlBa \* a*nJ}'ҳy r1jTQ6A.k^_GS ,ts|~&kԠFz_IB3' ;,㟻#tE{Ƃ1b1MScbؕǕQqu?ϓ'3;wvgvvVTҐBĎךJ]Kk:c>w&d^F3u&wz7m۸@R .dנRzd_dj)`~w68ٓ[X86Ð4[c $F%6PWy  9&={ɱ$R{"dꪓ4f}cj;{a-&6si 8$MԹ>e Zog^Xc Gxu'i 36Ɗqy|$kku!=56aU0>-=EzDJ gCXb8al|%{%N$i+Ѿs p MpGz;GǙTy;7#P-)RD(󍹵;נF򔰐b_. ԧMseؽמ/xW<\cY7\qʗ ry|I,r2ny([8g0xeJ[7ef̺LS1%xjaHץwp%AHWyFG#<za D٘qH}}P,SS먓;2S)sd:<Ƕ|F͟IskHSMs&t2R"c(Q;Qi~C^fGflgzGٙzfl4V|ɿΑ~uݰׅ7H(ߥ5: $\̺;?~[>ѯ/>U+^ o/ڠ2?-}P˄BJ#r]-;=(TeB4 qZ e,_ބh1+nlli^bej4q*@΋˗x@D|'t;3OC`شO,m>id!lOx_Wr虺wl 0a O=c Xrǫ1]dy?gɾxj oR&]֥e]*U| Lҝ3aqBR##M3I;2q7bOΠWx9bxd9,?rX&]Xv߳an_ϋY}:Ob݊ˍ`񤶔elȮTR4 $H9ѽ.w=}3dYc< Qzzvu>  ie{b`:G$V/1j%+f5C>ba,ݙڥy~ G WlĒLgެ>Rq @>r&uy{O@ j峒25x5mSlhH afcS?L%v׆f~1wVōy5BFyIPZЁ+kC= h{#P 2+zUYWx1]6H#~@17YѭEFH@qczwy eotDX8*{!*c[X\tYS:tW%lJu !D6+zxkV^nEN!03NBd3Os#:Եtv&4˅&[8Sp`%էYxk&ۢ( ~JyZ8K}r8E>`};D"PI+Acu_2^'h-|GFPKKF~ŀcl]P|k_j;i? v6`k*AfWW2ok%ČgB"z͒,4!}R3jH0k֟7zaōg2( ӸT?sXjMT9g1ݧȮ/6LS<mҠqsֳZ߾0`|%t_ϥ-Hͷ4%l449?/Mɚ؎*}簡ʞ"sܚaI1NDt?A꤯o2cUd)m-Uw6'Ӫ:{7_ͱ~$h>';EfeZ5M L)Ѵ=^&QjvE=le>޷mȆl!kgi;Gm/\goP>elxivfZW܋tUކŋ!x4NL k@GylxtSci|3Ho[0mS{ojJ@+]̓~giQt_?mŢeÙ9%~^n%vxzc#f.%p~y)E\)d)ue؊)8 %`VoOE6uYpl~coZ8.XyԨibpB=g& 6{-µ#?b=7yi̊(KuvViXhE-6-ia}\s:'kxrcE!18Ҧ6Z>T}*y~x֔d.A^F>~DK.URnh88g7/i͐~)|; ϲxgw@y a9^Nإ5ǿXF?J7Yygt1\_sv0 3IƎM(X.AAA#ňD'NHv{nN Qrxl;&Fb럟!\[;Xw>p) .qqq?{֬Y,WU׈-Sj;vLv?V\ŴR!%7ؤ\ɔ]V W &P' '_- 6Pon%1:3\~! &.4=J P~#CƓ'QuǸr1P*tkΛSLnK 9@QmёRra O16d6D@@#GI]I}IdTy_LoK CA^R9 V&,]G(k(yz5KX5a7bG]_ۼ}ҖeD>xnkc6Ltc ض4m[WKn ,):/>RSWdU'3D/x*ϨTT"DF+Hx|spE|$=-W8wIy\C.RP1H=09 `WZR4" 5iCK\@${@s\(B)iDJL9Iee/o!Nȵ,qҭu3z(ygcmAiG2Xޠx ,@ųqW9j9{~q ջ7K'|"h至 Ow)rETPrY*5N eZ[vpǩr]Ixob@*Kٱ5u$ի0YJwdQ슔 z&i݄!)vз8ξq/F徿Ɲk쌳W+D8 {{{-a:q燆W"=?nEs1Q^Ƃ~)"Ak:yc=ʢZ6#әr$R#6s~vE~wppM`k$3MG_gxi@ݐ:ĢRFT;<\ncY*К'i]֝N3}_Hg9ԜN{y4UJ<$)r =|kWwNs+: R*2.^U ~jG3X2#Zj6KѪ%C H^$9ҧz骟Pų }ue"9x Fe2/]ԡSDm}ٳ(tM݉]CYt29n۸_?W3US fͥy4hbP2S<żo >wݲX9$^`S}m_{f]5j)Wfv.f?΍]+܆y@2Vm:-Gd[f0"%1Gzu\lf/r~zSK `Δ}c5UHEv^|Bߦ}>V;ǾH6uJ%J~e'ܙʭ3nt'ʚ=`I^7uU/xtfo K*DT%G2ֈU\eq7r5/q//C(;S;E~0AZ }G1Ii,4EĔC9Eo+bb}X|a)! -T[BD|7s(5%rpV΄6X'B[QM*ASZ3ͺ ?؋uۿƛp-quEuק"=CXp/fJc{VJޮY} [ &cIڮHu}Ll)n1".IUt""2fTJj&dA'Yczk꺻kn RÊ;;8.k>eHb) *YSc!vOULҎ-tbD&%)ԱLbĦwvBC0qy+&ĿW z^;37QzuU4`SKrN^=^I( &)&;%Wm鴔'ע ucW:v-|tv}A>vDUZjyI3$h%'n4-?Y6,GEW4U/g4LK>5Ti8~=&1mB*ĝf͗B 1w*E$Fqvq}0`H;DeX5h̅t2]:P}l:}ǬDrEz~1p}F.FN@ZA.~=9wxrJ,J,(?v)_xԵ4EߙumBe},Ȇ2@L& } lt¶\5P13bqb䭁wl g;0dzg[9!;Jɶ/=O.Ԣ1 jZoV)|31eO=tkk;7`,AdFQҸKIz̝89 w_n(;S>FbVu.K3~>^z4L E9F5 nyS\z̼*R,S=1_ƚ{l^-hN䥣 Fa3F<_Glh?t'U mG)ʷb 3n&iV_D^̄A/Zdllz//I,R)/8K^t/oY\uL$'*",*M>j1w@BHĄ$JlxeۦJit k=\IڿhjKg+FlR™zwGꢌ24A e4 *Z[ԡ0b3kT s7.yQ1(_`wssb ~ E:b$ۊP<3ܩ7":׍b_FʶS4V1\ |N%?Ρ$kL!^p)xZ)W~=J:ݦ\ IeyQ\޿JĪwd寓f-BٮS/vb%[mhT Ys*ī^Li[m}uep?_ զ9VϦT]eՕNjߑ.%S14K7_ zc_ =ͺ/6u [g]]fkOqm;{I+VOzmegA-[wMz.ׯbs-}BZUjC@\8tQ% Ɯ\N7 \I7G@ORis;beAq+1\q+ӜkUqBOmJ/+1 ԭ-nmmδha4O57({T-+~PJ^;~!YMF|炲%wΝ𶕌>?cXOؙ;kU;s#:a֌CP6a7[S!V;ٽh&ۢ8 iߟz_94OZtJN\\45!)ޟd^W$zeB"đu#=Qz|h:5s0?~֭dg]X"#er֙9O VTVd7zq _c_NtZӦ mB)BJt*գgꗁ[RESj>@¦GġC )-U%ԈM>5fR{i Vu{RN{|1`W.I:E߭>U<ٳ_3x^pn<`N<ChVүn2>:E̅ZDHE9B!WjKZi.'m֔=Ņh-.R%5WӰMmƦ=j#'hUZ $U۽>OdI-(Gu#0ťiOH Nuu~wN\bi%+^54/9#uSulҭS2؉AZ1fx.NRuwet]-VԵzr_gZ gB?cV-T'UDqT76bKfX u9o?tb0lNv@C F07,s~uI،[q.̙ςc>_̕67hLht5\QeFbE1b(b߅Gb+1f4!}lVN Lueʘ̜CGXLظ烾㫱IؗkA9})24"v֘ġ- $%{lD*[hXK:DR͚:gjI?h(vc̎nDE[hp|N0w?ljԒ.%p~sRőbNuj/:ѠAOMsԄFiXV\B|ܨH~|5swz;RMH"ppz3" %H;{_q| P\eGb'X^ P7Ԃ=ǂ80^᥍5KP+!uVP4CV,@>}·~@fBM씖?Ȍ"1DhbR8v@dKReH"iaXZXL=l;ITS^eӡXJo}fATƈ1Em5D[SmCkDOBҵ|끙/3O2KPWdEvq,?`]y;ow've~g@Sv\~_XCƬjȘ,YjMwPo{;v^`u15kfeO ݺ݉n!"`YJb v5OpM(qrBTc:]iӄFDi:MfHi\>>߻T 䏠ʸFiB4E'4C/<>4 "lj|}K`QF~8H¯s +giօK 1*QJ7@`~_Nx͛Uƴ̵8{_%ҏ4)XN^R8xp+x7ԥ1cWףCl\]˸Iٱ=NzvHlc_H%҂*%Qɀo3PI tlȶNz%D3=;< c3VԝK-S~H͕Leŀy}2v?V\Ŵ .O?;%1`a:C4!21CD~1r>v_h߬s7wKy)$J;Ts7<ztxz{FSA>rci9AȾ,/ތb//0iBiesp?Lx ;µޯ$cPaosCұ Z,˃ǘ2~ FRdI/XV+,6̬Y֚IP=έXXB"8_&G>s@(S (xF\2ةx !!DU1<I* ͣXOJf䰊[|)}FpkJs(?_2v0\%qgd$iXx"ծvCXF& Þ24TYٙcprvFIOk_LBqg۸(b@i^+u61Al]NmJ*n=dӎk,0r@׃C)M z64[wEbDoJ@o:,WJ':,$@BKJۙ"mh纎'3*Ol z+"b1A{{>Q1 6By)bnmZ?)W%#y ,*kw)Z{ˬ7nԭ*'Z4OUijaS9囊"iݺ\݊-F&[;h IDAT- iqj7{*FC`.ĖUA{aJ ?СO26!!!Styݻw h-ObW ܹr#GOq1žaqШNSiU:8n=ГlQyf}92?]MI<yq4h[>8|+QԩkOăGaG655ǭV-< ")ߛvp>-Фut_ɒLӾ)q x J\0?5H@bYNve h4?om8}kj? 3j2hǕh)ZBIIbӪlcf4tI&Y?ͿWPy7C Lw +.ՋdSB{=6!:G L逗\o7ۦӟ~eunGu|m,;NH<7QO]ySԧM< "(DDafOJ[f̉8TOdNEy2 ,Nqn &в)Ts"IN^ 8ћjy{LoS7sesq(MWC g9/Bc8dnҲyQ⹉tx&cyӇve#*}֜1fofxn([H7Ҷ&C?nk}UDÐ> ^\`M?iANۤoT/u2)Zq|jev}j$;5$_F,pqYڳ^oԩSXXX Zt*66ZuO-rgl_/,AAA#o/o'NHv{nN1&*d!ܹDqa|KSFۿelGmC@>A-1$jWZͼMEYY: 63Q-kvMl2I+e 8 5k"TtJ^?/,?5%;H^~Fc% P.5-Ez5-*-ᣌ%pa0\@@Ec[3#,'Oσ *VRت<'_- 6Pon;>}>r_ws2C{$eQ*tk6Ln"0ɵ;la =bA/~8=Sdt=~>ɝE6s) .bl*dm@ɕ TEe~8ͷIx/i<~R__xvC0C@@@@@@@@@@@@@@aIU<,#С *Yb">B/ҳImZGW=t" P0$Ȗctr+<~J~=3?@|癊!$4' Q cc%ׯc(H|P8ه-hW*o@!W75J]P!Oxy'NcSb8:J0LW@@@@@BgsYCPgcY">:dBQVg枋G~e_A> h_>`n\:IĨ+!$X;ڢA\1,S{q'b_ aB@@@@@ P"BkTfЮzU~[MR ^>p e!U|VI\}_ /51O@3Mi7qog_[^Jyic?6E9PC.Zn\ؘ2ĸXbbbxTy%SaU&T[-`jtCA|}* bD_@\!ndAiG>:dBL[YfVt{$k>J h_t`D.q|{)'E[~;!µQ]$lmc<^7owǼsl c ϨGF=k:u4:vf9d|$V'rOB[&N4vH'yt1}pzx>gg +J Ԏzak>6x[¦~S!O)&"(2pShp~gн;RM  q1%rͻJb{ŭrFSIjB /y%*F)wKSqDđdZ Gǝ ԩK\S 4 [u~wseGdPDqH5<5bt̤jL'yA;/[BTh% hAv%]z.7n}> dtf!8Zȶ-`R7,Eo2Jy,\_:R`ׁb3eanSc]gs!,:< zCԉ*2}L3\*R`D6×_Ja;cWy(_AۊʸÌn1yE>"Kﳺw {aƾ@ʕxOscaW! 8:d3YeSE|JG/'3vQޮXV&qr~}/“҅*-=3mߜd}TB_vr>,̝ܪ?Fwك\׵ͥL^|g6PGo j̡d z!5xGzM[6p>C䁇$,SWL^,Q^lj k 5]ĩF5رn%Ҭ-"@sCysJ%V%1P$A/:2-( ៱$^Io!!iݺ\݊-F&[;-KdD/$$pJ.6{ѠAͅIl(^7n=FT5i\_ ooghݼ {q/aڬU K%ǦgfXT>lvCp<k6nz3BU[ҮY G'qǦrSZ7h9-6-k8?˦<#לf(,^vzN3Gkow#쟽Q[}҇֍FׂmGVt4Ğ +x?_Hѳf2B/+8Jw}i;*Wvah#1Љ!;3.֝[Q}k9 O_v&$2mkl_Keݖܑ&>c$)2ٻ3h05/ vTЕz^vҎ2\RB\wɉqwmKTH8Ѣ}gTjV˸BAIop{:IgݤTlI<&`2jO]¼n7!dĪீ,'fv0p`L.Ʒ= Qg_]Wk΢O*h'.s MGDS!9ڵ%~E L҉~+b].w;Fdל/sBH]V>Γs ii& n䥥2˭fiOFLi֕,s ~y.ZɁCRY-b MW]O/aLOgEW9}|D΀ G.q<љ΁g2J%s>x `r 2]}+5w?<6~ZͬqsoX'4dvGXrgހ F}_· ]W4n[+l)1g*ORطӽC,3϶=&Y\oAOqY%;?!%D(;8uLZUU|eR0g. „QB3FtM49nuC\ h[V06M+T3 ؽSKz\:Rnx)jgHK ,ԁ{1<[Pʰ&Zt"ۻ弴TUFdmy.~o}DV-s=xUs>ThRW[<+urk@jr{"Zws+  d=+>GԧX,Fy>M!=Omgyv'>]uӲJf[ɚç_67K[]'sqjC:UCs4K))׬QwG"Qgw2h SPb887E U@RTsԈDyʈ!Tdj͜N}Xc-qs{{py3'ۻ5yi s VM{VέW&np3%{g>A4* D¼wAޙ_&28P&5'rN6/m+!"!r4(}y4)T \ҲɀVAѠh[y u_v5.Oך pgb/vrW⮐3a&rZ*)kL 7+7PfpSi<7ĠOx4V,TFLܺr5T&+7bzOKҁ 5FX0u6{r}X^[*@k=coA`Pz?zFzoo!.3> 8bf/-/DJ6LʸK QqQ⌅0j≹p 5v 1:L/ԮRx[ݲ,n /Aڄ^V^p ޝq:Qᜰ1RN bUzM=H}ljW?zUr+ۻ弴\Uea~S 倵ɵW.r7Ad!t ;$w/2r5,wtO-FE WI\QAF7~ 7Հ;Iу%ZTa ɋ /8rm”v?&1,3=4w\Sbb"ԲJ IGuLFc~HEV}9ߧKfQ}.8F-Bjjo$-44bޥPRpGw{ךJ1sx' tuOe,Ft㌫Sϲ)%PŒn{bZr\0?͠r 烇\LF Ki1vt/eHt挝\fgyLQ*MѬI фf͚Bg4Xuĥ?1dpuW87N÷xI4|[Lf=YI}Ll k2WmJ((ei3a7w-paiH~[њfof꜏kc}[ԠL1o4†[z3h8;EoÏqHy8Eݳf ?/h?>cٗxYٙP7=^e*Qre*/n̪2ɼw3#9O,J ~0) d!O0QnUjٷ Ԗv݇0~\Y\{^?~˸07LIޜ+o"ɤtN^/ ݞZ @Mtx;juaǪWձvx/8A4 }&dHQߢ 1_o1n9ҞEPoJ[]M{] G=V&4-ڑqSR^6ŁrVgVChA .fuc/Jg]wshexPM6VoK=-dz] GVŋW4J؞Y'_]zM] fҼacw&b2ƳuH(EkXxm Z̺rރfNe`)3 GN[c7m) b IDAT&9 0&xT.+ra\NBD$0 O,@c 6n.;뾕Sf$pZ$W;q%g$gN~hZ˓l% G,j|Dre>{{t6?GϏ)_DPXDŽլ߄aY"+PjKZ' Ш1ʐcEG'{ܓIZr 0b8?Óu@^ΠH8,ݐ$ˢ{Y 讱[5[ g|t Xݑ>3^ЕtѯRfG/OroۨB~_0S(q*K{QNcoiO LteViwWꇙAxp{8#r@9_]'3U4\9N!Gs^"֤p+\@S=GU:;) %:S<<슿?^x$\Bj)- 5kR-أmJx8I{ \b&e.,e,:-LLF6eҵ`A:Ay>̢ڛf ɮ c~K 4rd2d2tNkoGfu0G @O0Yð_!rWu{ʽ ҊfK x/WP"=*g{\q  2NQcď;RݯL \2Lc&'>k7>k4 h0 & sAMm;CeoѨk9 Fx+ n?Ðr4+N{nJ5XqnzL=#w-:$ \ 9zۺtn&'УJ3T@{Y\!+_g.% CL)HCA;0>r}y;LQIpoI׺Nl>r ]' ucRa=>j4ECӥ)(Ug  pڏ:|-&ԑHBBtHINJ&Uk4Y~q@& w*/aׂ:R)e##W"xi47JYPͯ!?Đ[9S&u;؉l55w8_RMĒ1c~q҂:Lg2h^#sQ˕ۯuqLB7+ۙ?$IZ|~5w43?ϋgE}Ok3Gؾ<v-vüe2c>ޠƛpf9ЯWIw{\jx8y   qy>ߘ>H{1ffl|7 }*2w|}}qx42G/SAB>)Z8˾#i\z$ Ƿ &u)<0k^w V2\}}MwQ'݊SabW>@qh `Ĩ/M}jdÕzPʿ8 ߛX$e f4>>ʒ:>OBװ45D)C^m&.CZ%(Y3_|{frYcAyrŷCUF.d}o[z\ e ԛFĮL4|ƥ,V1k1rܵN#{CƄ]LMBG/AA!sנV.aBӃ=vϝ;,}:gT39r:o$]LDžlJ9*{jbaE%$ L{%22Gڸq#Ǐ :IJJ `ϓ&MBTĔ$쳺NkW̹k0/_nOaǓ)~_Y @  «J,BgCˡ_YyW)|!_ȃɾUxռ;!A^ܓ~C: Ax }o(h赃]:Rr4fsߵaE3q*&c=\yR]ߘ++Z7Ǻ$>ϝszEB~!;IͪlV'!?) YNQz o> ۛcn>ߵa޼=w5?.Z]rx'D ;_,^ٺ9Vc[]0-MxV/_~R,/=oh/Iȏĝ  V(A@BN+GBA;1lje!uh"#ꔻ܈TsTIܾC-Fx$!AA Į^H2vyTO܍tY@i#~8FЧS+d]#%fXӚCXI9<ѴAN-]=Oxh up{ixTφnw-t܎\ȧ6v` CZΫ$lL;x|,-FapP6ƴ30.xsh`ڊxLj3ڧA(ѩl7[֞F ݒs4b7[Ѱ ?oD~LϙB.ZYgȅb;T; #P%i??~o6%rmNSYLgOknW4Nehpz.x  %.a^c7țE2 Gb W`LO`HXW試Gg;NMMײuו.QY Zך(z|Ǐ+uUﻆ'no7=ˤvnR*c '0݇W׏,'fv0p`L.}E>^.O8)5Kh$K_~ 2'u*I1Kgp1bC][2kW{ԑz.'fxY{g9úmIݷoXRX{JMY#^5> :z1Sie Ι-n)U!hΆ{͒#EW9}|D΀ G.q<љ΁KR>o-<9gS;xs㰺 sWGAa!Ҍ8= U`ME\\mn?EJhSܹÿסtr9y̾6DfS@gJQ4r2Gg"W0$QXu:T t74qs&UH`8&A%!{xX 0a1r LK(0aԪPL <+{|("s,`ԛi.dxm8NY߰2T V @XO^^{=|OrbV]签5YV} 2d"v]UҸm}2.Y{AO[]!c]K( [EKun>.O Pccܹu037pí1aM\tgO ̖|rfc6ݒKƐKPZ݉S:&h*3=/d-!mr[od#ҫ# oeMѩlCTS o\LAqG̶׆bOٹ|? ? SX{^v?&~5Jcv)'"~}aE.Zs^s4SnbuH-qVnOPNTvv-ߐv4#n6 r1X?ON7yŒXlzOB ΉM})q5:Ų^o1m/m96-~_#Q{ :qq?y.?UtT7 B~fɸޣ٧*L.C ސ%Wls{@W}O")YE]P%[ JD(ʌ[ǭloOS/lHSYpFcvZQwsswUW'?\4WӾUa֬)Q`o7];TUX=ZAHfq:m\fr;CYJ==Is r*!}'(}* a@[mCֲeYo6m!R^BE.ۇIK.K>p7 B~'iZ4W]%\$7QY92LFkn}wHIkߠo @8lBm7өk%nv`O@r8Y&m, LhfJ[rgT =Kϩ),AۥPl 'w"ma:rc/K\}RnsB^Mx;全RU ns:r@sWGa B5+JR|zYS9j̶Igs;3ϷW)+3ߟ22o# /<$$t 4ٰ(|gAz36%se5[/Y4Ay&H\z?ZiԨtڇ?] xgFƴ6؄wZ6"x gEsWo*iٷNgRWujy%>E":4{p4o6tA:MkV$@OR8:p}^5iR$(=z-ׯcbWB7<yrib l^7 ̣˨2oLo(ׄft #x㭡Lؕ-w#ʗYy;cs>@z[;I 9eйC{Z[>S&Tֱl] [ȹt5GWE=\Nx\ ~f,L] \ӺG/ԭv]+wp(2|Lg>hKށ=+LyvɤmY|j4'68v׋Jn^ɥ˴,4VdZXUzf,'Qw;aćN!9ȝq[ϺtpP\̾]ie>곱_<}4O m̷IkXd^][CIqq6.7sǺS Zݣ#""prrB;w)11z j&*{hj-0 *]eٰ)=}Tjr}>~ 6+[A^DTT%J@$d2٣?{%22Gڸq#ǏڼLhc9{iU(EⶬfjL?KdžLؗnCY~b4{*?2BRR94iJ֏c踼xoLxw {n7)H=?ܙ sZ][AWBYuJu y =c[ۗH0mtk< mAx%JًvAA+LD]OL܎$hʖ}YTOfQi89eсoU3s[7y  6x,v#5M#1@䶐=bBAA!;zH#Zu `c"T    bBAAAB B   RAoQ"J%Je)X5%_*TDI{}IOܵXRS   U BI:LJѕuq e Fkvu/&7l͗'I,sF5Uo^zOM&L& ڳǑr>ƅ;XB}n5;ȕX>ڥĿI}9;kUqb zRn{~փF&5gOA  B~cAS2Ցn՜?.B*P&|B7PJE!ӥg{}bY ʀcT"K-wLo)MCpK!~?šUJ%JeYLg&$d B4\->^}Qf3چ4Nb{Wbu(9P^ZͦU`j-{, SY~UQ8B&33&sxf:gC܃,`q)~z/oeQ\@tOA5k>' ~BrӆLFL*. gܐ(rSQdfoޔsxKJwE tN^/ ݞZ @ϵ 2vdԾ<÷ ݑfӿESh IDATc= c0L{CMtx;juaǪWձvx/ր&fFuq w;ikSH:2  cZ{ `22xn@D͉=d_>u^Ywޣ;I'X69m&_y&5pE2S}eΟŬwdܥ`&F_0vg"OAAAlJ j3<3ѡNJoL!% !e1mIv7rLɰ.A{K3uNok &O3*~5+☰K @ZLf/aV?bQԙ0bzt/)3O8-?+8R Rb$.V Mۊf2tq*WxdQ7S02#<r( x&F+TY!#x@s[tYɼ6^-Atحƭ_t3eg|:A^g1 AA\};B^ F0b,}@S+YyVaXdDr)k2rjM 2 _OxRήc)#zTII=t {Oif(4(G`h;Ocl Pgv6N$5W& zDk_'ό.hoqⲆ#QF+Ci%h=(a_ ߯Sf]$IZ)A@CAsB踼xoLxw {nR(/m`n[]wTڞ̋6Zuś0xl^$/SOaqƾD}}:LnQ!,_ @|}Mwϼk68S0L\:Gr|8,ڏq鑀&ԥ4 WG^C/ӧ-Nۯ|WJ~S-\Oֲ|h# =gf cJg ȋ 9H>sYM ɐ{RXq ZreN_ʲSw.wOQ| 9 sm | ƍy  sנV.aBӃ=v/i;[ϯU׉>sR(lRlmIpyI7ش QQQ(QIdHYw޽DFFh]7ndyXAA^'III888<:>yҤI(x;Ƴ$(s1*,fNh;۬+lZAAAᕖoAAAAxH B   RAAAAA^ 1!   K!!AAAAx)    /ȏ4"QQyI2HM`8A+&\ā_YU Gw~L>Jc &0%`[ƃ M| 'lg|MRYZ/˨^C?.VlJ;˚/ xS^3/v(+~,p{+cz 痨p{߲d[*,/ksd\̵<Ϙt*+:k.m')y##3nHrst̸"F1- ^B 0rw{x7}g{^;]%'.:ĩds~UD{#ͪt}?oTE"e?C*WN#1ܐ&omsjS,c>!_%t)LǺ$>ϝsa8L*.n$\[{Qnm`XHiFC uʑfLkuCr5C!ѓ(((mC.1P1!mҸ@bl:og ~ɽy{j~\18Տç̑ fOp{#m7D@6xpV#VvlK۶mi6$$-u js +=/>// ~ Q3՚IpbR֜{u\sAoL GWGf3 ;_1( .c ФE}ꔵaaȊ`pu  ¤p~_>'nP~e-e\}@Cp_|kbZElYVFѯWFec>fM;@.:3fmH*3d7L)> ~3Hv( lMHPH8+3Ft,p0;|/j`Q`k`%.]DI!=WA'!.|{0qJezv m;}~`[eJPcT'HӨ3>/9[c-ɩi_7pYW>csgKt3WuuF6RS*|G:Ra^ ~@rӆg*=]{e"NAd+2  cZ{ jQd;V%{mPsbzO>WOƾ?A1ԨST\a8ߟea,;KC}a2ʞ"݌+L,2Gwoс/~7t9lmت08>ӟUE+O0l1gMejBHe 7a) '5p۾UZgP+/nAOQ FJ?/IcR^U܉9N.!>c#R;z(ecɥ6x]Rq#pPRP{^ ~ 0Jõ\M}bmF- 7r"EɅ;$JAſ$;Jw|MϹ#KB!"{Ԍwј5jmmZF٪]V{*~fBbˎ~ԍQ%<tmѦ7J1)<Ɖ|xt/ CA&ilʝ}8~5a9ˢUw9};C"lh9bo*Q+ ZόOaӡٵcMGPn3Qt?j,JԭԄ>\+@{8/J-T/9scK4(f :C5Jԣ6k3qPsY5eFACtt,,vX8X`Bsn?w@7mBX ^v+eT8nA&4.s!Ām cerf]LV9)մ6'}h2=ױg>a߹pׁ'|rFJ/䏊7M|wt{QفQ0gckD>_ I.1>5uV{՝?\ VSEynĖaOi@/㘴$W ժY4wt3ZuLD!:AϷÓ^]ͬ}Sy5 {9~;lݩkt)+1kߊgœ[` n:[~#?NNaMS8]ҩי4ީA۰R}k4߱sfMlXNWq]M#,S'ChtO3$bsQ 勱_6o$ N^.B=#7fTʂ!<G祾 z\hҷTEsH+pņZQd'#<ԥM9^!gGkEO0Ot%vC@@XdžUxx;D︋p3RH_GCx,-⵺5Ыgkʚ{pVx2aDtheTs'g9lMcFd @{I}uVFrs9B%fXdm8t(#7Mw?)mc~X2h$;N`Vauqw᫡"3R/wj|DEkI \ 7j&MW uX1a cƌa$͙INB;v"sdDnJi=@t1g?z.S<鷟k,;NciۨCR#Ү3%vKG7_၊b%Bu\!2S& RP*FSEʹ&#AX ۘ \)=GUw: ;smYLmٜZLvN8{/|!: `F ovs 1 5m&X2J”4LU)( |1ݟ?aŪܸIY|WOQ28B3ZgF2P!**N]Y^OO/+S%WbV]kAX!w,ϜXף?~JL1,0_mb)Y եU .9>omZ` ǩt)<խE ՜ YN;T6.`G.U!}<2˝5xqɾҞv6ۅWʹɽ;ޭx>鵝Σ[f+Xuǒu_9mڹ98@k㉬u-ÜYv!FO46>^*3f鴃=8{~\Dv@,n]mqW-V'BzdBbJ=Й≈֣Odx$,8XfˉG6H0fC!o}+~)(1'sqLZu.aPEx6[伾'qz 'C5K5hLi>ud$O`G pٺ)_GUAD!4 wB蹱+m MlHw捯CU68gO-I)hQE;0>_ofMZZb( xvRv".~>;/hW#R7 TWlY ?ْZ@M\Ʌ U:vA}0?PD~q4bAqRmXSH13v׺R(gqnhLK`茮4ڭyS;YQ/;.`ll+&a [Mc=(j;n毎u4)Fv,xaۢoPm=sONYk ܻs܊UAq"+Zr^B!A6 Z@_ӿ'zM}ͦ;؜Tj׏/x`<:[^O)Q̘򩇖j;3v@tpt -B/ejbD o%+|QO)Y3o׳6uY1/ӣ9WZ'v@!)M>QJPu@_ñXpi;wYv^bf%+X;>]Wayj;)iQ[8BެZY.ܹN `'An|%ȡTYqsߌqaGM:||e:Iqn"av_!WBG.%'4- o[2 F!D?ٴb>Ei/D$0Ňpn `$"0psBo'>3MBtfT9ѽQV7_f珥z]WD]$ L{A$v/B9 8{a&49ü7fH-  ;x3bldXɢc?wc3V+ܫU%':~;iW`\o 돓ƝȠDS1ctX0v<-\ɆgI~NTJ:mg4<ޭt@܏5a6p?(x uDQ˷ DϿeɆ2w"K.[Nl*<i?^CсzΘoG1k >w4y8){3xlk=Т1%dq}_ ?r2JG!2I&coR?^j.2)ʎ<*Q9"ܻwGGGEy7o֭[)R$i[W\VZثoA&^Cr!hѶZN4蹹S| f܄ׇvFc"NmOSZWr'*d{ #cz~]Oƪ1ͦÈCu<ϥg9w+PxhSxo#=;H `~x]ֲϖ];(o?r3 5Y.^ %G6vо;V֮x? G*x]×/ws|B<,MvײT̅~BtZVxݴ U]}ࣛX,%" ,#@7.qP;|AG*:=1:hXi]z8 lS9Wӹv@?]O| \}p>vLpUw޵>tfSo\R8%Q;gW78P4XC ҕkF;Pf{6^6 yҫ*{r?>Ftdbkk2gsXXUWx3n-z IDAT^jEˠ2)!"cZkN:E޼yQJ?p$mo۶m= LBM.]KʉZlj|q4V4T![4 VT^įBҥț7/*B!xYBJ3(`˵;{OZX&ݿceɐ)!666xyfC\xzzJbJ!BX& *X9:cE<(`cI*LFn2sZ>!o9EB!LRcB/Q `2"B!B!2񖔂Va60>3;~B!B!2!1GLDDQ'2<C<:ԑP*դ:U%B!B!,|ʯ-4k"ݙ7 e, ӓ@u>߅YB!B!;!Z䯙1 ѢQ {~icٽ !B!fA(h !B!}'JBaqf^kF"B!oBaQf=z䔝hT*u#B!o<1M  zM6s-<<<8|0Fz:ʕCB!BaQРA<==Ȓ%Kr䄢(o2D!BH'Bh4`0h4Ff3ɓJf !BBt:[7֖%J0B![FnEX,Jw7B!BdZ'9b3{'dغ[SZÆEp$ix`Z.&uJ8;J8m~1.3 RLGެ(G!>3w%x @PF]5M&Q_q;o6x+ wg(rNLB9pvl  3aIr{y[t !B!_ a ?ͲYO$Qt^96w2 2F#M0fĞfbOs<\Ŋ9h\k NQW-gå+WfHæL>XLxp]ͩet=7^llVt;S]B z\qpa\ i?E,b)t0BswM'Dj]ǙB!fNs$Gg?Gk:CN 3b: !l޲!@n-G7P/v~EҬc_FLq.Mn^Yr?#^8;;\g 7n Qݍ5#Cg0@}:'bqiQJ53hbһ}ozȖϻs(cdEyyfZnwj=ΣW`N4pc {]Ͽ8j¹xre71}d6:]*gB4`HT)V)֋KkIescQJQI++HT,_MQ;ۮf:c3ukvK|ԉ#sω)7f?qG̈́?˗j\Q} @f, gB!BXBJ3317l5?hI&zLAwwG "Ew/i5H4n[y֥yf}~2*Ě½]>N Ed-Y҅ZZi՚QSt'Ιs&sqn:=j0LM)jҳy@f]Hg*M̺^|`Rc ;wq?8[q0mԋc}UCe;\ !ˮɆr{7h|cG^x<}=ٌN"7eߚXsښ\ 4bj=c0B`h0'61ͷ"ٟyNДn5^N$fs|Cv2{D *4_:.mKqv(_7ҳO7\קKz٫B!BL`L Ƥ'k".֍&3ط61k*˜꠸Ä@/`fkȗ{n~VUgﻙTı{SH^*qfTy)]* թU& 8>)6WˇeɮUV@ *fn /Ц戃L79d&:0 M'(M6\{hWvt3GO<3F"R~ܝ?k^QbH}QVpA]b;A1O ⟾3&/KiK ȔѻxhX~ѓ{=mZk/Z~5-5ʑ -_ɚ3Z!OӲEDb]B깺`O?m3o1e0La2|0q'k'bK"k!XYoB!/{ږU ZUg̷{lo_"}?ɱ<=AT7ixxsQf>llˎQ$bREs9ƨD}:.GF@F/Z4f⤀ ;smYLmٜZ dTdWyӘԢ6&cV'*L;ȲSTQi=(A6ako:z.9Vz1icWD] ֞%_}* hPu1x TWB쿥aEByu>UsK`qRa611hpJ\~W(6 Ēq&ӇeǪI.܉])P' r^ocW}20;=EeLh,瓿#G┯لS%5S n7s> Slщk7! )DJDx"#y`*o-j=`Ӥl:x KY3+sdm'M=Pri;M__a$sك5r 0^xդࣽ_y3Nql ogBڕ.ۿN# qC" < ֳ5ţ1~qjN'`.wAD 11{jG{yt&o'Nh?/ dꑔH^vl6ZI CuDY:ؗ 4 V$u (*E\1s$1cV>["C@]=s-@bI8B',oU\1Qt&tDN-@g0F!hyyۦ)Wlz\q>5Y2r6x;oL7BnR̙c J 34Z4-K-_h0WcDpx ̑]_#qd )3@ؐP!:uyEQT*h=& ͫ.4|*`NuLW6jfK㸸ȗ΋7~J>u,o^ҵ(rWN,c"BdpO <~x_eF'[O y˗c{cd˝3wTv,z)hm^aSj~lB_K:[A+iR1B һsg: y0eQǿ=Ih榱tp !hŷhS8iX>c^#j~HzTuAs9w.un u='*܅Q>sjy࿜sw5UNJ5-(lq7v`v613EwbNs=-EA^GC1칎=' 6pu<_b.7>B>("][(KFjٚy|3kl^ ^ߎ[w*jC `l!&F=m??'3$ BtA' (XR?-5Ыgkʚ{pVH̜`> d񁇔61C?C,4M [x': f­?s*?q CpnD:K\(O'XˆK{gӳ*np)E.p7uS0&8l,*Hqx²dT̪`kу3z9x΅:1r'4Qvʆl6 D댨l\ȝ#˳'P'Y4 -Xx$L>P UjQeAfb/˜;.Ё PYqg,Σ[f+XuǒE+WM\;C=g4,_B!I'BSc$D>2FAyc0c4$>[='U'fL ̀ } } +/ҚL;Bi-rϹ\W8W΢zuoC^vc!$lv)W!NGC&M(i8ETu_L h2Tl2*"=ր` |!$IB!{ӛ<ڵ} f9-1SL},^&8)RT\m$@_O녕zΟadVaĹgГM\I]MOʹ$C}Wt 8`is)ܘ nـlUu BXB!cui[Z3[xF*,SJpZcilr2嗡h(܃?.g͖9ⷞ=>~(XˀE;ٳ[| RU.7!P5\SW9b <!%r19ˡ*Lee@!,B!gj7>هj:ϧFW J:k{8 .m.4kPn%<}ū=J6œ?VllJ)hh+{}p|`CȝQ5)m)5MJ5%[7Jt ~Xy)>Cexܖ!"3t !=gՉ?6h>7ͦ(]NZ]ԹHjʄqܺ "R1ܾ7 ѕ&["q;0Ͻ"nE~Y4 %=~5)](\lP0܏D&B_ǜh盯f3O3Jri:\G>#= U'pu9p!Š./#_\ةue/Yev,BSN7o^EAR(3?'i[۶mc޷U {pF8 %Eˮ;Е /5{͓^>nM;2i]ta`rd|௓{FҢzZ}>ks]bMɖa2wE5S)/q~ga.L<msq(xqo+Ӛ^o#w*5lLJ];1bCXZ!eI'B>C6M)fh)|` ;~ne3iDO? ^ؿK8)Lf]۫ 9_x?q0rw Kc5QXOsq1j mLս=NX'~4~eØXߊ}3d^iB%B!xbN/gc/>m Pz7etnR 5y'yjyb u+aijY oook6 2sױu7ߌjU;qU?;mD5oo6}}aU񡺷7U>5L~%#@>ԭ݁i+gEx{W> C,p ֟C̛ض*9⸰|4n:dpVEUւT,4ї)3[vspX)-"-֟%/MG YY|wYnnfltA5fHu2 |-}/x'L:Oq(Jw9w'0,/@l)ه.u8ueSӥT47M? 39p-E쉍ȯ.ؘn=;Q7CNWv.{vG׎mw{C Tkt9x': f­?s*T46Qͮh37m#>rKwaĹ I)4KǍ`ph۰ũR/f(GWY!L{:9Pdg;KWԍHy+7痍)hS7Y3uï܉?5uz2<8Bl&QʿgK XE-Mc0}Gcj_6Hnp;TO2%EK'2Ka;񭿄F=r/'/KU/5ۼԒ{5,ʆl6 D7!,{KAŬ ƻ=8c$8`TW0|@36TUGY&Σ[f+XuǒE+WMhfűj~)Ww]%]3FS/+`jEa-9 ךnέ|YUbʏa>8l,wc%֨A<9ְݴwe܌كਂ4og^.'W䲓MB!.d ?ͲYO$QtO%\rٵ1}ƌaW=ea)d~r]Zu]4zнvff孿Z1u Gøo Y֒GŶiBӡ{Upk5̜gإp/:3Bsw-oݎ#׳ez֯vx7{5i+~2Cf|6_|Ŀ`!$lvjt7~P(8VE@9F-*U$6A8 Y+7*24[G5鮟-ٱ1N3?‘sH8c-|>w^uvBu(՞.~f/Pgu EWR~5p[(ѭ)dz Դ6BOļp#g/d UعPZg}OΦU-B!"PR lL>ZY粄Ǥ ;d)ҵ0D"L[6غeqPَWBH_|ngsfn8]<FT6PN}Oo_ g0c6s( Q$Nؔf)=taQXp}kNcU̝88ub]btLCÜF0c o!04[|7Ml^9NOVJ|:H+4 `$a.q? ]A{]cc5%1QcXDŊ-{e~a"-fq۴s\93s4x^ϡ=n62JYɖ-[{o[h &ĹXFвnH?~O$pdP'&֏uOXۧ瞇B^ڟ6z2btd[Bv[72n,F?03mT{eV6 Nbb&WrL&3-ksӜ}ǔ2;6iv3av;NP|{wRj4X"i4?i/@farl=#:8[+ ixI*ž"7Fr>M SAԸioݚF>bcZ|JٙKSXh‰ٱ@Ȇ2TN[$xTNrXBy&U1a27.±]e2#o tϘQx_FZD!miT/!^>/Pf5X+a@JH2}gSB xæpVI}i-7;"qEʕnun?11(WS%)9c@O"(TT`J*=Bt%n\ɸڶZlJc|D6)OsuơX߿],-p7azPĨnUz4l?=L{SK/Tџl̺OU413y8t!gM=B~tN(z4g9Y{hlW(޵}]8.Ă*9wRJ"{`}t-7e>}KQ8V7uD{QV?M(sȜnc2iY7F$$ɀ!a&l>IM)b9~ m+ȁiݰ5絼8g-aPykdܹ)[(?&|tLdΧ0d`,2`-K>w54u<}zgQ$=zI z$C Ѕ>k-^㏙Yr)`4_e5;i+bWvE$x.L?Ά~4D=Y{ݶw¡`Sv_k˸}i,)\ƕIG聨:qWZ[̾`-#uÏ':` mO2Io) 85uC&%nN#"Dg_GL}0bLxs"vX%HK]|6NOþM٫hMC[*-fSx5~~ۺ䬂_"4]wbݦL4wмol>eMmQKQ H^Eݦ͌/L_d.LD#1TjH ,GI;UczT钮sɲ0>Oڢ430BBo-ᣖ!i 0'+S@ *?* Gt[wid<5gj@o=2@]u]. r5v*97Eʈc*wc^Z-E2<2ڧiN+;gc#\0 l>1m^yvGrv~@{4hMmldqro9{W1U_XQqB_e;ټ,Qfk@nm|ةh\=Ė{_BMK{G5\CA v!j;' /, 6E}#Mq_X +A݈5l_ߔfH0g\$|}3ϳ_VV7~]S'r%лI\eѐ!0:{ycU|R/ ׆_<-`G.<>U c>!i|H-2b CgcU!7lϲk9dex}m]ޮfs!CGJ8! /k@,^y:6<>/CvUW,2Yf.SO5cٙTqiLR27pͦq+^}0}cEfܶ"3/؉WUEiRk1W2wƧZЉq#R"8PּK*ڔ]2g,T9ro,~KQ̌o'jN= GO=i<R_jck,[nIeH}m 7}M>.,kJήX1/[@[|3:WVswz>(_' jŒp t>|ƈ؄h/N)b!1|c/ M봊nNMUOLYe@@ Wbi7L:E簮ɬcg3TDfS7vn"RHҥpKQ D1,n3D?Ew섷>kST2o ީo%B (/(ҝv7]܎mGsۑi:d{|[wu @ +G͎WFg +՟Eu6tX8yQDzt-Bf@jo[ bX88}HS ܜQZfvnk h`]ACmPf{w`Tf i?F^cn3W nV]Ê/((8 +Dͦ 03łhRTRL,a:ÓXwZimPW`욹<l ͱ+ĪGqd:9v%Q<%R=oo=y唴'/?GCRkP 㨜YEj?^īTOu0[{I,_C64 dALyS{\@`BQ+ox6v-[~`0מYY ׄj2])\:>P&úhYbSޕ m憕CmOnfɱ357Ui?S]L#*2kfn:t+F[Y9/?C[͜' &gdSf\*d}/d k o[n߼@/D`)$$gS:(sh?K~olzc $Ke|nxŞk1g:sJ: ZU6J/&Ǘо~`K<< aUOصXԨ.Ư{8fAflQ k8wd2r92,kS>|ڴiX׎;8qb.}@f-\R#XiCV@ YO!Y6n 믅I\βxR4o7ekr yEFfq4hDc_xC&#r1].Ț7u65j 6"yT:1aT>+oʷz_ ~m4kbx[Ϊ%}si;-[ʜ\r4$!I2dYaIyGf@ 'R'/Ŀ`'WFHj"A.1N4C&]UCvKg5ۊh C#45՘xpt#k0؉%p,5B".?Ϣ16\\plb93nE"jIҾ!5c_ X|G R(~Ûk]zLa|0NN%i/ySCҩp}9N#Iu QЫ!C=^Ws#aY}:#*K(:* 4hҔC IDATfp4mڄze'=T?MiLR}2^:3pf8G^zvv=/w FզnՔemvخ 0h5D^E%z0̗ۄ2.y$)3滄 y毟s@ >>!Ga?`|Ki)`uc:*{<\O&E?āy}KnZpN)kP$۞-fp1 @Ǔ}u w⻙p~3x^ϡ=n62JYɖ-[{o[0-;OeTвexo~Рvv%d,׷(0]Nni<7b}~ p{pgfoM!b82YPHN}YDh &ĹXFвnH?~%av;NP|{w(Ӑ>͖+f:zGdH)iݚüԩ{>><ԓ$I{O9g#n[y%lfVWב9ϼ횱[s[x9JR..7bU2#35L#C23ϴ;$ŕM'毟f{ @ (IFrpBE @':a*|Cf-!ؓ;Q8bbP> HJRPe vb[LFטQx_FZD!kx@V*^GÆH1}gSB xâNg՜׳0f]G/fQ%;M-M;ʌ෦){Eʕ&1$ <]1GQ.4^ C'SzzV$4Ȭq~+J(#$g"2ҙ3Ͽ5[PlOfkZ}6Qgxc2%#ӉSR|Dc mr|j!d$F9jl];9IϬJ!LP=G3bl-J)O˴gʖ>rʜ\jX|9hM3.a@J3D毟L1^d&@ x?[=JNcZfK.m|4Y4 kqGIejP0hz (tm {7rէ̧o 5 J4f07r( zJ2 hƞgاxc1(J< 5m@B-P/90z(3_!â'd4K@!.N2gT)YPΛWo Hr -d!O{wJ\QFH@j;!L3* ݚkϔMۋghO;8\nAFx5EEfK}5"WmO$߰A73sc6gr<*֠F¨-(]* NE),환cRȬL3.Ч#1Cf̴ @ 1!C# )0u~\C9 ӥudTUq ;ɦ ԃJXrVK:֠hZ%n\JdЇ?'RaUžuQi>\{(3@ lHL%24W^:RBÈMXZ3qk|3}<.p($l<( tgEWUiR>! V (+sv̝旡v;8gT2tiLR2,6 f>4~-.u%>]M\wėu\&47]411\X2WAsW5*ݒ#, /_\b՘˨Xy6Sf߶9 \ 2NAR.#=]GqxuZ4{HWNcq>lЭ9{9g%`' jEŢ޴Z@}RāB3a f]`3IGrI9fy:ivK X΂jY;.FL{LL @%-W>ϰAV?4&1;l'|yK|ͦ8 +Dͦ 03łhRT< nƇ#d*:S5=Y88}HS ܜQZfvnkPP8PӝWNFk*o.ci5Px0Szů>J?O!jrrpϐb0{FqVQd* `?GCRkP lX5?t[W3s_~W\R)'UuѲWŦ+Vla吤 sӰ ֻ9{ae8TnCӘ%@K.Ĵmq7ͮ6S1Obiz5j=69ە4c ]玻 tVlVG*P03#w23ϴu KC݁ɫS)e䘹~*զۻ3uFd&@ "[`Bzճ VJ 9t%COLrӠQ`R4CT _bUP.X2R.gѾ~`K<< a%ʽ3١tթǢFuY4~ɮ`vO`sL&C.#ɒ6ÇM6uر'h@ OVOt2e NNNtg_R 2E(Wo-wuD١T댺oS7c٦+;vrQ)&}r)@ ! U(1/ @M0Fʧq@ AV uI.?K ڳ"l@ ?Bi)GqG @ EO@ @ 9B@ @ DBCѠN"t$@ RC!҉TWb0n\?Vo57ۼ.ETr(+M#)ZGPFفЃ@  Ȗ ҽ?C'|}_t7Òl(]·brqCϟ>IHyƣGJ}пo8V$~$wA 4Gq,HgKz!#[ @ ϐAm;'c+<[vmW.ˑ߳GZ}9>U>c啕5=/pn`X'&̙gsK$"j4h"l yEFfS#<I$$I,#AɑbrtQiB0?#)~88*-Yv-0='+ @ -UV 7ѥo{kr)tkZVFv$3SjSZjJE=\IXVd)>{~E8c3vs˭j0/Gj8rp/ix|p>C7fv+7>y_6XtɔtVCαltw:DQma}f- 7Y3kSϖ,}/j;|u3ѿ>9W6˟M} 7a)KYƕm ZʦT}Eʕ|('k8>(*vbӅpz7j1i/헷f_w_=S!zPĨnUz4l)Ď]^ *Ot=ǰC fp2?ce|;QcX&l3ґ4YܾPYز`edfоA+W&YD#J,׉&'S;ǘnvzx !KuK\:R^#L 4䒉t́31 $tחX>{E6eœ!Ե5-~N̖jD/PßH\>$_5p@nAeȔ%:JsyZvń6>'J&m|d4K@ARm7?8WO댫؄T2%(+SǃDtWAjNd@oHqlɐaQɆL,{y!>6:)1f!K97r( zJ2 hYmGG CcbfMa0 -HHYКhE&nvI=@̝5vuT)D|qןzӶI+~8+=1yXGMjRn/~K2#x;\;k$-\6:C BGgSϤ!.Qtw§dJ$tQ^%ڹFKeH`"Oˑ+)h- #R0t33;= VmZ '(\JG**xYC.D-r@=SӰoS%Z1Ek8{u1u3$; 03>sȭ#&+35#*Ҁ*?2{Elyz.+N٪ /gzg&ޙRG( PA놃8nInHל{H`c/P߰d ѥt֔.iWJE>;̇ӯ!mʇ.3e+0N}K(3GÅ%ә;;z1|U.*.az"0Y  q[M#  33wz^TOlDܵ53Ptg X΂jY;.Ę0/8 $ޙj@},^y ϰcd6 KD`&pw`zL8}硫pʒu#p=\%)_dޖgsj1ejmyX 3;3-=خփ%d%Gӧ[ʮӷ:‚ sC[3odϴXݫ8ʱ_BE xN=N:T87gԸVY{_U7m5^dkEF„龜(N;9 î7[|ֳrcT*[}ɜt+F[Y9/?PuB]@U/S47vGO{wK'2+,r$kבx gKrc_f!L96pPujK݋nE_IaWcf X@ 74p^qYfSN=GgMT fΛc^ 7-X@ v9Ӣ.+{q0 j#8d${,jT}O=-@Ī^N|`=Ӈc8;~ˊ_L:t*Zfw>ݗ_^ܹsxxx ɐddMaiӦMb];v`ĉi~%ih[< *Ԝ{E o~NX7cȓ3N콥tLeEۂYTmp0VHxzklT2E3״ʏ(˙/G;R#elE;2?>aNˍ >ȐrJDeBV__$-_e$!ұQEAmC?fEN}\y,ю,`} cVOt2e NNN< #?xC~6h_ىtώ>N:).BE1W0a vʑ2^qibE,.r9y@f%'x )mwohW*/u|O D€m-qߍH#:BkijKuzfS`!7B!$[u{ GO;62827_ڛ|iR>V6CjTkD~ȬiYFdSQ J4-:h;RlL` B>1#f{+ =h.6)^q@~2;]~.\gEʹ莊Cs.0\u?-2w#m( {,;S:鼤ʫV,]Pj1}ֽ| jP-}[~9J !;׳r/o> 8 Ra{}ٍZ/4wX >ׯ {Ft,\-NלYMW_WX&&$4AܰUۏr^u!j|ЙLllw:gm]Fd$S6x7+t#m7k }Yƽ4;MC-ի\*L[ympN4<45ҥlNBHң~FIXRĪ/}Jhhͧ3a6$nO(BOag|WMK}F hSR|44I)Z->lLؔu9 L̩PNSD?Ȳ}lu 1`OZHXRP~ıX('~|֥E,S)df A:A,AMr;FO RI8}-HY|0=߇'Ƶt\~d(wAmɐxvFKQ~9VD"`=NNLQ-32x}r;'mC,Vrп<ʜ!Y7 n5{N1I|U[pdlmQ@ ,3/oN.Gt݊ahR DCa$*W?"ᔃ!7 A ]mc\Kۃ_ho֟upJLFŽ>hmNѫwo$hHHQ7k?g,XBf9:e?;e7a^]O£Xu0_m왟x^# \Ҿ%1kexBflځYJe@  8.ot9ͪ=h+AۻT;mZIY uѢ5[mjP b+qP*ܓF3{aB }ޏO:{Bk lK%u) oБ]yKI=LȌ r 4SAO&_EއI3p`@,hPrK!8+'O&fdREێI?0GRJ|:~&Mb∏p)6W$TCW'՜(@DO1|TJ%~+qm%|0 \+6&;5\ 9zw2<{-f﮿Y~&NT43+WwS:n,PVsM?} ~TE̟Ȱ|?e*CLV]|h=C סu]Z崕Y'M "ޫ]I "3;8~t/de?H>/=Z= _:jnv_!N _=ZɌ⎎dH@DR *|w9.͜eyww0e.QbȜ/혅B)cm UljWK뒳y;=\lFs}lڪp_M"^ f|Y#n5\4LWcoTx]k'tL1*MLJ|GScN:8/wǙЋu:QMy:7 68'>2[Ņd:PٌF% t`N=Hz={2)HQwٿ$/>bBMpK%ҡԃOAWeKA%F/ػlr?06rO¥0mzyk/ AZs\ 2BoE?Vo{sFNse*+1H{3&A#W,6W)K4m=. ;g?G- C}=// !}eTn۟O+r;7e݁Fv)Q^+{#a>Rs@ʼnD)n a]5?Izd} WnJD'@Aϋ@IfX!9ؗ)ٶ@EXN5f^{ȩءvqSܩSB|ْ{fʇq'*ukt5̚=y7k-7c׎LH=(IK4B~PX'aȤ ? =dKBi ރ}ϊӡ%E`^guxOBbwqBvӻJGVSjOfFr>s0d\X pr*7@v*A{֣^pr*Nힿp!6+i39DO{,^yei3b!v%o:o;,>=%ȏţ:ӰAzfa\$ Z>Sq8B3uaOxeԝGKPf]w+/Ͼ n>]`>̴ͷz 'WIc.^T(MffFoT:z9PS$_/v!HaWV^ qckCiU omi9`/Rzeg,i% , y-I۪$kƮ6^'2HAm;'c+<[vmW.>{}>{?~A'/"l4>S>OHt3?e{_ jIGO> /ajMlѣ#$ nGx2mR#3$5jho[P;ch85_l8ɍ[糫E~lȟsvF +5"7m "d4zj \dDžtO4 \BZ%ӷ*Cu|:h.gg5Tb3>[M﹉s'cb>r}a9&$%H3bH@PkEU_F/9 ܉R6sKs\wֱԤ|O;4*4[4;E_qm-M2e)gL=kv.Y4]P((Z 8{IDȩl 8Chrnm*.eT2MduI|WNd@# ~m~adv 5x/3t7iSS#ce3]3(Gڔ\2]{\ϥ̉F}#iԠ|[[d>?%'gVc~nVE}JYxob_FK.J:Kg8W]EbIɾy^Ҵ{lj gBF Nq;=fi6[)N?֎mi="K|ĸ3y /Ȯ'>w0/(%WwB wdqm\ɰQ&bjGD~")Yͬ^;ϔDJStkm (6,gR?o*g_T3,ӑSl|͔#h5Ǹe?;7Τ}iC=+rFnX_i 7sg@%3@ߋh~مmW@ K;Ѱl.ƻ @C n|ן '0qAN5)sl{v1p$s7VDB^Yt S=b]tl-f(~?`GA.܁wQ^gF~GT}ONVc:|t=5ޢ}K.J?حI$:g H*eyɭ(9_|'mर` ،-E>x2&ؑ/sܩ-c{=zҽ/-߭Uf,h(]*G Hjw3eA䕼Ռ*KSܔ? dKb-N~-}T]=lrRIz̥\yc"Cl:C meT1Ņc۸XRx:t/rϐS1.y"blAԷd6 JH@jyosտ=͟b@z1!*(q,i^hf!&2ui2gЦLxUȹq+诬VigToZ%-=8}3'rfFscNm'~؛DzqHʚMaxIQa78ĊveЪ AʋV,*Av.lKIL0'.dFח. eR',Ӌ ׷2r uqf/EY6g3l;4e"Jiֶ\R$"reò-}JTi57꩟{X\gK5epTs I굟Yj&֙R>n,ۣL{M7pNJjԆDS-Lȸ'%/]<ҙ%KQw汪Kx¢3Ma;q4hH{Հtlk8ŧul_ +%m."^8^5bNWZ)^|Z7ӿ,k $=8iC'_fގRK[l%J(J--ۊ/&7:۱ e87ﰄ›:)D_,tl1?_ !]Rg;͌ՁP8[t9j:_HySu|sTf*jO xZK~P `" 5J$R$UjljTLMB4. qHK^odRӽnGuuApRWcKKDzD+N'$ŵjx[*7Úsyʎ9&ӞE uQ>rT4vI/R[:- ~>>6Ɏ|gT^,>QVZA+5GN-Z&ko ʺPɏzlW?Rt3ZwӲAZR|c뷟.YYsD^"ڹ 3*Rkg1ԫ=X9{\|z˗&sDjȁLCY_|ĭxnRyh.$gԱ,\P9|ݗl=kfo`SK/䞝)F4o9נ 22VAT!|U 6;KdsZY%Zc'2Ѝm*<*3*L=1@gŏNԨ\gs7$@aLgm8+w<dETunFvȍ3w/s_/F<}'ҥyuJI٪ҷ$ma%4φmgK%rJ65fF_l5ZҶ_$Msg\Fd'K);[e12hإ6u/DyCoqǷP\&0<4F;&o7'2lR'1_| Rdi95)f[:DHJH(R%2T$ƧASɠ݃X _>nuc>%kʇ|g 1&WkA:PR_gqt!$&RjM {FiyYK&4^ HƩ+= RrmaqzuQIyH K4W[4JKIXˤh5ZL,KcB)^g_>NRXϓ8(/]FSLPhQ%D~XY i;Cqd\ͬ*5ֲF`ޕQL$&E zg8ZOm[?Mq<wGf_3m1a/N0n? 9U;ߥ["wҹZAƍ QSmdt~Kرr>9n2-N3h3}qLy ھۓwb1Ϗ&&l4Fg!5 +,}xx+R^,Z>wP A^(1sl=k@~Nɩ?aJby )#;&1wJ!Vn<سh1ux$Uz]N3V dqStgQH)ϓr9O^4sDދbbׂ$9aȰԈä5RE4ذo?[ {"rLPhX3—:NnF )ausFc΢Z{OכD_痉c9Pf0mpi43 h IDATgnЮpnX\۶g;Ӥmk|t\]ҬW,;ۖc4wt*O{nY9Ws8va?6iˊmjA4k1[ppicm<`]~VR,O% tŴ1>qkE hд뫹]R=% Z|p+1gk<)bY* fWgrgpk?0% ml27R an~ۃwJI@RF̥-e?"~otmpaf׆/a=iV.ki)Gj+wXjmKQ,_[AbF9PKo{5jME]3ɻMlPF=cʶYi۝&J*.*io1]sW1B)lݽ1\2Ck+c|6E;M)h } ԔZ(R~LE)lQ[SL*Tci ,}o, R(Iױٵie:0@{ ~:&TU2Z5}~W=ٗZʧPVlA/'L?` ڍV@6˖- ' Ȥ+P6,ЩL,;m{7 ;LlH"ۢZpU2`kT+p$NLb$3{8snĄ?JVӲiI,Z>ٻQq,uM͠,&%qt`+Obi_ Gʔ2}q̼Ll*`U=M>TLfogXaO#4r,UV7luŊTL.ÛX鶭Iu3CX:CeeJԲ'wWj#~OryHx V8q@ %e˖iiܴaETYዲZ McoG`Q5veQ>~9.XUqҵY fEs/ȱPzA}K{zsQhN^Nu%H "ʕ+WpvvF" JH$/'8s ~~~YڳgӦtKK (:~whҽsibm[@ ((bbbY'@9s& 5Lk1H-o7-3z,IƢOg9Kɏ1Bz bo`kjPd5ߘ^r!>f*4§L5ķ\ ;2WJm"NBb9a뻄OП0SICoPkaU  $@ xyULǁܼKjVݾײ͒BӣY/cm1Ek " ۈHBH)PwL$@  inȰߋkF ۊ !@ (H)Y.씱0@ id(Q=dCz <>T (ƤޜESǺ|v2V@ ( % M uշ}?1sqI ZFBQ,ZM?j % MϞ)@{vZBuLfk HR"5kP I!gH@ I'!a1epiߓNQX Z犚ԇe0M_6_Ґ`B%INh72y錚8w“_9WhSB9oFAbGgj֎onV%"%_Σ(?y=C }se*YuChPML~*ugY|X3$@ P?U}x6cw.TVr'Je\Q]k~:ʹaߧMuTӃqg*ԑ'9_9pV(P(~1"Ԁ:3Ֆr>5~G=)8d<9KzҦRFuYgm $?o$o+<p빞~h"=iv Y4ϐ6`Gf4to.SEu4XWI6^-iqj!lZíT]A;kۄ[ěJeRΓ wngЕe^xكp2F&ܟ^k_;zZ܋ĀY 99'eWo9otcګI5$BN`KB=g3w4TY]|ЎV]G1o8߂mG0t u豒o2&2Gs MsAEsc~l9/FV܅&\A 5<+Ҡ;T:4ԭ^7]/GKŞ_eqg Hd2){Ocf{1O2.O/,77UcrQdjmϔL7&eR.3ublSn,m:϶ú]a!sVt =.FRjצ&"{o^XK>fk/|Rmd%ᚤ,C0se# )uuG2p5KLgJ.^wYz)!W3g-b6N]9<ǻ|3]u?n;j̭di )2v[ȈOبj4H6F&^3rV @)hίƂ67Uds1-Ak8sǗWPDKr-n&8C$H0+B9Ǔʋz j9)Q$<Od%3U˘|rD+N}Wc>S;l8javW,F]C;gD$DBsw ޠ ZҬkh48Ӓ8(eXU'OI#Zm_.$%`3iBÙK\EI麴tQr'8}SNx^8iDޠ]! 5K6J/R$^O\XwҫJu%stV#mWzdI* @ }ಉei,\4k8+@ÆPl$, ڊ?/KƩ+u3Llp\2Y{`4!82&w42T=w>u겒*M*aO.RrrmaqJ$dدLcILP~2ϔq<}}@&6ZP}r걭P9 G3uʽu#51he>K*Z&E%]r赑ѱb$|"Kzrᬙ΁1){rH~ՌԨ5ZT Ħe~8D,oڶ@ vx̱0U :'IZ犘1kCgq۝FX)ЧA$?Ɔ}2o {hޞzꓬ&eXxo,+9Nf ]e􆽉] :W`Ԇ!úS#nZ{kRkA4k1[ppicq( hU^7Ur ݸĞE3g$s$ 7hWI gjjtǥ]Ȁʴ] K=ĥWz`mNhg‰y*΢4R'qܥ ̜C2zn r¹~9ANq{@>|J=5J= 9_.IIi}F>_BlXIƑr$ DGӣtd^Ŝ$gR2<3+#/l`jmBĚqrwuF(o@ )5!4ĥBy\-jfӆIxXe豭c!hoL 0sl0uLch_{DFTK PR=6Mh2cVN$)Y8:JBz}BsBF%~ʇz)FWJ0#QQ'5m#) )۞EG0{3*.ŘߗHze9 @ 9e˖iiܴaQR`\w7PGb4^\̊^l|cC14I E*ncUʑj&m ]Mw7IFxS9y%~hKь9~L"Z1(t"g|x`#cxĕ+WpvvF" JH$/'8s ~~~YڳgӦM+@ "&&\~3gP( qw Af6θ\M~叹S{~[SƋE<lPb:Ab*s=Cm[D'Y Jm֯ 3e|TFb]ZŔ%& ra#cx @ I∉9a뻄OПHFykP\w-c#S{ u|P\)0xt$s۠#@ @$!# ^wy?K:ԬXS-m FL]qoɏL–Qeađ@  )%ji\ļv0w8y lGH @@ @FI@ @ o@ @F($VErm.(ޜESǺ|v2C6to@ @)$65?fT~p:/ƠPEqalFȠ4b[Ʀ+h3~76?.F#86g2$yŐ>%%*^l d7b?MϞֱ#(9w|ӲҧRw,Ň,s8w}~@Abh*N@ 7Kųۿ3=w2;Q*$V<}:zRVu*DL&--AP;;T/.$rj[[řjK9WFLz}#iԠ|[[(3 LѥgΌHnT5;}ف.( -Vp_Oh^uS(˯šT3fJ2oxكp2&B>Uת?^}Y|O;4*4[4;E6?RdQ c?@ @ x[($=6'yh戫46{;2u|c0n=Pռ0n|ן '0qAN<]ߋh~مmW@*w9 ml5~ޅ;P 4*K؈2&.Dd^Jv~659帍8'ndX;fzdу&97MkL%c=zߛ?L9VɁ~;\?sLڗ6$HO @ L Ϊ.o40֙-JS,v8V#.6M{j6WY) 2-RQkG7O0se# )uuG2p~mrًnQkY},-v ?RPӁ_a- zѾCu}~9 o1 BU%nEMHRd춐U)>>6h%cg'& ߼h}8[#^CDRS2R$U^+O>uTV WR43ST4TRE+̬cILP~2ϔq<Ͷ^CD>g j-Hb2ѧ㞑`bE0yYK&4^ HƩ+t$r+82N *)l4ܿtF@ vx̱0U :'IZO|r/'Of )|uo!#U4OH~; e@ "4[ҽ='YM"¯ı(36?Y,ܺOlL0kAj̜0dXwjaRx; J;`GcT :wsJVSv37shBF DN87òoi,y>LPhX3—:NnF h,\Op%,D gw]' hU^3V dqStgQH)ϓr9jix?MڶGy@ @Q5ĥBySˏSa݆ݬ^9]&u`B#5wLlHR@-{Tm16LlÂF2hXzoD׹8+o~9.XiIzL,*5Enיr)B@ ʕ+8;;#HJH$ĉ9s??{ٳiӦ/03&Cƈ&w]-";L;NJ7hO ,nH R߇f^,9RE~Rkץ{I)7y0;󏬦eIcof~ډ97gc"XY 3f1ts"v ^v cx[Cav^⨠b5 g3(4Y7N!0&&\~3gPZQglqFҁ X"?~bjKޔ:瞢z岴J@HplۼΆ M?¾S0Ô?eu@PUϲ2i8 {W&G-8x9uB]`Yݻ:dx]ԝvBELH4 /:❑d5ǷC|!CY`Pر8*}t O"M>Q\uĮ0?->zg)"զLNf%Cy0JPY?642OȖ .Vԭ_AETh4TsFPU 9u;|ƴ~1UԻ'k" `C@?ۃS8Vvb*@ 1uhJ3[ 0ןg[W#!`ӄ6E%^(IMiai )qNh<4R'a0O^'x;P''T'ZH_ Em|97ޚUiS[b6%DEgplh҈z¿bHB܍>Q=7 X y%Zk;!k&BFQ5D07yADzldnAb/.aT_?Z6 ]<<q*.D{!T&iM#<2dNF^fJνAJ £Qc/%.ݴ{מNgMM6Vxx◇* ާCמ:hI~pE#FcW;yǺQ~4q;LӯM]vWZtâyڶƺs(!!2D˦ݷ.wΌ\v][^Kpee0OԄ̀vAÖ}.INҮ/뛇-ŦNa5@67In^M_FCԁW=hwc}:Z=Aw"4@[0g;[fדWTG2dz2þePV] ט͗.={3tŭMaƴ['qZ=ȵNlT>{" ! s:|d4< #Axe6*?ˏ'©9KODӬ5 xT"!.ۗnk[|<|?^n䱯N$զ'.9Q?pD!$g|EZfKm*:OV?.[9%$ebkhg2Q&P,d*[.QPth)FnH?l #ץkogztu eiy uB`Y%M[, `LR 9JWdژA?ehR9vVs =c+#p"X?uz1cu,0xhϳe4iNm;kKI@VV5+R"88 n2Z{… _{w%w z'gQF N==Ο/ rqoI#tWF^^nO6 ?EFYj8bI $(F`] g8N3uđ6w,m>17.Sܻvut7AN$-Ӂ"R7wJ_}ÿQjD.-EXB AJG]^E[ÃR-y$ŲB-?]"kgy3"ί%cpE}u<F$P&~u).ܕ՝ǤhUt]:V]΂!zus !Y[Mtݟ2H,˯̩\w}%$?7ja+=|EYeA>_ąF6yI@CGμ&5v}uO}mnyY˽lCcb/v7hO6޴@z]ɾ2\]9%đN_{~θ07†8 ,$nm es5/4F|7rS軺 '=[1B Ai[C g8ocâ:8.,,ػآQcIbMLR$K޻bIQz]-dE}q;sߙ{ܙ`E%J]=2 ֏\FNzАBjpS@惃zMqK -rƕ)$jf"#odO/斝D7g {.[YxĥIop=Vuş頸 :!7hP1SVq(܉fi"ǸF}hw_8غVّۗdb:Cvk*tjCQ4\=tiR'u5\ #ـlH>m3Ζ@j,iU<_~ZbhTZ=^Ky {fK;K@Z15Sx}%^8^Ois;?s&ƽG:u_;=oϣɘJ߯s0J7^th_5*uMei1xxHvϜ}qxE'8-^Õ&i낽mܭ!M7VdcpoAb9?P=tp5HVV;[qg%ʕт2R4d_PFxQcVlN9k),o-oBF2c 3懙;yceFTCrv.&뾒4 c3.Jg~v—UZ,=>=$zO# s,wp48I2z#wу"hi0a!Gطl5ןr%ݼOѢL$* Mq9j㟒3?b[:!QuK@bf\Ǟds`ať~| TiYN7ٱߏ='̈|mT?a؆/ߵCE2}Dz3)k|ap4K"v.˩Ъ%X8e_Mf,x8*4Eat".#h֢EKӉփwtJepС\j)Gd9ӧa[}9 3ƶX{5EJgBx][a+rna=?85Id$&/F)K$FG kko &'% -xuJ!ܘ166-Q kpvo̍SITrur~LdW;y ӑMIQhQ:~ |J2f(yxx UAf+zNdW]TKC-g b0bp lf$CmO;2Πcdl{R !v?Eg @zWa:^k;-`CVőxޜ켈=N4%efŨ0h/ZZbnrr@ ^ST)$ R =rAAAtYYv믿.Z! $UꈻwyJؽxk _G߮vΪ<}2n,eDTI~VZ;WѭKkA^兄,,,4wdc9|?_(_edzWZ4)Jn1Oךɵ}o/@  rT[Z71Õ}`/rA7xn}7FC8:Mεh%݊g;C5.y!?t#WP`BEԾE,9yhߜS@L|须<_Wil@ &AOZ<ңI(xѢRdIDqw|&Qd⊗s>AA ƲJ/,O l)]%%rD!P a.KTrw+@ d B2?Ŋ =c}9[65<}1j\:B{7LAYAr&O?Ō NXe7@ rEmn~;eIg1 ;.x7`WK,vcѪ^9@Z`l7 CBXx3i8k@#ŮRІq?U6 IDATY!@ 0@ @F@ @ bB @ A B@ @ x#A@ /E+'رʂE_B̹=iPO&)h{򌖌{2W||jӬpfoLVIBM`HL.<٬%3>WN} E ۦkW8᷃Az5S5|D4Y w)]Heuy#E3şsƠy7}3"?m~h2K˵Ih2Oy Q>`9J^['Iry2ol>X\As<0yYC+wV9O2ol' q> sr̛{=_AVSLTm+v  L:#sŠ_g7FњcP)ԗ}iRVEfoorX!Tg8bt]VmbEwͷCpqsc$~\ U @@4Ge&?ĜFՑ'1໭ȏ'՘~`/S+j:4&^yOW@]}ƒĘ ={pt}?儱v r+hMh2~Ow4UE*BDfΙɷ~͸(~_-3bp)H {CӥMԶkxb/+hKFD #=iRn=E6 @<&fFr|lFG!3Lj@)=ѻs?|[r[6urp:ߺ5M& YlդMDRZ}~mWRO|N80NA.MAbSp0GER_K+z:c}"{YN:G/ݴ_9g= w/&Y"1!Mѻǂ:=܏N/ uF:YEla0‡%?#*+3>ؙ{(ڟmPmg԰sFfFnHٹSۃ@K ]Mk}j2Kx$ z4τi kLo>䐝ag۾xj][ @C6C1AYdG]~w3AnDZg3I(Zo _A]'25iwؽxv] *J5c߶{"c'_=%~g#H8ݲ?OM|˞fL{r@ o9T,Fv1~lW*)8?ݗgڗ&PBW KCܾθb_ Y=#3nD0wbL؇j\u?ƃL[3.*=q',LbzF9l W X e0+{wضa% L: I^KfquALl8qϋ_a0Nͥq-4ʝ LD:XnfTc\9@>kҸ{)?Ù4t\<աLT(vL%1{FvaL(֟|{s׏eI#xR~z k7jݨsϋKzkþ,leOХ KyQ|z|‡wG5Zw!RoP}0mUY_4:kpJgr;N2s,e2WVZԭ_ڕb6Q͞1;2x2I1oOO7s"Ak9 q)V3 VU0xwpnFddCCy|ܪ&eL1V=/~XRNN89݌ۉ6Cݥ)uwfºi35>l2+}!u SZPТLN"S fӲenySjA{.N^em&)Sor![ SOy:Ы.^M}2 v4ωG}ŜRcx*zڧ ]KXs{u@܃n_Lqk d)|Ńo ɉ,"Nߴ8kV|ЖmFf%ރfF^4V%bqwEƘܓbYXbn3!hQ'k;JyI; ,Y#Б\hxٕsja+ г6hjh_.eߘL8V/VmuV~ S%oEϦ$}]XA4ԟՠt5 !9CKԍґ["Yqe' n,Lo/SuOTǖq)\3qk,6~ސ栊@fq=ڞfpqH_fy1Em 곝Х 1oR ?>VIۨ"*+2ܹ}?Ɖn|ą-aўzڧըB rE BN&]^&m\5{z-)ucI3{@C"7&B ZUJ0n~nor*TA'Wk=u 6qUs_+Mu'|;TMu^AoAALZ#xlAq)d\[f½ ֝W";߷I na*0fe堈yHx+@|Y_ܔg㺔6.'X'mr]k~\9&RvMlSs:CdjFמu v1/3n.j0i״4ݨ1+_f,h=ޗp߇緰jbRVI9[ra&Ml EH5;6Jq`yc_Gz; ᅯ=Ѷ^:>+1Z8!7) ,Yy ufoX@kg)hp!ٷt.͜΂&t9gxմXrK4CWC^K?F9V,ҩ WMM*hI8H5ļlz %;Kz0Sq=R]N=YĪ+b(s Fܽ͠V (3_2}5$`Jhѧ|'|X= f\y?zz-"+{m W9j㏱ϒ֭eJf4mKW;p֥gID.[]4(gMGRO2@*:ضͥ$ ymgdfwgP2-ƳjDX319 3/0nxBUcM~zԠ|7Kң+RuK ɭk8Ppcֹܺ,.ۀԁu[&~ i^㗼/~|ϖj[f^?^{8g~q7x(,=S{RX15(iYd މ4$f1> \+e$̞v6R,,-j- sim(˵hgi YW͙r,5--ǷW <W"* NCeڦǑ;`]gK 543¤Ѡ3cP7icNɱ̐#\L]qĚ P W!]t?^9WZÚ a1+xqvz#d]v:(rCFNȍ?/~1?J-m4*Ql~ iԇFpflڽH9-;oF9? 1Hc!Ǹ |l*cu5AG^/1.ֹaNzxk@Rif7;5Hu,_+ 5Y'җ tuiF^W0 gd6i*3 W@2V_8TK~_qr;vhQj9 [c׏,Of,UpW֋>ﳌ[L}㳌+mɫ&L>eE_2ᤪ! {?YӉ܅.RK#UҮ@ &q,[ۄKH0mt:H!ST\Pq\EK~[}'oĨBI˞KlxiI$u\ʴMkJ- i[@2شhFi]gy_+Nu0sp9i)9''ԩqO1+T :).yF2") yۼXo(\.!LsCoӆ4 bwy%|"vթ[\n\yk(|CZ}L*o/kƺb7Z8f\K)ܶmҗK?J&p.bk%ڴ>|S{z0}}Xrڍ&F"$i1. u2!*=3񻔅gגO-y~T Vr$XhLVSK7t ӐU8:gރ$f5XbHa-Δ :E[&vʬrܮiZг,ʍ`w4܂j-m@X%kQ"i&oыdy6doe5pGAS9JcY ~]  @Va̟؀EJQk23uABFgԁlة~(!wkθp͏ +Z:QD1SQf_; =.sx"*)%LE3y;W,J֥|#'nKZWIi'ʵ4<'^\82QxZ_^c/cHNXSuu{^ьUyqev%2s$}ycOuL^r\j }ݾXЇyF*7*>MDxMQ|9?Ɂ;mBUXߥ*Ӛl OrC>nRV8X* ;CY+.*@ނnyv9?Ώ!Jz:,C$f2U u#TM(DzGx,~ qCtiV:`ފwb.&H9׳9RH CbSʮ@4FZr4ͫSw39G4` xElXL}T-% ӴO_/rvPe?Wy2Ͼƒk=s)VBՠIs|^yKGxDCYr%^Ψ2DcM YW8¾eègnVuu?LZB֝<|vUߚPpIDI!?0zr&zbG$P;r$XY >RdSCfR9F`|Jax0i攳RJ ֲ&n\{qůyE!' iݲT#*!9h;adXPc[FЖT* o}o^rܲtYBJ=Udvh~ F:>4=U2aWi=uؾk&LH9g~hM[*Z\f6ޫCHûs 퐏uqTqv.a]QgӨn PI~$fW|>. Jm̱Q≮y s<|ʽ߼Pq܊9aч%ߟ`Wh b_6lIp%JP"Pig9>Y6]&k ]ogY{Y]NcRZiuNmA13#ҁr,l`^VJ3߿D$gmfL,OHϬJ#Ih23PSW/O;tӔ_LlB +JߐbO:ݭ(̲{_ E݊R܎bJ=cz ڽ-aS 1B#, |d-+,߈_V%<2 PFB 8hxb3Qȵ<8B,-ފggR Twr¼9 w@S]7n\@,SUr4(bŵC,eO\ѝ-M-2:PBTXJ mBJx8[",̣˷HGE#L)O%#n8dwLXGTa7땅O?ZSA-t Vo{rĶmA_oBذ#iQkT$>&||˷Qdq_-x&.O~u~D k|H;$@ p]od^zGcX@ʥCnV^ei<ȕRxFj"H*0U:Ap ܐŇ%vBq.3Tn!crEy'|@BTx,&:2 :1 +i00jPVe CW&ns=jz5 hOǒkYy~AK)m)i`{ҏI 5`'U9s ʅ )A 7N;?4P?CKTcm A())mElXi*!Dr,(" > eUf֫Syӱ}א,^XOF ږ|[\}ZPv?.Qd&v-kCzФ?Xs#8G_pb'xY ZU&YR )sCkI)"L7@ST)$ RD=rAAAtYYv믿6\& +>g \kCm1jUسb ̧ig}-"zO|deaVzWSWߗ3KC5 Ny?VKU/Z_{aǗ  #l];ToVT;{erj|ƅX⿀zvkYĽci^xnWfYK7N~*Te IDATA1y:)˪2̭F5,YɒbAL՞>Eɷ5%S=?UZAG0_Yb'R(5ı]𶕢ĀN1cٺaK<ןV)/~yd`nb \#%ظSP&|ϧ}tlwp3QE?pˡ#?j?׫4՛+hߏ޿E-_c$͗PoaTY9ɵhsX7gyԷUO-6S19bARٴ^=d; O_s>W~|$rUXդyL]GSq(+W}w,Fj,BV ݋hd"u|֥`pD>sZۙ,?=8f̽]VF D ų߿; !++hbdvm# -Z! $UꈻwyJؽ̸WQW$9Ξ"VZiU\Exe6 i൮ _G߮vΪyڝzra.ȸ~,[׿<s"?! z+[GvZbB /H;j&.3hP$+ІSTpZ'aL5!!@ L936D x x_A]!,5 y1kG @ oVcZݧ@ f @ oRFcJ%ryA5\ 8L2ٌ͌ۏCfA9㙼),S ; "W$%%ac#^,'!"=s ٮطx WRj8d[TS ʍO@ ( d2III:ÇX[["@ $3!2ٌЙ^P:+q*@Kҙ5)_R_yJ%Z聈(4 &FKf}cD)LecǎDKo|U 'v#(7 O[̹=iPO&a/-eZ&ԦY|x#|!5=36nߵ B%ܼ$ݝ@ I'm%ܙ*1We@ h$!!DFGG iii&FC+ş7c)SBՋXV=.MyeÇ=0o_h_+cxi,[\ԭI#F,-'_8(~DUgdct𭊓xhypp5EXHr,AM(s]S>CyLVUVRhGԴ9KPb~_ @̿4r@ / kkk %)) RI\\׮]#&&ƄVԘq=S5*M~_ͤ? XVcLUqK.v.uˊu~[}܍~ID`kap?.b"$x(>ֲ| Jz(h]>CyL?u< %0+|߷ѩ9h=H9rbȪ[ '( d2$&&CVVRKKKlllP*&#RRTc4$2 5퉛I?$~ F7%)K:N8LʣT#+h;ݷwvSlٱR)rZJBN߈7=M_^jϟg @ DT* LRJNZZfffٓӶV%#C<DΣ;ܺ[F1nR{:@Ad`DQC  Lzܗ;3HGciy~OɃvMfKnc޽ϼ2‚,T*XXX ɐH :z@ hZj560ƒFI#xR~Z3i`FͶ;uELj,D4rW)rm1~>ȍH;~\l# E 䫙#rQYٻ+$Trrѭâ}Yilۮ`﬚ gF }Y|-S{evtK>T.:^AzuCkm_~s1 g2gfQsCTA~H9ߌjjҸ{)??h6>ތfX`)[0a sx&(WUc"?o@)F婾5+ßDeORf2bFpmh/K#T'9 =?8?Lyjv7thPuR5}]hnt%ѧaTxXײB;)G;7ni-XH t%m_;dGv݋j2T:mK[[XGȭҽ:ג`?ʎInٟ _#:%}?^36 H ﺒ~A屴DP3r?G#~G&!˱r琚* s˗M6s@aA4g`TUa!йei4x<%]h AeUwupR]z7#)AWvQ̼?57+nN &ͭǴŻ̎%a؁4_o7cI«uw:5D}8üUWj9 G/J\"AνN=[X*5FѶijD@TM\'z|ѱUMNr<0!e JIy0N=hVFJ$RSJR'z7)G*ofu>C&q+/RdujOy %`xMMܨLzzmor6ҽ!?{WJ:鵧>C֥cW.h޴.UI^( jѧ:~cho+cOt]ӡR:'pSS;$4ncJQ'%8zkNRJbuu(<`<>qWaK^8[<`}(K?gH}J |k"yȖ1PaJȃkOJѼCSjT7xU`KƅpAvUA4NHnv{4v"&* pWJ{ H N.$v:ѻcvVkC [yPF /LK{eq40꩸MнL~ Bk~|)ucI3{@C"7&B lG:V/bNփ}y{>7{Iܽ-\`;/qOlSK[{%U '̓Nd5MayÅfODR?c a(/WQ-(TN/?˯ia4mw#yn3n.6/NkOZNto*Ռ=|Rkf}X;#Ur]k~\9&RvMlػ(.ÿxmS@)PE 5*z?Z-NqH⶛GH6ٍh9CwΙ{g;w" h߱YqQ8p (1kVuSvיQw15mL퉏,2Dvh2l0"yǸ%8=i>4E]YbB ruzrZ?3qޕ9rg(h FhBTTիWGd0*j BQl#uيp6999s!6mZ !x{{F$Dvfeg>4tFݔskٜ^};y#ǯ9whH%E@zx)ANHd_}bsRw*u~}J=+f+`t`?*R}";Nd dLz_6J׎'kXʱrLUR|ݬkŴ{TqyZmEHߕOjU9Oa^yURo@/JԺd hY8o%'p\Ra&r?cdoei= y|ÏR|VۊőMhwdjO/VQ d$i.1m]ptMйoxOQ0gڏmc~w~BAll,UVr//įV rp,p +̖URb"={ [ V &66Wо !&%%ҷkJ# pwx3Syq]kytT(KJ[8?8l$Dُ͜q @UY:_Opdg_7/Z2Gf(qW"ɩmbH$ OUBRS0؞÷De?*븾y7gakaJq ؊őLz'"]~|zׅ * ܺus?[ux⫏0Mykŧ(~ ccqUogQA P*\|]Pѻ#ɋ򼷬%ls[x.\@5*d_BܾݹrJ0*  r&p[qC~i/EH@UBЖop^؞* *ciܬ ;9mjFOxu~ftdBբT*1dbqx~}{?__Y.5[^"(;fFT",_4 99}㍜kt3oæ`.|j-="CG=1$6N"Sma劝ė8_g^2b-c˶ Gfn[ ߴX@ǀ#PK]/|Œ/WS[p&6-d&s {MZGӔ`W;xN[Y=XȨvwTǝ40=J޶9S;זL>+&~%])'aäנY=_\=p8{3 Kc ,XEg}ug0uxjo![Kf2'0ƷO]NljwH>B|4,uv#Fec+Qljڽ?}ʧc@݈g>|j@МY`}]XGÅ%_ j5V'7/qλkBZcBwy9lzs$SjlL(rXKEu&Y KU?Gv["QhРWWWL&;H[A\/Jچ vJHH oo[DZ,",7wIMMh,߷ye{D F=Ņ#Xa3;_ZD`$ Yk}CѶ-u&-sbX{1L؂0d%̛w&$TCO#x:cwr}+ YYY4h̞={+xVZj%m/wÇ^r1.]Jo7߬aŘSPzSnB=*hbsgNuq$DvHHH㤤HA!P(xyyQ^w!B*Nٺu뵉)h߾O!"߻w/%,BQG!B!BB!B!3gZnuB!B!B!B!7<<5$$VQdp!B!*Fݺuŋe@׮]ڵE!B!O۰a qc8qV B!B?~w\"99V B!B _qIB!B!oid2 !B!ݲ$`رcX,[pDFV˄Y^gw,žIiQZÉY0<όGH*?/OdOcr=%ֈ,iLdZtTׂ؃[H !B!WIgggڴiC,wunnnN>=.x:_pr}*rpI_v7tv"{NEV_Xb;v̺vOnW>\|{GfO1}3ɛRb<ȧC_#/xs ʏ{yZ4yt`緝/rP;8I0R%-KNB8se2йf)ft<.Lԛ*\k⍗ǝ0tnT4xd{d鼛5 |a5pz죺@Y/bJҖoX#N3d$B!vTz`‹^k&Sx႞K3TTYi0O=ۗ8-QL1oOFf|1(93wx;<؛>bՌUT諾O (prbs|ߧb rx[TUQyn'AUM8yO[r޷* moCYx..1qįi {<q+I\]0GΡ$3?wSR]suZdp<:XR{W= _XR =ͤXì iGѿqxN,q6$ځ$JwVRi|kt62蕬\1'IKh'F)hLܺ:B!D^wL>i9jt+<)aG!&6&S'OrVTMٺmshl"i>^ZNR>$nc=sԔK7mhSO#]x%q I2ќ%YĔprn>KjMNU;_/ј-Oc9!+s{6q$ (pm$C=ܻ+8is&qװtUr\Q/ 5&??=`>x>{f";khml `Mc L]7)to(gErm<,dwH3ݘi;$5S(NU _j#[xSn`Z8_;e@#!AuGvϿBᕲ\>RfY f6 9Vq[#8k(( n!OC)B!BPsB^s>.1S *{&~TDPޢsנzV\ehW#]Mz}p>V3P9;%n_5ڽfV݀ҍdq<;&.wwwi9l團A洃|xk\4h.:ڼg~8m$"ro?VE.1p8t'pmfTRjUKhGnWxRk Z>w# iPì9pA.\WcfVRvV!B!JI+轛ЪoB4G*{~sY ;hFzWf>`aEV2|WRvޘؑ? s/4 VyV͜G1pљΝW4v§/?%Ñr>vJ=crO?E6@q)wjB)=sW[Kpp]Т]xݢa B/x~V|9pbL60,g}TU7`G"I0&:_JM#y@$dx'ڑWQ'"ZtnphPQiyfgf]߿,v=טK5jƓ]"~ZYV cGXflHDDq sWm;}UT}%,9+G~fl:t˜a߿zYvDۦ8z6G2ҊĶ}B!Bە; mEu<cқF'>㗺 @^[>3CF'L:_8|,Kg/``w괩 C1QVCF-6 $p[r=87G2 ܎xc6+)k:Xҏ?Wi6m'Nԩ}|߱ nJ }! }ܩ37w*Fv,Eɪmݿ!˘?1,(ыsA|m#C&F°%tcM]~t^?q%|7''? 심9Ғ]y:c#m\l۔s߄B!wr'!yT=/G9 ‰ qSIdCkWU %qێ%bv FK ۷R0Se *ΠO`_nu?``ǯsXTcb֬e{ygOV c6V|9 `[jf'ioTB}6|:|zEߘGyn8p 㫲gU dzpw=cp^O޵M}7:%m?~м?x9>zTwUmj>ӟjZ]3$qG~g/F5S!ču,Ͼ7ǴW3LE&s/aZ@[c|> q mS}B!B1*FvNw6sn~>OUofBٿwGJfTovT~^zt)M^ti]RR:{ጁ Pf i≳~ya#_ʚ6L]7P jL 3e &h3?<xM>ܼGǛP0vpo|bه)CF[Q&-|^}x<նڼ}POCmGφLz^Q_zh{4ǻ٢ordyn)PkU 92 dIx,Op#4ܻ')"Y^m/"ſ7Y{]D[iRLطĶ1U¾ !B!*:@[XﳖI0v~X}?0{[0&?M7=>yŶQ(QblɽS(\?>m֋K>YFop615+~.]1n~$Yˑsy(b6dx"obΖ)rǁBFb2;|knȾdQ%zR|c,^Yv}"\ ^T/*wNk7w],/H}nbcb)yRqRY0[LfKqC^T%C֎me^<$ťc+El&\SpuFO'9Icm0ĝ&-/6Qv+c߄B!~~ڊBz} lw-?4*-LXdeard_?gn[JR6^kw,%ӛ77>br*]z6`bT+sHSj722w&~T4O>={سg;VCV6n`I;ĢE[8q)v:76u@Q7N$iIů@UR8}&.4Ƹ1LN~}3J# Ǒ)ф {5}o~t_ďp!,m`D̨kݡђ7E/Xܐ?;ȹ:m.zk9_|>r'%mNyIm0|>3`<36e8[׆sovI&IjziD&9c IDATl+v$0%s?u7k:{OW<B!Bו{JKJOѣx/cVsW0˘wVot/504P'umV2nJ.+7!z's;"Ԁ|S<31CM~9LA0Wn;^y>kPhUnJdwcݴ͹oz,=/Ca$z<ض>5k5h<ߝ;1bX@NUBCC y7861 /;I\/z @TO|ˮFmδbij9'n!fw7 KAvM M{Ϻ٦#}^;Jv:LJik2x|7.<߀]~^y h[?A;hձ_=LӎAޖIҡ #K {cܕ7I*IyjO&7k/ۮ:PB!B+)fΜi `߾}>>tBY;z<7fòޯ#B!ꫯh޼9p !B!B$ !B!BJ!ONچQnuB!B;B!B!D$B!B!*y;A!B!H!B!BT IB!B!RܐP(FT*խG!B!Q7$!9ra>ou.O\bW^|ӐG452o,B!BB7$!غu+˗/ώ4iR,d(.9Ig}ߎk±ONS×9#RxtfVt1գ F0u:χrqwAxa3?wAټLAQMhM/k;O{G]k_VB!BRGt$#.]ZEkkbjҋK؉O^^n7W^L/04e;-gdݐ{b*Nv/>.:0i;E9y/oP -8|XϷS\B!B!J$OHWU<ӴqƯxÂwH9FNϙ̤a(LWK|FC+Pjqv[4׭S\?t<vQ +xPw1.&Y7_3*j5jxJS۷93Ι^dթX20Z8CwdC"BwL2@G>{Ut09+?+BOT =>N\c8{KFП9Sx-+fX@j"Aҭ)/v vLܓUq !B!H$[2g0+U0q9=pS1 fQp,IxXF-zgj&;on Z'LF`W\xVKz{q!¨ JlVFf/a=ʇwu`܁lJ1z{-.NX>+ $؄uҽEr)&ά=L3=a{Wsxo3L[yKm`ӟWcͻ<_ZC gsMSq !B!mH"11SN{D1 #Tגc֧O+Tx>~9y"k:;}=~bF]'ޠf/²).UpV//LƮhg;J+^oG~wZ}ځ*ogBS6̹z- mP ՘a Yf)P;~oRqRaPcpJ5=>] oڝj>9HmO/M@`N!s}7}&Ё)'^q|$V`B!Bq*rd2bhͶszznKjLŽ:}UC@%~) F%l» gV6f1>j|chgoBʌєgf2x*4J<K(/)-pϸH dx) sꪁg1.꡾:jj%Jvz\9[U4JZc:T)B!"[VJ.Ügs0-=_B n#7L"dDsIN<ªji1[͠;XR3w?M$-"7^$>'N.^qTr\2SGc]qst]Mgr^|k)g,X WzB;Qh0m$L$nXS'泤XTZĭ1GW^\ϬL\0p`b]{INK{ۨ\#OzZ΁Dm6.5s8ߚZ(";xdi1"ro?VE.ܘW^B |4w[QiK:;Hn;o-MSֻ|sY L[> %ٙ{R%|KA5.4My#uk[yf5g:7KB!Bq[S̜9@HH[lq vL4zB!B!XSNyDGGH!B!BTIB!B!RHB!B!BB!B!}j8˒ٿ?s,/8!B!Be5py:lBj 'MzsZ@";]{HNNB!B0fw,Dν5Q_"&gPKJHܟ7y[B!B!i'!/iU=M`s Y+YY|;gR-ץ]4Ӏ Mh3WLR:xqbSHhٿ?-(gYn}:,'jtOzgY6†>L3bws>]Wvݣ1:k4v+gn8Y'B!Bٝ”|SMP*fgݢ8u͋/gp,6xS^myp<ݓS~k9 #) 9j}F2Z\ٸY/C8g~%agy֗n>HﲵB!B!*$%;)0GqNU5=Q)4kI5qN$sWPyQ7j8Djn(P2+}~AED-o4;xN\)6.գ\PԤi OTjoj&E2-ҍ rעQ[!B!nBqEIhEQSuw4C J .B*'y* X)TU* Ao0;%;(/a1[3η?nڬ9n]11vy'nKUt[TTUqP}7٭P_:<,U,m=LN86M43zud򾬛BQZv^G.$U/0itʫ֪@@K69yYո8Rm'\ZSc3f c=˘!-VPކ0]x{F:H|C^s%ѡ]bSF#=FVt:ŸBfivx5dayUTu!*%1ECϲ6;vL4* Ի^XGͺn*H_.0wxN@"MQ@@E@b!"]R#!J ͖GHٝ$Ks/37gΜ9#Xv%vmFDp0Q+\g G˿5%6Iqu]Όk3vX#㿾>ï.&$!&8^  qn?I#C9ΜCKC!vZ@$5qQ噲8Wf 9s(/&:_7 ;_ lƘJJjXἝ>_IzuSdseJIahGx$:ũS8uvOpİV/?'߻ZKRq~NfzH:}:5sn.A+N Ze@-`׷s&4'w@gm|NjS 0` trco6r:j?5[|6:?l!|sYura=8.Sr`W+ᘉSK>e_nU<|stWu$?cQ[\B:=cp[~̻o۳D.HlO0gZq>hzϖ'գ =/gP#_;|,Bq5p _t<=ɓ'3ǹ 4p G&2  0䉑+܄&##FTAuohªV<0nWS?4 38_5/TC[sG?~<nj澨ȽuƔ9fKhxPC GsP_KKz-yd:\vNFѺfH*2))^]cY 8B⦩!->ksc#޿oYO3feE'&ԕ1_18}GHpi{[ڝ}xg|())I_ lbv{fLQ=́$8w.C47:e[ʖ?PP=o1ii4o:s_*Jv`sk_tl 3omD}:<~8YߞwWΟۗh(QdS֋KQ^֑wt9[[30ʯ*)m=/of>2ԃb-[Vm"h D*J퓥 ۊkuKT:eU%Tn lKq?'oEԾԏ&qI B!Du _N20ϥ'ljpsL Vǟv7^efH_DNE옏ïY#33{LY|zsLz6Ps" ^w9dgo6So楧z^?y<$s-t *n@<Cju~$mK"-oeNtuô~,v_Oĭ}> mBsCnFAQl=|W޾9ы#S=- ()5{V2yt7Mוʇ=J@-ڀxdrwr-PM >~' U 44k{l 6 oğ[4ݻ]~o}׽4V{٢#WElʘqCH5kC\HDV#IcB^h䰐~@wPO裸nlrfajn A3{I+3ϒL-=Po[,ATW6o*]ਏm"Un $8TD}.R>U~\ĔԍoS_|BqUF?6Z)<1d惇/*ǟeϮȫkZaƃҸ_mxLnGa\AOVͭΗ`#6Yz i[ySKo;3Q5$凃_ij]GTS9+`8M'B0܍Z_ju[w7=~aEfPa/-G9y+D:fcjRS^irri|NK;r@@u '8& M- Ll /Vɼv/.?U`2\fxv CF{/i+B-/><Mny| +>^D=?1"WqFT Orxe+Dze^dWKl*7A݀᝹ 8Do@W~+x9Uۅi[۩+?;R}A߸wڶ2uܶ3Lv1V*X}NۯVmaR/v2U+ +vbJUƤ۬Teи/ +O`6w< !Ϻ:&!X}_K'` a{[syifRw%~i#* 8mlӵ(Ut:WV"Jr '""5<;!uԪޣ:cwn?9GqFh0rX:N|2FqdCv˓^9gxy=i)Y9ܭ`J'p+dy㯅˙RU|#⡅[Ym^tBJ̤,ys")Oʜl/?+X|2;aV/n~NƼt=րfO]~%C~Qx|6^^Y{S0gs'M\e^FQ~h1q/YT'}~YuT^{Y&L&#yI]ٞ/0bs/eџ', &OF4xօ_ߢr{ _{&#.գ~ؚ͆f”_]OQ=.7uOfmSOdUs3Vl&}Č<2عpʯ˷WW6꣢IQ=ΩXu>W}*=JdmۏmleS,eY'̯X\VUbJUFzGeЄХo'VS 'js aW\B!De$*n3חNÁ 4}^j@BBC -ޏ`嗦TnBFm)z׮dzouԩӄ?.ԩC)GSzfOEքe3&R~_AfT݉J%hFK7;w0@r|y11~G݅OE9OjNCLu]{pr G2O:oOx;)y xϋ7`l6]D:eįّyFAt44j/#;!<,Ɲ絍?}u7ue4ggiBH 5/U>]x&[׀ABo)̎>qS}" aQԢz,ɬrOڗЈ ,YMO`7qthET<6@J$uQL[8F)Cd QW~U`,mVB8_2Ys9q&(oJ*p A*G4؞Q}g&!J~p,!B!,Pn?w;B!B!jۻ!B!BKIHH(vIB!B!FuuB!B!3!B!BQ-JOBjϧo55Qa%_ߚoQemSەV5%MRU|xuKqϬg`s+k*n#_QBjʣ.! ,9;>$mL:E0g5j><11)83=;0c¥lڟLŝ ڍzjD|h;'3'3GukyZr>ߝs=]׫oc%Rv2Ǩ݈rWt|I6O~Ys 1=a3YtSt"@] ӃxaX{H6ַ>fޮYrd/F,u&S "|}f̙=~<9βw91Enf'nPf:?=Cϧ-}D=S[/aiз3dg =ԙ@ME zub 7g)?iyY &cHk$o@c#aga]95gc!nRا7}8'G_E3KpWxc]6c^ၦ/!KM_n>\ \><[ ~y'+E) ! }h[fsh';C-2ϒES(y[ RϢVixv Pv֜@sk>3O( FOgB} ~9fsNqԂaS$R?͙p}bj5aѷ; 3a-TDD 0j8T6dWrf)ycrײLZԽxYg}T+uZs˽/uP^i N[{ @6=[b.+'$61|iF_s[6<ؽpG2 5U ߥ~b֋ИNÙLjϬW6zow'p.ˍNV #1~zuGEg>gL4håտ%NN/oO{cЀq!,t 4dI"è&0F>'mnbݏ[|纕?,zK=ÝRchz}1 ?;iFil䇽7>&wegt״5{'シ>A;o/ t)쟥Uڤb,GukMѶpmԹҸSs;=WX(UsrkǗ-"uOBHl9cRe. !y[ncǎq~z2;[4mKεb5gכqyn^)݂nڄr3zB[Zr)yg gٹ?p?{ҾM gvn7tP{5wl:`Ƕ]iKxi' mX愣|W5 \8fSE}OV1} ۞筷_el,}eڬ DWT0O^Y̪xyqѾ6nvJpYxMM,ؚZdEޚ9e! \_SsI{34=4ԽyL_pL"wLeXQ֜x~/EwW<8gq25p[/, "ŷ +;2Ш nI{IvaWg&+[ڭ;5_Cg^fԻiۘ _ڷ >TʇG1;ċn$ΜvܐG{L_qӽs-' X.rhw&u;6Sg7c'Mű8GfY*_Yy[o%`xtc)Dˣ/{3,>fg0: -O;ax(oMknlV'M7sg!T_`K M4hF &%~xeǑ4, uWJtY5a4(9]zj ?#2} \},>I1}K;?x'L\7r\|R e`t G{=k Akɾ@EOE{74E"KBV4ȳU;pW'|ʧ˲|%LVr*:9K;?Ȅ 09>ڑDgH ؊]آnٮ)Y>ф{QDO#)bg";mPSǃaKeZM`ˎ'mxkav_cc.V-CVy'紱:0^vsٯ#eycA]E'Wj_ZB;zmQR{~JQw6[x`?iA$M;9?^‰g*yg? ub~oh#@nUUƈ4.'&x13X67Κck:B!=sİU#q|W,lݺH|PVThbZ lQ> `@hK Jx#輊֨熾5»Z\o9X;)y ?y&{f0LYqugqEWw,[ʧMw ziz]wt {{OOZsׁ›LhqӸv譏ػVx X{}ʼnFu1 pGk:U>Ӈcึrj+?9h!N,wn6ʥgBzHj:w._V+X%?{ĥ~UNebֿw;q,}XG:fN:=b1;w&vxv+*WO牛JG֙]آno{d 1f'I4O9:l_{ʵK_ɘp}/H^ǃ؎%cmmŅ.4TPiq+ո+ ;ׄYWc&mظ=l#1:PM[aTk0[ڋ@2$$+a+|tT[X .Ɠz7$eh9S3Ne8Wc2UmC&kn_ߠ|^W1Qc -Ы mW—mT^w,[~b_L G+3VT+E\;B\*2 C3<:6"\йQ֜cl9D;rFҶkS9s wsVWtGr]lxsqĸ[1ȗsOJMBq3\,oXN"y7rFSoPV+ \4[ OwTn}vʏt&"+'P;'m]T6 :c3evԕ >7d^b`.]c_}>9&.2K=Y9f4Sg呶ԫTjJU}/3!d6R`\2vW&(-&w^f JB]8վP xtɝ̀ w1h}eW\ѱ_P1EtYv:CɄ!#39X 9l:Lx*KN"[WڸUel!131~eC9q>,ygس1h@_ s(Մb̾{%@ ]|oAp|&,ҼRmiX1d&"o0Yݽ*3ibS4+ LYKO-䥜t ڝ?4fp}]yڐ.y].oHf+gO8Ov~lߙ_t.\]G[eÙ-9$l٢+@%PZ*b4rp/>aX 'X ;pU4|B1%`b4O~~>F.& ؅3L)'-J4S qy~Xڷ ?AAAR<T7|z>+j|v":֞㺆%& ٵ&3G63'6uU:FkZo~٢"eg$Y1bfxv[N;M[rjBeYNHSMtGwEݠ>Js[c8WcO#XwG20Yr81ȾMHFEԭm9V;w'Ve&oq6u|˼ҋL6iO=<}1߾U9 ĕ" !-πHJJ3<4AץY8i;d֔_|ɋ"ō?u^?0?|aqѝ0Կֲ;= fOԫ_ 4g3yo hC:SwQ;Fȼ93xkoT752iSnv_gf~'3T7ň\M|Usӽ]W+4F]LyޔJe_=~Ǎ^9b<_r2*]0:IDAT'h .nt-r!>L43%:"o};4kȠGn`p&FNZ}x77a}QW H;’O&(%}2vd'$3.c^ݧpkVebR9OG2_rXFdViWv  |$'w:\s|[5HׄaCQQc6VmY-5%Vkه[SLώrXR5 1L~Z|(+8zjqL: F&u)X[Cuvs^;vuկ)|"O~Oou L PUFE-˿Lm[rf+;Ց?|?&-Bсw"H_[ ~~x]5GCݝ+)r/8z =?ڥKgG!!;4GV| %Mɞ'2J^ GUV>xs_ vشšM媟WB'sSGwGv~-$2AV+;TwRc}|[lq6}*gNɗ!yT5&t=Fygļ/xb̙CJJ ̛7/긄ش /k嵯h33$M~v9$xx6FةW|N;n3\<ŌۀKUNkN7#ߺ+Gɺr۶}7&w=Fӯsssx3gN}cI#&ٰaCsL>=ꄏeTV<"wg8)]J *lp"'wc䔳9 R&X=-]sFsάSergVTG7}FYY\{T;~XW{$_]_υ9[87.KzphW&M],2俟҅&;#O=S&GsoΚIofvcz ɇN } ~k)3*cg k~L<H̞=w}fo'4gfET4W\qÇ'##ˣXT 䞓EV]Cm]=:l8m|޷l4{֪ p-ׄt _ّ0wG@*gdJlR|oCiHM-[Ųw `w6Ӈ璬m: z&SHhЊOLOfl2%|wesg2T5N4ՍB4: Z}نȇ'5XW [f z[pƔtMBnGt… |kk̞=Yd>x FvsꫯbHOOgΜ9>|88.Nh:(MEY].%3~ ;]d:=ݵXK]){vڭ ;iTUؐ5z$8H|ux-;pcblkQF!@ { 6<`ef k4Ȁց䉜?1K0/)Աhx0g޽SVVl)ĦG}``Μ9.XC.׋-n[fGN =r5yLT6 PU92ݎ2}mrP*~Kfƣ&Eɛwޗ<5TV-UGBZ թ4om*$wc39M|D@"L{ʙ?~×~䛁g2X5x7M_|V***no1Gw^~̙d:'bܸqtY!>M۵mu3鮶j=f\uu.&4 ȸWRqUfgrb>n1=6SeǥkpqI2ׅSل01iM42 ZH߿1\s,u^_MOlT"#5\oPe xʢ7SSMY$b/4_u\mzu!F餪*femܿ蕟쬥Җis=>l?ǕKփd0rHH<*-:4͟G)[v;R# 9VleTxQV:8|Kx΢}(!o[=>]lݰ5Ƀ"٩:ߩ'x?NUy-jVeP,m&7@#ɒLwlmx`ذa@bF͞=٩4%6?.))9񃎜e*V)brdC^f2nL1i*6lANcysҰ۪#wQ񸼘MdwAvof͊9 1we)vo ^9ōa4gg/Nlf9 zR0dDrxp0(0`yC[]*}bJoUkP^^w\^x!^SQUUٳh41yO҂ ԩSƝI`b6%P܎:j 뒰&cJ{m5vh̤gYѹk(;܀M!+3 J'!)#  H0=| |Ϡë^oW2|mTͫ5bBg %)*W}5I'#u٨s IJDŽfo|8tˬs ZĥF(3`%-ՌNT/mVW_B⨭QUOey}஡`_Rj(kJAӓtZTVEo[[`46;:*=H$ޠ:DW2sTsĚ;<bs![? k='?@vV[j/Ph?bq1oٔXTvi 60a*h-I[vGÆ5>\dwRUy0hRD >UJahAСlЍb'l9ĊWri9[?|[LbkߢL:( [yp?q۔4j~zܩ4)Be,^1=2kLέĺOr q1ǹSx6 /a)'puf ӺZ^@ h;mF**'[TTMяNJc(TB173dg EzƯ'QA$PjX{לT^^KyOBSEEEi›sZ}Cz3BR ;0ְrz$ZW:LyIs<?xM6E qcgF2޲om(^ǘ]6~WPT9Ck sdj+* h<z[ 4$l_!$16( 3}&O$Gs 6jpTdtd=լ.!qE-` ۩uf^ }!+ h35+:UAї\: H̏[I`/V.BXnаwS⓵8 2-Ypbɻ0]8iISLz*q!'sRaS0 'z*ͬyC ([Zs9-Wt  MJ⍸ @ =/i5v=#u|Tj׽‹+31FԊ(h\(jMט1:{+6]F2rroYyZ*r fgdAnDe0Rs&"x"($,1x:Jb ͆`%Βj#ddk_λr${& -5xz[I\}#5|^XGqRg mlXԂd ֱ"~6#1Mɨqh'PpĭdR f1Y p#xat1B s_rـmI#Yt;sC4eԏ o8{ګoq zrgpXfHdd kgyC'A4H ,P'Mhҥ\}uP:ɼ ̘1hgE 8XbElOdNEZA@ 0*JNEM/K^;18ѯ_ >Wfw^:5_tQΉ@pmq4p@222 ؔc4q8qeXgܹG; A֭[ȑ#IOO&1b+j梪*EEEDz1ģo@FZ-iiiTUUEe/F FZ!6Cb#:!6Cb#:!6Cٴ F$$IBS߽^/^oejh4#I v)`-%U6n/.ftM%jDӝ0*N_7I )V]륮Z:,t:]P;NǴiӨa&&meNc~X&I}R~?{ cҗn8}\ưq$s66i}5ȓ^ZƆ 18%O=|s|d97r,}f,.E}.~=;¿>W}B2ESU+kM\{F75۟!G/q\.~W=)ihR{x?qcI:Ch9]j[W{0K.'<} T*׼3|>O*&ٛTmE/~̦JQ~ i;r.~u O@=={PҐ>t4 73OsyR^^ΨQB ^ϨQعs'Fr7S? V>t&]# JY-̵wWjo68`堳S ,ru54(@zt)kO,td K=ȆiL e[(14m:N-%o?rkYc1ڂ5~H!Rqj2 ʶX_uYkehվyrZ#><}矾 't= /IiLI}*Y~7pPWL~&wqc *!C3%x8P^KL.7&ﻇµq8]CAKM?Tҳ卥m9o~ WZ_믬ۼx3SWDW>x.xuKxxzyv /* 's/xo71d܀ 5p}7>͍LEݻGe߭[7jkk?R!ex}GsBc"  (ϡo$~qS+ocgj/-PP0i{^]8-ÛB.ÅÛvba{Q5^ܔl>uX-$)z][]ǤtlҌaihe1#?yXs1Ue I5Ep !rl*3ى}zq8 zn/hS E@p z'oI@2y\Bޖb?S0ڿ16؊FwX>9">1'Pn5 MgHe,&3@2u4ɽ#SWմ{ńA]-d2Eeo6zHlc.;xJPؑiͻv[J Cj/}$#'Ue݄dJ wۨ+LC0uN 7p`s%#1m9r2C޵zw E` wPd> }FV[HLSpc\=^Jw={V?7||i\ ( UoW"ׅ;#&CHcdm)Nd ؚ$I v{&v;F1Ět [bnR(ԏ | r,.h9hzV]u.g:j U)Dž; {t̨c/]J EJmdUo@9oheVZKQ}.Cg1ctTa@Q2eAҒ5z6Ŷ}I;s DG!K29iIlsBM(O?maGs5[BnY%Ș{Lg}FcbpP (jMwS9sto;B:7ҩ#٬n"^\ٕr7KcyJDJJ '}II xCx{GВ1j/Rn dh ZB^;@`{٭`ٛ6s2N\d2_3*KYC{#G~ IYʻ?尻d -CN q-9'͚ԷYa7_ik <>\lu&2sRzxoj=:eNUA*کڷX^چ'ea0 Jm%Ѧd3W<̫hS2H1~6wb4Y e9]+ä9F˷U)n%MZɲhxpTѫl֫Pu9j{1._fcbgɏ|A m}^]kױۏ@0ҦUAWC|V''&9>ul_?pksc:_\7|=/)Oȴ_O%[/gtZc6ޒU[U-ȨK7dZMg|O륶 x陝BՌh f3.ZȮ7)<?+Zp<ˮg54>]Lsxu# YNMhNOW*TvAO̿Bu^ˡdɈ 'YCnmP闲}pO1vp'wxeүђ67Vgf6{FijC.]ܹsax<%dd`iq=Ts>]P'젝xBUUdY:HVVVB߾}lmzQlyϼvEP5zM^Lv,YŒ3ڭXB|(Z-99ٌtLfǁ*pc2˰rdY8hز_~ֲ~n݊AՒD~HNNB:8tІy@z*c) K9[|j際KJr=]ӓq6}%2Փ EQ`0зo_4 $5?w &1McpddTLychɤ_Blłb9T\owzd}sӏvFi. A@ A@ A@ A@ K}qҸGj/ā,h4|!&EnS^^NCCC䅟cI0dggc4!6qv)--%''={}^={PZZJ^^CEMJ}}=444DIHO,먼G7'$Bl@U湚iKP=c  WGojKډ}_w$^WFQhQ0 &Xg fjwx֝Dy#&puxēoUUx<-n &NEi EQ rgoo/%T-XmPJcpԢނ]<$Jh@M\#>w,H%yX!XEJ+D뙅"yJD>Wm¿C̋vFy޽񑵸я0yGBfjJ10;W&mA(VPBUz0nG#JZxbS\7|أ8np~B=8Zm;? `:NdYnj {Iɷ/ԫL(5)Ԭy?zUm މ"#Mr %02J$IԱyqS T}xowaJ2@S݆h %A(Y @>yz${a OR'޳J#[anh"v=8?XG lBJQ){z_HUԆO2~f^eC<4+綏xnR6VdÍלAJݶYc )X{eo`JɾYJ)l)Ge-y+O!:I?P5!R$XLi|؋bl)z-:BzQ&ڳi7!=Ȃmn2ҫʹۧeΤ^Dʿr=*6]4 l‡ YZSnI>azUO,d"X9sf<n{o.GX?kJ->MEzx x?lk݁}B8/Xe.c)pm%RvZrF W6*؋?.==I N$ƳQjYMz77eXZfN G\! ֖QK>̼.GʁOM{298 cYwV6*jZJ7jLBT=*^Fy7HGSsJ6o^DlҌa]H*bbugE YOMAM[Sൄcl\=!oD_Uզ \{0䒻,@ì`s6\w1$ ЛN ӏ%+!چcHaTb,\`QF_v?U?c~?KW-9$9[uE;c.ر hIbkݓQqjɝHcMi$go%uGV^IGETS2iEQQ@UE]b![fmO"ylhREi.sUU}`_ T/^x>nZ{l 6vsph$lU:QTžROpGJNl$<` *].#· Oh*<]~UKUW;hPJOMC>vCΛpe ;dh/AÿDW4zRn.*pvlyw<yxadJgtW17dB1V量p(N{קs62ݶ(;rk4O" uw<,Tz>%IBUT|^t.g^zs-CU/sƿ_~[^v>1U}i>_Ɣ;9<KTWoa.*k\BMCիFvzO0%tR}v. Y)%$]K5wFZ`:iҤFK.eܹ8<(--eL<B`k>5\40;DN].IIIAw uS ^477|Ð!Ciundf̘4+Vt2W݌WcV 7G;A4".xmOڒh!8u,r-pw'%³bQm#cżh6RlmQ"ӏFdb2EӘI0JM3i0gr8g^i'?A|s/:}숻 Mڻn![[[x6GNjeuz:cy:PbZ{lBl %%,XjhԂ IHMM%;;9@āl&77Hnnq$Iztd;>!6qb61͑ ηn@ 8.b#:!6Cb#:!6CO栴#} +$I¨ג5m3#&w}e5R#8deb8(e_i29u:Q͗ ]Rdbs4q<\L7 ӁysmY&8ه(}Bl@UUT 31GC VEo,ƺ$f'W[4Vg1KƋ8uZF^M# &2" gn)PaSt;|k0gBN=&<+LxH{!GjUG+@|%X./mY.bY5:u8$%%]<0v]%|;{6J q؎vNaF$l}IJ5IRolå2<}}|R1c<|xiEY U/G/T)s*.F[ڟƿCm`7VB2˹ݞw||!; i 5[VS7Qf_l|*vPwP+h Ws-j?*<ƀZ3KIZjh71Mͫ8m2bǟrx}xI4hzgmTpu,^Ӊ,xN"6J0efh&l%&ʸ;qJ9,1]w,Z|PK1תVN\Mi{iQU22V!uWaPpR_!ex:ZIJ0MrF$ :64/nJ!3YӸq`3o_=C=z1p s}ko6~tW>̅㬍2`F`)/ c_qJ /kWf'~|= mŏT)5j6;|C`GSu% äi/{?d6짪V׌t _.E}.~=;4wHӇ-P+G;ΏeϨp,Psv_VU$)H]*J.ض>𐂵Xfͻyz$z=y>Ӓ6R [ QY'{\/w>[V!{]p*nI]1 sO9l2W89-4OL&.o܇y3ւZucޓyh[yc/|ŋsf5&;EQ@UP#TUE-'?Lme_(;]`8]c lNQQe[O@Fo\TԦTi\FpF4ɔFrֹ_hm%4 #,΅{%z&ڎh( *-ti]13\UKJF{{"`#*}4âѓQVDQv>XKCVk$<` *]./Os切h˛pe +Hy\4TcǾ:<U"ezy) gm=?Mu0mpU[idwq߼ܽ۠&q gx97cu3׃eW3nOCN.EQsMG%{\9?ibWtZc6>[Q YLw B͓HBS8X2HT̾4^Y|?/rc̫ϥVA ?EiNr6go_;OnԵIի*׋۔'}\?(}c.r|㖗FR9ͫF,z5 nnSۃWLW]{S:χwNbAZ`:iҤFK.eܹ8v'+ rJGmB|-zƂ80$4-h;tCu< x<^m݋Ũl }`49(o++$ ɠ%'B~Nz 4+Cc1cwTp\!I&]3L8Jw$@ A@ A@ Ө8՚׹Ά,h4AM(nB$f3ƸGMnJKKɡgϞ Qzٳga0" 8PUz-i˺4H;ֽ|z6G:ÜM[JE3wD\{KQִbkIJf7؊o+h F} ^eީ:UB[+$0Nyu7Al6vG套ᰂ5 3+N={h;{!;L?ynyb_߫ 3 mo!v]v|@z9MڥgP[}h5CECSZ٪엘.}g 8ݳWD>WHKK>(jve4 'D vܟp+544>A¿27*量= Rnys%dD^õD]cܠ$ꩦ8hg<\4/x^-wM'ps-э>uF"@ Njes9^:܉(_wd}}ǺOqqh}gibӸ qV΋%RFkwlKlmtmhᄆqY:I{<u4a|ګz6_%2Hb t:z J7u.lhmMM'!fpNQ&^ۨD2  NQ";~<KeltxWD V$~_g/g1gx7عL@z>$E^ųKcވ*#>=P@>*_5>4]l/}" s4=FDγ޹ GBϠ˧xy<edE_32kITQ6|8{2Ka=l-f,"9wR%|tJΚL&/ڇsk^Es䉗O_!^br '2hmZ]$s575`?t/"f4Rc5ޤ-RȰr%|b*9E6D>hӟH&Z>#y߱d29#x֦¯,$!bH/q˷5=̬L\:{]ٲNJw6Iم$o XM?.N1|άZSh/2^Y,FזslGz:^@tԱxzeEx[pb9-wMM_a|:φ INJOWXX{L`_"(8s69G0*/ĶBl^`ayu6LF4:zьN=/֓&:m'^hS-=PgͶxa ֭? "{ѭp[F, f֏_w*}\=?@r8s(U kb-d7HHC+jGNk3ѹ )q{`֢ڝ |Bxo{o E)9_Pi|pZùG MO_66+DN9hiӍ`ĸDtr#nfe輈#Vbhl46mB<8^~ѼS#8^cCF(o-Xl:^~(\46mf#=={RPP\GKBeOzzzilڀ4rss`ٲef2q\A222#==Ʀ p:瓜7 ` 99Ʀp:-0aDKtE7M0q<46&LƄ ؘ0aC`&Lt̻Qm"(bXŶ%idYpAlLWI^^IIIm68itڕ^z7a@$Cyy98'ŀilEQhhhy͘ :bb#u7d1KjgB=ضm*mk;,О/&[+-hu-ŅviHQQ5h6|c:ck-Ȟvu.kFIX,Q+sgZA.};E9bʤKka6@xVa zꩆ/[odO#EC4@+A8S#՛wtk`ڵ|JNzsMew1}]Y<~; nN>vAY$Ij ,@0{<sEUQ&_|Qdqz;i$-yO-䍆X =7">Nx~n۶ \ݽ>: s(ɺðZɣۭE+7^º~6wK9P0iG ŚFˊy3"Qa9 20]Ԥ׻N(j5C2 01cD2`,l+ 5$/ޠWV \}>_9Z>0C􇳸Sp%+yדd/M"!rTӨKg"q9<<aN,cih`%߼17h( ,}C/If(o=H;|LF`Pf-L`K_G10-r jqb\[[]d%< .2T|%?K#KO+ OO&CŰƳ6DDl v 2-Z w\{)kx)ƚ%1‹CoFI<~ǧκwQY̰3pC,]0o1T)[YQSn~2)?j!Swr-f~ͳ9M$ZtV[[Kzz:(\-](BiO)lp]uj;>xե;(s0좟{ˇ,zjg̘kxwJ,o|P VKxt5~ %2|ϼʃ7vI8}_^Uy~ƌߜJChK^|[@%?~bKO(>pY,SONcղ9>Z*Y8(l-.n ͯW6?F+{ǷQ>?&ٞs`xBSW׿i[,՞Q^/ͩg obx67!U߽KfrC |Zz5l[|C<|HvADFύ'g2x{K`BVn.t9~}$G}W+\w˖-l߾غuػw/۷og1hƏr&drڭ kK3ٻ8=tEA2lno2o_zM%3ۏ\CҤ!noC<|(v2+jBty3Xoc/`bV<f5$A^/ֽOFGFVz&s3/MCld0WW21+inJmdx=89ŠgJ>|c=!d mA#c)zҢ #W^dhT^[{(=w׼yN޼m'?y]ACv+@RYF0cxv[8|JXs({LCu}%n\\F(Np}Ɋ2?c4t6OûW%G쩜{MV5rd#Tyy9gԩHO?e֬Yу |-(JhZ( =KY/YXl2#'֗= 5Cs)BAY2ҷ ) -%!o$'ǘ"M[uȠ:iփ(!~ݷk֊#9,$ xԜS@5S. ЫBme[֚C𮡺Cd ~XAT#n6뵻˧Z<%YQdYsj)Ȓ( qO@QBwPXE iteo #7,Eɏ__ɋD,$""(r4цE.zw ܐX|}9>>/#Vwz# $n: D `ٲe3łglذ%;(zlfI!nSM *dħ,7)h#[EpjS?­Yte[t}%F# kI"-Xw% C5uA0AtFM"=ʊeH #?K#h':O>_\^ •w&7Bzh}Հọ^dži#S%^\ڍw_ÀT/%"Sjf|7?@ 5k5k,Xz5&Mb3c Ir1T-5MU#4wgDx2#+: .Ed$If뾚p!p;#+ 2 [pll=&0ԿK }nXp=5AÛ7c ÃA#4`ю)Ŏ榢ڇXʻϽ!ڜ\ RSS۷/Wvsybߟ^jkTq /ҽ4xj٨+ő@A VSp=Ձ`t~(_&hO#ͮ?;֐LA)X0!| ߏz/6 5ng_V7< |U kĊ_smWʎ^*$)HP@/K]/u VFH3a߼Kn7Y c?<8i&^:i"x "#~^> ΜԃRk>NggV i2]ZŎ[nH=eP, ѣ8NDQl~oРA\.`s9҃'Mq?᢫?^2\鼚_-Oc_Y-u KQP6@T0ȑH+SbcO*nNמ?i%7p;6mK@nNI>b$.]⌋Np,aL̍Pׯ礓N"`X$)\5fh" -WSoVHZLmOxǵevk \4H #DK4F233[͛7~%^,1*Iّ c yIII,^Aѵkx<{s91\duN=WSMQAṂgpb)^dЬYWV܈<юGK?'-QMY,`qz7 >*k$i2pU=PC}7@;?֛sl6C{$GvHåx#iLeVZUc3&LSRDևbO5ME@׵Z[>\G}Ԛe $]Sߍj$gk)b"ZBJg*')Xcbeu ;7֜<7{x`sj͵b<]B鉖/X,dddS1`vv18Dk F2uD<A{!Pd„ilL0!0 &:1aD46&LƄ ؘ0aC`&LtLcc„ilL0!0C{c(X,C[\ &\c( ^Z|>f+ LG#M뎃QU56\^$ݻw~rrrnarv\wr"$ Caa!Uo'G#GQgϞl߾I6u#\0AB:V^$Zv}(ÇIDAT`Fɵ5٨QԲ"*mC̑XO`dZQV,AYeF&*;qTi`r8L6Ƶ &Z芢E]N3m<ʩ~G^Rm:^}g~m!"d|eeԗ.XqֱzxZ:\mƵ=x`%#=e; Ap=$neE{XVC2iF6^#Rlm9mZY[=BDی(F_ÿ~5w JSyWq˵NuoqU<* *kFi R*^GZE0|Oma~+tܒ[[b5TXGU9kk׍mn'M¿~5Jh4')(n]N'Oe4<)_&u[ˬܓ͹%Ƭʵ C"zfzVROȯÆ"+夦0S8PYh U *|V^H+~iZ5h-׾_\!Ch,]NܵHuOދh\!C ﲥqj7 wun\kJSqnTck (5$i,dAoD9Xu8ci46d-` 6)rx$xFtc^7,OsȀ%Ŏl04IZ˵Q| 'N~=K,Q۽'Ctotd 57d% [V>8E 2ϒ_2ȮE!)>/KZehC;בizjQu^,Y^rdExΥ\rr)",;Ru\^>z!V {-7:zU&0ZC2by?`#Ltf~5kGEXc;@,:o՜gB;jFn\Z,"i}Pzܞ̘9OȤǷm+GV6oW2~BUQ[fwr\ڝl=R:F**r-+(%꧗7V9ںM[ո"9In' >_Y? }:6l,~=.j$|~=k7%O׏0Z$GHEr% !2rʃ͉O<77`cϐoNȁ ?@3څqgソWQe,} JF^}SS?ǜYg7$&5o!I>_SO$4Jw&cxz[3*7QFoF&5"Fѵ~3;w[:Q`p,cdڛkĪ@,7%"c5rn{Ɗ|˗+I;H&߬آͱu₩z'P|RP+5Uܖ8kHNptEly*î(غdkxdL$olijSZӋ }uUC+'TFRVT4ٍk>ή]i(+cMW"/Ј{DO->Gp%@p?lRD"JEjHba(s/VsA_155n$ =KXgOga2rBVn&l::Gfq叧-d6Hj e vIxJȲԳ_# IGhiO!i_/OZUs3\Iwv 1m@{;k:'6J|x5R YfeD:FiԻȊGS)t-1s~Ȓmn|˩1~VFGDH y|H ADA) unzjQv׹q4/q{7X_Xh%yD5,\IM|A@dE!ƛ4%xIWo"G//g6kZ]~Gxgv1*rF,j 3m8}xI*I=LC/wIE?ޢ~^\0dlcU_Qd>Y${ү 9,ZW*&&-Džo$ѝew1ߕ-`f̹"xټXY 졦1 @Fjd/M$8rZ}vEQq1db,]`%1c;oh-ײ= _B H!C#Q8r1e_po~R 8/,7c) + #\kv1Yʲm ke+/Ƭ{a@{J'"(bo AС&Mĕ{{ݭ޵ :2}Ar4:"uS!WhY5F'5-RZLoNWf*F<ʂţyjN(x `;Ur#iPߍ'PEﮙԹ@>ĩ#R^7;a`.44VDYE 6((n._)B 222cI T_5bL=d,U,_*'t5ɪ&4n{>=DԩWeK"m"\ۋzS_AV橑=7S"<۷+|xo'woNl9yS.Yԯߑg'8k_uy4*c{Y=7AG:.w)vӯ#$Hغ8P'pCMl38 ˎ}n$E5,G[~E.]?а;349&:,V@O+yXd b闎Z -* hOFZ>mzvjRynڍ f het\KP>/C!U;2aDʳlqHn>"wEK2c?̙[nvW6cKn~~;/&t !err(DSßvvDΜ:*I@XA$[Jt+Wxw-5 D Q,'M'ޱH:*%I. U+^=<>y".',A]OnIinx ʌKF"SE"HAPd#|Xȋg1.C:Zvp=a4Vmb#? J]=J0B= oGA@Z\{}d4 Zr ZsL/3r~Z}Tl[:ٹVݨhnEZ,gO6V ܫHWH%Y]7Nm{U;3/v]E0:ƫK%ۏUZhF60z7r-\8O%+e)!;} uO>q$Ba7nUwU祢@ηkz3V^ȘKF%=jH#r'Z3ڶF6-G?qDTai&e3ױ u>QtfU]A-4Q$)z{ГF&&׭Ag:lc mKѶB RVVFjjj̽uLo r"IMM%++*ʎ;A --,\.W|&mu(*INNv.] n'==L뎃QU8NNg3&뎅 &:1aD46&LƄ ؘ0aC`&LtZE˄ &&O HriIENDB`geany-plugins-1.27/markdown/docs/Makefile.in0000644000175000017500000004726712671261402021353 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = markdown/docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_help_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(helpdir)" DATA = $(dist_help_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ helpdir = $(docdir)/markdown/html dist_help_DATA = \ help.html \ plugin.png \ plugin_mgr.png \ plugin_prefs.png \ plugin_small.png \ set_filetype.png \ settings.png all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign markdown/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign markdown/docs/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_helpDATA: $(dist_help_DATA) @$(NORMAL_INSTALL) @list='$(dist_help_DATA)'; test -n "$(helpdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(helpdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(helpdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(helpdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(helpdir)" || exit $$?; \ done uninstall-dist_helpDATA: @$(NORMAL_UNINSTALL) @list='$(dist_help_DATA)'; test -n "$(helpdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(helpdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(helpdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_helpDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_helpDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_helpDATA install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dist_helpDATA .PRECIOUS: Makefile # To update the HTML help file help.html: $(top_srcdir)/markdown/README rst2html $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/markdown/docs/plugin_small.png0000644000175000017500000034254212671261352022500 0ustar00frlanfrlan00000000000000PNG  IHDR/sRGBbKGD pHYs  tIME0 IDATxgW;oֽs蜘3 0rlXvZր-adC6 [+k`G;Ys3Cl;WwWWWu+|9pޮ܁3Po{>>JV:OQ%"=00pNR2MhJ)Rh>B8A5G32B][eyB[K P pLADDC&Zip}e`j0Q;!jBOI2S(+L,~o$c>M5fCyK(2DoҔj²,L`iB[k)UMkj~ü06FI2A)MD[\4Ba mZJtCMcׄzc6?=ֈ7%1DMߝyZ,Ac*TSFhFB6 G/Pњ mzƸ uY[ 0ɓJ%@k t:X絟]~P`$DjPLanip,cg} 9 u<^)k{5J;``a(R jJ7$` y,8Q /G)ꆡdWBfffb!"J!Dk-lHԙ4qm8ѣG ?vDw^|jUb}h y,GXQ)b%j'x5ţg[#FviC'\!go\:} TV{W \dS/E93bghhc,3a38N -+3#̬V<-Ln*Cm\qdYmvvNqE EM[|a)F1f.]&[^o4H1f*9]f|v>VV(fHttQ\2x雔4Xat=BHZ 8}7w+s>ϜGH")SUJR6 ͽP2%IJdkM:õ777GOOHm:w L߿9~8N7,T*ō7qæg[J3m' 1bw)'3;E.̕J -GWc6sdpAٵe޾0NF9{0%~(ǎ-k;qD"LMS(Tijݰ5 _!x-wH^0sѪʵk2~ʼc[Y瑶->vt*EVL˜Fqp'w>|Ga×Xmnޣ,M^&R)[\"ٔbaHeIrI_0˯^a\e[Ď<ܵpuҽG\{)7-S ,IAeƳĊ\p1KeYg*TZ=*Y+<o"\ʜBiC.M5s7WibeCq vsx#ouڹscGPXwŏ9+L{` ¦%M,npdkz#9φyq,H&+9yaO&߼zS,. S|xe'Ol?BFFF+._̅ xꩧvx{W^%NԴ)%LMM>,oy6r2|o~\z{|>ce<<-GZPFHPb)'5?D~!$8{wޞgؓp&b;xEww'c8G1sM믾B[?I('Le=K&vZ0x4rGQn32kqa NW*ZS2 /`&-t4+ӓ xOTdye}C(3J[Ok-GEνHu 7 r6n%J.r3TfJQȯSilCzҒc"}Igrts* gFqZ{ YV8m$y:NSXi'[J,gG9?DC;ۙ1 GDq*|tOP 40BY8|WY3+ZTJSU9y?yM*.41`B$ (4ӖDXk3MdMdID[1[h'2tI2.1A<*Ǜql +N9oT2 G8,*3Tq:N޾HGJIJCH"KED7^{Hk\_VіCX]-2?u|!z>kRrqr]?C]FOOdrh6ϟ'bΝ^h8xqSSSCTUz{{r\`%IF>]#5(aGgW+(aߝdi`+KU(t+.&9aS6ma2(m-bDvVWֈ75SXf-D*br`(G;imm-HAk[s[ziKƨKJ$S:(ʭ{0,2GyPIh gOfu=OQO򱛺QSnb"܍-8aե%LC273G#gig&=WWiX˖hI)H#Ʃd1{*AVaxO2=rL%ėt KkZ;9&iO*>tq)Xu7+tw6MXA4Bssy׾,mm)yɡy7‘r.#dJ'DbtA̺@JUDiܚYC] Pe" tBp<]öJ$8nLǶ&y}ǁ哛u[=gX4 /ء2lY6bC)|ڀ&aض  nuMY֪賧::زj'\(K 5^2 85¬y iY:[Aw->2 R?ωeQrI0Dbq_^e pZHpp|/uto!-u^M>u6(t3ul U>j V`_ff@($qD""C8?x*O Bs?y'bRCp)zQ^z{(Wjy7c݆1Z[[X}rt2ʇD>JXf<:a$(g:2XMyuibz" 0P133ѳ߀2f8zc Of&^} #V,C27~xck["&cR` xt0D| 毼ǝfJ iB-C|GDa%#Byi'bf0[0heJvJLOg+V;80^#aΟ9:=MJE0 'LuVGb)* => < ĸyz9#4:aؖ`nb "ztc'$*ͽ gX8sP8g&<0:?2 Ӡ]e=Wbuiiٌ\o9,MM:L^T]_c+3lڍPGI=& 45IPBW14ͥxӠM:ܾDZq}bx5>zF44wL[ëcDcOzaEl"3j+Gx'爷ȱ>2 be?Q><(J;O.L㦺#3 CI=MI9tJY|G3ܘ%p+޹X>:&K/}פMS |01/ [Z T,P }A(Fgzc\-k=Zcڵ:%u0k]Q_^HII %c{ ~1M7 "dPI ,|alܚ hjeZl B!h F>X*m{_Ez~Ml3-sQV7uE>uGb@)eOZSVQRbC4k憒Iȱe0Ț)%J+LA_j"T)֘in m ha+毾@HcuAB/.i)d&X3y *P >sww0ap4YjǕJAv?,|/~VAc'q?~8sU|5hv݃o}^gϙ"6^dƧiub6K5!'D40L}[o7H(-=6uos 51%0 0^~㮲q|>8N!0l,R[K4R @ࣕPlv_SOOin/qYrQ0u^YZZj4u~e0&ѱ-S`F*z0NkMpbk !%gyu[GTjOqDzFԳ^b4Dǃ۸.hczAw ٻ>y re-z;LG0-cIYBJ$PZ!Z4}" 0֕ 3-Vm{73K() @kֳ-\ àT*+?_~e.]_@nWV4ujaT  S*W;H˴s;A:!S.0 !  ,{b 9S(N OaP0'H8xGSS<"^^F,`/ /q2s^! (ZZZLi֛ ?'|{̙3:u+W0>>Η}=?mRԧŅ +==Xq sn'@4VXį>ѶqVoV0LM^ÊG06s%|x``!|n ;os6))d~=5 IDATZY-p5[8q͆JOO ~v?pGϑyԿbvrP8%|;WR h[B-*XYYA)ET"}\tww {)%pm\֣%X%e=ayo^˗/m4yx"_yo|g}u}KMR! 8\RPFb ;j!kW8|C ܕU8#ZkֳhJR.X*H$1Mk /JeJ0p,X$LNMS)ٯu=C!P&2 H$v6;FI| gy| 2(3C*Ձyk~lW^ٳ(G?>|x.h7r! 2Wޠi7wM̯U1Q. 6a"blYX_qRN'pZӘǞ:z4no~^JphV]oW3g+ц" v0E>uEVlgt~?f~i7X jlf^hY][EJ 5- [P:ɦ&,!@iV+*m[.܏QR())T|^Hc\[Hb]r}X(U*1Ms=WJyUlBZfARi M<EzMkh,Z X6왯>JZ3:U::۱,ǶRv͟ZAZ!",\@m%{A*hYYYuZD0 r,EƷℒߥXkks ѻ q7Em"e7,gG9?$lٕIRxxjʮ`/a)dCV,.\-_0K[,c f8e%ΥԆC.8Ŷ}*5hpYbz9F37_~ʛ 幋q!AB> }n|a݋06hͭ2P=U(PJq])1>lʮɯ2Ixm*Ax^ `O:aєlR-S,p,?H&unTph|BӴv^vV5OW,Uˌ$#6ZrH$|[ܹs޹M)Y,8} _}[{Yk+WJ .D#G֭.H8RL,CA-A,lĺu-3 7Ia&Jd0֊ Td9љon}L1M[dflܱ)%xp8L(T*5 GT8-|p7T'd&IA -5~ aؗz4^d2A\²LL3BSSRB>y]>RH!4ST"-H͆㊬/;2+sEؼɋG`5 Һ'}/o~a,,,000pO/b7$'w8Գ@K[]a?Z {禉tWMN҅Eo^vlAS-{TLJS f3(/@>F4_tq(S> A:;a E(up6:KoDqNZ*WHp׭]S<J[R!2-&O)eY$Mb9!r<|Rb)kP'zwB!0MX+|ÉNaZ;eYǯ03;y hFn{>/||֐R9N׫"!w [ %v [Ն0MkSF16x55p]. DpVOo/>%JREFM$Ů0D"PG u"iR(D"D"*JLG}=2ZAT&T;# H?N5NjF kKģUlAj%~vu?O\n.]>9} u*1.Tkf}uK"RSg疉$RHgiN:[noe\ܼK:ap,OUQ6s7%w?xytt"Q aRU@bmƯ;Z- 5P2Y뱺QB˵RR/)U\?S3WyرBzvRx+\ZyPnl@,4 |' \.GSSV_.$7CTEm3'ZV;FFgRp5`4f0tX}˴ Zِ?-[덻m~ e맣nm67MR.O g^}-%ϹB`BŧEM(]݀Lϟ)Ƿ[{3E BCmw !(r9a0 x<"ab[ Y"~೺!L Q+\;;6wX\\$7 ǡP(չ}W ͮ{.9-~ WWe5w̱_2z:O,,{Zkb8 ~.STsK~C'rVVV !U/,,Հ߫NIkM6p6x";wSv}6GzP{@{8/g~)%ܼy=K9`۶i̅VUBl1ߺ^WZڕdq,LӺ'Gka[L\Dl kRV(ӤgS@T+*>x\ON=HAn%1\/B4ڭD“V ߳ aOo"-"PC3۽^W.Xht :k~W.M̸9p?F')@wS3^b0jy8 5lB7e5CE>>,~:T,%H'D|\Αx') ([JB9;7WKGz[(}Y e>ȑ#l pzMr 500Mr>GunR>K b )>b_s)3Dz|ޘg1ŕV_g][PTuCYGޫ?]tF.s,y*Ud6Ze-|UbR6u~j,3DW[ l.j&mBP}Nn۹Ÿ-"[a(+2.{W17zeچ˕k#>]YU=M5䗦~kᛣѻƨr sк$ t@[Í+4w/A<\gpɦ4?GOc̉N>^=OhwȺ}C򴮎+j-nsS #6`077yGn=$ٹ%{+td0dGߡ̳o\%j" #d01u*FS;s7=uksN+آ,z:.Ik㤃STW(U"gi>>/rx2T7sfJ 9NqqZS]G)5m"0 J/U9i(7n/xj5ӒRN}י:#1FƈVȮ2gr'N"LGypu Ycb2cڈMƧ׈4_wo,V(h[VchrḺ4΅k }#"%uk73jdPLZpV­#z\Ȋv) KƤuF\9b!BЈQTӈ[Pz++GFN1(7wmP)))@UI&FPUo'oQUo4b藚A+)@l}nڟv A:FOC",++TP]YMtR ӾM&oy2Mɓ5@ՒIZZISۮ88+q="G4+2n髺͠:+4ΞvYĨq;\ݮgx^ZST:A߳dYAke q&YJp`6q] X<NHtTk~Б4Yu@T_)hw mC8  ,?&GHpp0٤(JOY@D:MO㮪]/}B( 466b@׌1힔(2y/SLK̘1߀gVZ-$uF!++ 餠(ɎOЂ F&2ؤgAܳgODV^'((?/ƕ?uRnKJJ nGxJt>,+h4I𸦕I큭ލ8\NQGgٲۅKVj^o#$F\C޻~ޑKUqN= TvvLc=hutFbb"466 ?AEtHLL\Bq~w<) gAv^>({y8iKa%پz6+-z^ QD}M)?.^Jjʰv;R[ÝJ^nM-Vއ[XuE sJ}m5 ͠(+-Ã;^Ge?jb0)>se9uPb"Hc :I҃jHE?ƍF"XV`źvî=ۅVcRjuӢyݯ9Hϒ#&CLlTsme|n=-⊝B\p QaXPqYjjۮ <8ˉFظss74eRV_K-̈o"͈Qcصj7Umce_hhnn&<<ǃd2*=)]S^z&4sQzo\T3k4kحkY%6Z[lqN!$(Ucdа4[HfN\I!AҋQ"+a8d$;Z&r1.<9Ť`"/7^!EQ)(f̱SΚ,3a&sfBS3-M`Sku#ih.otut]u |?E#) J8jrlIDY hqCa|9\d!Jn3o#a0l(B5N &bb6=[[xj=FFKPd2| # BS/s0,[f,_D&OŊ=|~%r CGřW\pՏiuչ+^)K1COܧ> 0 $8$`MBk+>(c6 a" F )OtMM)Fv4Id[Gaa!---xhlldܸq| 2gqd#c#ѱ=yb ^x "zXkYR})zR?,,a;n>lrVHQu+\̐>/V" °aػwvD#w`>aaa*="]}tjUU$=ƣNd)Kd3r!R{rZ(:vdu5u$k+KD#zT$_챒qen_ x`Ϯm-FDbi_`BkC>*FZS+?*W M]|-S]ZGW) vm[-y hsLL5`o<߮MDb Zk*Wcç\z XxqMe>c̴ Y]ջ֛/ƺ,_y*RzuPRHkX?; JT֣̽^D:*MAQ?ꔉPE@@n.g8Aym.;3zCL;n;يT&GMeڬv? be$&`JukIagqMWG_Q 2$ݔI={=fV+8jin `6f^Adԑg ^$Akk/%]3Ox .t.]u.O* /$W-o_O>_s݁IA2y/™soQٷ̶-}74U1xֽl߲ 'HiY-Mw,.=w2W|6Ӈq6ln *ieȄ֛'g1=JEUH HhtL&#cԤ3?rϽ1/DG-y)h78#*0i=||vd~iL'VZ]z9@{Lr 7D &G:FqXy؊6 DFCCu6;,Lm_J ASgq"Rh",ԛ>4,)/dEAUe78ie]u/BTz{ǜsywu;qa޽G}"C>z+NKJjB $<2;H_ϓ~Kvy(LpHuʊ;2=\tcj:}DAҒ6r <Ⱥ XVxd FVPdQ}"cǝI0L:agL 4sʶ QU Wm7^(dٯ\GE`jLy>W^u%r$X@&THLG'9YdCGqWnI:F)3wyZ y/s`vGxwn_Up $|˵IC*"[3ksyPxl!iPp:ٰ>[?ZdӢy̽d.mپx?=zVFq;F؃_"bp:]/#f_ *"X>#'سkϦȡ4d!Sei VVXB%$kVmZkW]ڵ$ vړ_+xZhlic%w[o2*N$+#FU.?Uy´4QA0`{Sݦr_畧ot *iZhr3xG'?F=b8˧ liᇏ_a}fA5tF쭍ZRk$ϼ?s/:Dezj6$E~ jkE H@N*DQg#{> ZTmq;tVOY'yNwcG=wOGW[Y[lȵĎ{9wZ*=NP&.ȵNE;Mo7ӷc/ 㴶PWm/}U#( NjPd7e5@K] vRl.VĻ_|  PmmƥFp8J2a‰@'xT_OQy6A)=G+iE0Qob0H(!y jH kwߖ=|@\A A}g%tn~x0> c17쐈H~|KSq:UR^B|"=Um2a՞LjA0$n-|s4f"o[K#HiA"?Z8M+t9<s nXJNe+ќt:}7 `ߗ0cqhg"6b!$a&I&K"㓠w;mg̨leLѷZE^%`$BS#AfӉ^GUUv; dee!99Pv>~&/~ ܊=g?#JVo/ kF6f¸QEG*̺Av=9"n*D%%#QYWĻ-dٻ/ܒV3Ɉ~~F~'S~J{d=՘ɟ^=1C =˟(v V k WE-}ScІ2 l^@L R/e9 mCEϽ=hkc5#=vFHoXʮFsu҇|d, 7`-%匙Hh)C}S511ܸYJHD<ϚFL,ͭ*g'+/DʨqCشh> 0?A?CUU"##ikkt:ofL)>IJ'ܢ~-ukP\Hss |'l6rʿwB mª h::pz K)w/Cdph^R9L~ Bn&*2VcBQ(m4&] |Havm\Ŏ s]5LF]2ش6ʂ|s` ,#_=)nF@fݒ(uMx~{P]f&6-Z3mvVoŪjED\nNeGv|zU[7h37vxn_oKaKO>4ڰ(jپm5[*ekTo]>JF~fbiͣQaQY^ms#@Pq8] /o}/_kO;Րw+5NoJ)gc_5Tb} ޵; Pus{(n'/?p2**dV%f͹`dU=eD%#)DB~hp8 Fl _9{db񴖳}C9sB> R!kvk!+2fauʒKOˏ -;}0r2;͌CKC=S#E\ֻMIe= ދifҦ_jf{+Y^YUg6 DS{tpZycUC>z8k )!CS!50h` :r ˤ>nWo)wB3[F_d_Iaf^z;S0מ} Dd߉FpSSغc/*:՛+$lv+&cW< IDAT(Vw1yR8c(V2et?1"$-XB,D|Se!R B^T֊iCGs#!*@A$:&d" DNg(ndX%.+)rfyg 0s(D}fN`gA&oo"#jCPd6+qp3{9 1-vPdm6h靚BtT$F߻dEもlXDФvsoi1"~Y\uOM%w*zKApyF/O?E'&2__`7?n/cmc?F@pXY=  s(c oy k-/έ ks=sȭ~Mx,|[_Hڈ!(#Fc/٘[Ư>y.H${d@/&l#bBCϽ c&qYظi{焗`OӇv}:%P+g '= ѡTԻ pKa\9#~g^GoM=O Ҧ(HK@ȯ728x!:{Ny_evII !>"!.*A00iT,@L:mٌje뚕]>ЉT1 L:b"eķO~`sؑ}t 1&-&RySҦΦoMtۼ?p|RKi-|p+d₴ $'o,gy.ڽdwGзo3+Aݮo)i{ncﰪWo TWU'lKofE:f e\N;MVTUekڱ/H7m[N̎*++1:IC}=vUqcnb&)jAV3 శhFQ;wv̤$Dyfj7^O\j $pYmMX22 Xl65VUٌՊ_AK WAh4*2n Yi2L3TP8XkIY{MUcZR}&vsӥPJJQhI-y9R/{AaJ-[UQ<2u~W=O?u>Lp#b`8 S&3gK$v{XV{jr}s|x^huCPKT [ K!$4A@A G/ tZH:<8Jnnz,ߒ9H"P#{~| hmaGbTHT& m4s-woxb Z{lVd ~vPE崒sIszxU6dQI*p$pÁAU6 }ҍ{pI'e<˼ʫ,ܰA([3ʻz:,uՔW?o )f&d9 PWr&βϼ;t [jmronYY#ls<֏ 1Я;L!yݽ/Il*;n>j-%6w+ٶ1-.~X;(.?ݥ,xY J*().09?|7|,ڒKJrvn^kǜsyw0쌋-w / z%}F8[ˣ<?`MF!kצuw|:^}UJl"A&m9=BUaW; M αcb^|%3n㮋oZ`^S)nJKܲ g8^sYĈ0c@Rٱ+.(߰᠅;oCO.#"&#R-,/]œKŷ~_ށVT?1kn`يݸqdo\H#Fxŏhv?BHE.?XȐ3#( kf`/!8j(Hw#ٿYAY9}m"D8 Gh >[Wx6Nژ4v0ۙ:;-D^aDɫUhD:Zj2ŔLحM]EHvAEI>< xY\~%ᢙ$F#L>`O>-ǭ|;kai'<:ː sO@yI{?Ã!W~b }!:2)45"SRQFԐa-uvi[7V!p0z IZ@aA&0{HFr ^!j2NmDG'{o'@C..ga"b9{6d hC5z cMUq9#Əc ?0&5фalT0|?~ &^Gl](Cٟz3֓⑭U6a*kDQmןLsܩUZ`M4AHJ6, $2`\ hh0лw$_}99U\|-6{$rPuT┑ZȒb7f&,Vw}@ΚGƥb1h5&;D10 c7MHH[FDzo 4u>84W1sna{F_^x:+WC~.L^ˆJY^6@BbAFmL$'TqCI8Pmu !+9TfFo4CyY Ii#1ګ:\Klb"AҊ0E3nX.%Q+(Tfsf aONi5G!&K+FN@j.%LGS}}.rIڨI*m4Dv:<* BM CAa*A֞,[sY(()'il=:")VjIJ`B٨'R=IKEtlg3M89>9T7:?q e- F\|*@F1зTӠƜ%__lueԶ L?(o:8]5;Tֻ 4I(63u&@sS&6:ѕOpϟ!&J "!P3LkS n] NK qF[$~~\O'Ժ48B#ѶzDS&¸^'ٓkpRǼc|tݩ>a8j7% h(OKh}"Nݼg'O8.Y[MY.=kX갑'Wt?earrL饟w;E8Ff07  /D֝]){"?X#)2u8tL;' {S~KA8QD!CIIǪ呢p~~=aR<.Z[hkrVqq6-<vq= Uz 8m4:"ArlqPB=|fn\)ޗtu cJ6,v{:ީ{ 289:( CE Wƣ(g߉ȸܞሶn-'籭~\*l̲؍5&ĨbDBQQz 0Lzof K8kX}>gKxt7KU%Yʀ!#b2Yx )0G/[+)Jag\0LDf7RZâeg}3I_.AJCkg5t9%j6|D5ۃ9ܗʝ|B\Yڼ *@Ff.^1?Sl''1fN A"in'h y5"S 8q"Rǚ})WαPI7 dgV%^ _+h踛LSf; |9i9]cuL 6naʚeJ2:+x-d܅wH<ȤWOqu\"\z 0üp\TYD@käƴkGSR`z=99Rkf֥߰p6ڀ:HODϸ~dbdR7Oߴz-7u4`^ BWNV2|LƏLb舡hRE{NneMxoF U7Tf5ٺl%E47SVxxڤk}$iEHJI+B1x!;Xఒ%MFjˋA3jL̐p6[7KttLb0nX<;9}O\DaU+!VCt3vHU^5+bw:Q!$"ԃjEqB>Gj[L3qpJS2 W?ƪT5PSߊL"eu2bXQ'{ - "d CQ5E՟Ĩ@vZIYwxBQ[Mc[KI3QDFbl/|$0|L"<0R6OnOF@fs1x5^WqӬ Y^K  @@G\Ta^Qb"}ٜY<[K=q".gE^W5mB H[|?L&-wbhJ[v3ΰ ,AeH" @ENEĒo`O8QkG2_xP vb#f Ou=7z/J%A@&K=Z"O$_ƌ~R# TJ ߟXavUTr$9Q$%`UD3: cg3i9% r3z-z;7{:DGRNfI!Z["u6:|ٻsHho`W?&P '1&*`(ӕz R!C| zNJԫ9Bt3A pR CU&iMOܬ$m;>|qjD먬 IDATQDq35QהJeH%9#@EQDBޛvpbͦ7GsA{9oNKNyst5s8oHVw>OsDn~mj]R6|[ -5ܸ1)(˯N~ idh [S) clyol˩LΉR**]Z)|8{7^)i2k7}m?s*;9[օhe3m= Nem+G7qv7rRSz59_49ڜ=|?ΎNej?x٧qʛFO_\"lt"pv{(\3ODyΒ4ysƜ>yw{No7SmD-\Ve9kJ("R}<qQdI'0 w a r˨3%Զf PS^BMpPROCkWZKAq9FƆJ (nyvYX0@Ws5Ez KR[AecvS'Ee8Cs5EXN1Z5ff꠪ ;ऴ0N @u=* +() ӶE (PЁD&%jDn?fJ i5X{VgW_~20iT\'qi};CE}{Oq]e U nB ;v0E*Qa(PCmc[R)ѷ=؄3PW X+ U\f-c r4-vC7;(.ȣ;fl#??No :)-tgp99i) Vl.+tzOHEy%54v!:-w 3kƃHaA!FV˱: Vn_ɧZCLlUu̥3eE,=$]17Y 2s+0XEGDE4hƾ+ l=Zf 097gLΫI-\. "+ juo@*p~އ6%QJA@ JZ%?jMU#Q }&y_o,& ]}כm)1w-H8.dR"T9/c@l`@RatucqF zṇQT (:fG;.,-8x(e=K )gM9;̀bbh=p1O)H&43&yi(\]kiQ7r|(^G^{IXsz)iɨFarZ-fMC.ښ15wYp6p"?kx7(ܻf2J7CYhcq-s fC.NBfZ/>r db:+l@pÝt`4i0-h:,S 33,JN *K4BAg+bnhF%wJsʪڐJR8{^}7|2V8c=W vvg_o7}BJ NlNOP;+Ei|lR8BImv_IZa-]Sʥ+h2CMaG8YR-glrZPYĞmؓz f5 mv{5jm''*2pd9&RR5IVh2}Iv W~6qOEK >=~қ喝η4p^\63 Vq嫶`vQ[ߎd,۰뛼WHmi٬~!ǫkiܒ_u NJ@JANf˗$@}I6: sBODvMMm`ifh~AD6`o埳?d+օ]pb!#a#w9؄('o@Ms֤P]M^i7}˱ZBR2t”䔶sLT 9XY-驩(#JGS%ӳ LDg#DGʎx QWLYy3]F#~ZkQhu v?< 5E;q"1c>8Vxb:p}ъBt⪞g8!j/~^eE0WP.qz!͎ZA&pp7<ߑUaEfµ7KyM6$g3*JEJfv?i a$J"6L B#&.rˍ +h%t ? /0FApTC)袮0kv!'; S1:9y)-uzܖ`0c4NV v~(Xu&Va#W63x`,o|`-@r ztV yc. >)rټW?Wâ85[L(*wRՂf-fKywr[͜]ca "&BQi9C ?Qݖ0f3js`ft'Gr)0ckw%cq0횑$g66M<?v"Q>}C]<;lCP C+wk5|7w>7L]kXϯ(-VU%u-fFIm~>ȚeK(!v jWR#tHz%@剦MEK7~:JD D$|L=~*yO= [6"O!Fաj0 $BF@*Z _Lqv$s~lKAg YO?xHJ ԆD*C r{D{ `RBDKHH%H2TJ9z/o4&5=Hr*(hzZ9 t;!il:O l50h-́ ̼2ˉLCuK(j 5J %?~)ፗPQJA"HR"Ogw)Hr@=pDPT !S7x |2:.{'Be'RZ! SuGrH\4cxi_/7cJJ\G ~QP3:&rQ \SvyY^v ˑ+Dː*u49N ʇ{z1 $&&֓W? oC""WD*"S(d:2bHw>}7h5rGɊTGH$2 RWR#$rǴAg"H.KSje_7n&41 SW'& O`B| #j xmJquREqAd*^{ 4h6vwh Y{s7F}S3b3m8+2Y I̼v*k'h\"h6\|\7u2Jk'ᑱ$( ZZ[T(Tr  AW7{L(e\6 =z!]ܳ GGLeMcOZ>jNa#{Ƀ#2WqZz@@RC: DH(&M4趧ͯfni*C0;:hmnW_bt\(vACDTA(6UZBOXd8!xh8BBcie2!UHMshajk۸wْǔq# !NiK<8aVd?1V[drRP_یk!P'ex\2rW _3vܷ?'3gZr!5y,~x96eer0|/}&*9XI #0%) n|}|ρxk47*ؿkWm*_'r(-KPΩrZJ38~NNQJ*1tqu|wԞ"D*9vMC4TH<uٔ%_^`q=Z.{'G(8Jv{sGGb|h'CL&?vU9IٕB`d$ >Zd:Dma:Gٿ3Q W&_ٞ,kyY$Hp,Uvt?lkJdf`9G+L ٺC>ai?tl"+?g)?=>NEI㒺C'K8r ~Im `E487CTWd׼NAlyVڋ/t1ng.:3oZ: 38AVFX^~w.nU)82F(x&Z`8J YWq0ؽ ͛x"o+箻>! ZYx?FHB.x~!3z,j.#xBҕFxt;6O>؋:Yj3w̺+s}3-o:i]=O]}G҈(+tY@Uy 6_-+p}wVE<<AqTu0,^…"cO(m`ƣ$=6߉9a"`29U6FOWG>woC@{!FF g4o2Ko၇Uw9~ ۞H]I*E$|U,?T'W`NiQ|6_85m?.A71|Bb݋7Oԏy v&.#:7Mh/݄͟UA)=Ӭts_"V81".+mQ_v!g.'(7cDK/"m`J ݎ:+bϗGyi .Vխ^N͹Fsf64Elotq 6VgĊ;8e2!^.r+vy X^jӅl?7 ٺݟ 3K}roNVShl⧫ӀCR\K+҆T5rYT_|I?']8#Gb%>O6kt~ݝkx*IgO`T\\g>ۗt-C7tw?K*"|/,'M5sq.~ylsaR\ۇD"e d:ˠ_}p7%JRd#<#!sI?={"a!S(%x"Mo܊g 'ſxa$T4jΛt]ot}h? ]zfOr%R08/9*E0v 01  fv[2͖ _~~&o[˞Լ>ҾBb^amo (Mgb/]wh0_N.;v7؝,P?>vDQ 'x7)1ƴ轗Y?OE8}7.4rQxp_}(EٽO@gaߩw^\LAmtttju볙4q~SOmAP_'֮+ށ<+DAiGo?f;Bs>ӛ?>|6t!tv(sAfD-UxERe ]ZԨT {j8Z&\ ٴ7 KhLUK ;f2u@r?o4az-מWdONE MF,V D`~P حfLf "`ZzFf2tap9X6lV Y)htϿ1Yl%QDk{;ft`4q=GkNwza`t4,4EX,fේMMD vuFN& n-0-DŌ'R6`vLfgtˈj`wvv.("NF#6Qtb2=€.( jJh7{;VөߺF9$qӎhraZvV;8y9T7[͂}Ɔ˼OL`$ьjAti=݁al6ec2{tt׍Ŋl6c1[=g6ڜ.fՍCޟxy{y%<']K,#ц\"\?S{l IQJaϼ7sғTTct&*TH⥫ cT{)N!w>*zf*\H@%Yj[bYQ)Us~[(= :ZIԤY=jY6+l IDAT,A L©ͦL~ |,8.f6{ O?{+뇌4#*>gҌݖ'oȢO#3f$*dlfƍ3pL7jyG`ZnEo dFZ3WbP)U8].Jh+<ʶBB*7{gXC5afR9v$!*~ΘJh L|j߆K4j[\;e<7Y!;sDd<5D<ޣY60Qaiet*G]Y-DO)hd}AWL`Cё2e)GQdoYҽ/e85\̶Mka(bQk PUUq"#2i` N[_kG&yB@IxKq$pM74rg@f6{~;9RTGht~2+U5x.Ns #ML[ٸy'FPo K&GL-) ? 8Rm l#;tIf~moq.R=T71fim)HV%tk2wYig5):koÖ\ XJ AFb˸{(G^Lɺ9t0iSưqrz?j_&@TN~]|87OAEy07hO>@CD$iԅII0dp9YJ5ͥtyKArN-LAke1RjU6PWY#0CA2V&WQWVC}uhyT(Q4(*tDQF񃤟чf2o*z^p);AYy*` *BpġxȕJ RTوPVԞ^1x;GG.˂Ӈ"M".a08D\WK\’K@5|^-:u".#l3@$}RFLs@s ~J ˀÇZbP)ݡ:mKא]щJ4ih!ToÏ?ewd=XJ L V$ ]ށ-Fi|nbcRB`X{cd+9+a0*啣у(;pAVvT#dO)ڱC8fDCd5m[)kjD4\;* {;luᲴwV:IXiQ3"Aú [ظu1u?ZS'6-H{V!UGF~=-y)T%d7" Xl& |l03}\$"4Ѓ,Z@P"p:T_?-mͤM}Nf[V0p2V~Ɔ#̦ 5/%{*}p6puٲa'P<8wt1ih7dG^'Nj2i>~Q>qW10pNvb+?B2 MяS3u]lړɞ# zJٻʫtj0ץR/c̠(\Ql=p콛9^XHZV!X½,Զk'K\LQy/OEu~Ly6hS$"a c ֡Px膔V#TxsÏF&X@0a>*|*|g܀N.則B& GǗדƒElb῾폾@Y}'Z㕗 GW~9Axww#)\}|d`l9f<괖$o`"h *CM.<|zAo?'1ʃ]*UV~H% D̈IxS%.fs tQTo,H465IxxmI 2)=IoP6'"'[;ΫgYHtK@[%:Qr0A#AL&ls1~ ;u(2++O4k`PhteZՊBD|OB:2uk^/ b$!ͤ]B!GRLČADDUˏpBCuN;8稭>{2~|IzW2k=9F&NHZD*sdR4exj''ӌ"Mˆ<}':k^:ARI/r <|+ڧD0!QD $o@*!.iR~Yg*DNFOn^vvBC4zhP*WV0 nd71bî?ĉ'IꟀNnƩ$"z0 i2 D'RT#$]Qta:&rHC輼Qus,@̀xJ29٨@Q SEP %61bB dA >!Mv%: OO=\Q㉋'z^7hwgNmP1ݟKT 6#T:{O] gDwI}.H rkYоD@ĝ3ÈЭ an3dgPPy4rM(X7yZ׏Gnǩ&rn}#'>.+6CQ]FyS^TG]F KX)I0ORYaDwO3tM࠹N~D6_殴" g_u>keJ@UΡZ!rŒ: d73ϒ}(c=)9kF/Ls$`dUda "AݤN90;+Aɔ%spdՠ=OҴ~@3K0BI^uc;/Wf6.f8r~{ÃD'oG@zd2|STĭñ[dF~4g'YZ^ N]:^;젺UB㑛Frȯy̘4 ҏ"'#'i*+q([zgi6jͿIyphJoa  c v;&GwTL&+uFB? :u-<cqZfQuwcQ|9-6muQrm{2 Rر7[S'яCq%J*Sr*\ݞKi0ǷQZx{~3vyNٿombYS(Q )Ñu7x a6mV|{..b |1~. 0!J$V6ZApF|?{s&_/|.DQD"WSGEF|+ƮdtVz!A>A}Iv3p!ȥ¹mh%Uh\jѥR%r^+N+Rvq$Atogo Lɫ_e B^-׆ѷwG1͆UK@P1W7\ڂpU/X[qpډ T_?At%a>ќiyYs+"Rp_~ٸsf%E& gzg/H{i3)^rqڵWD͈Ъ5:j(n@ռ v;ZN9̂ Y!^A-[#Y 9Y|{|{/b7}Ǻv| [*3wEc9)LfXzb<Ҷ.cUr׽k-刀fիWSf `NN΢46JL;xEBWrHGڴCWkOlan#,j:]DR\WEKriЖ˥jF\z~NY$ e>\Zl:u9ܗ}FdYrڙg}{F΃E|[M<-9DV6lRFfYsqKWzI5/kG y 񦶭ږ>{-Vh6N_=ec[Y16M\⹹Μ9!g/y1ddfNCP?GdH| 뜜YP[6BZCyn~uO6juOک(lp8DFFvG9Y33J6?sG7"ɁؒLC8Nm?.8?][6VD܀~_G^ bv'X`m(}razI.}!MX$H-h0c]u.OFzPIAFBdB725W|J*ۜyض~a`ǺdUX)OT+(o;Yx)e2X5ygFagc]8ԝHfT F.s7ujZ>doP "_bT36oH6[܊DC'X;KTtWҶZlbB<ʪu[j @ZkXz-͢'!fwx\ՙ?wzU.Yeɽ7l t!=d,fw))l!!TqIVoV}TG}4E3Yq7 aϣG̹{9=nyEP@[wթ!%6,v?EhlF@/#vQ,} qI9"m Jcnl~܏͋#e,rSgf=֤]IQ6\Atx(Mut@g?#c6~? Vs*yz6;H-=8, 5b1s<2Ҧb 6{IoI-w2y(N3?Mv8Ov1/3/?|\vbXX!g6> gːD8v`3GxDp;Y(** ^|lF>h`ZV@R2;Fom22c&gM'@Hg_'w50@^n)c~ˈsCۉ_'6vk! xVeaēx꘽Wog˞W@HuZl :wvl% Z3!F7 1޾S g$u1uR*w:&΀jed׎(U2Idc' ɧ^dDK-!JBFec=1:^ys'\IO{tܩd5u6ӓcQF A&|>C3*n(Е҅3 IWXq j*>,W7݌3A(M̜9!D,{ZfH#(vg"--WW0@O{*i<.)%шHPL$F9v*US5!66UĿp jo^/ĜLZZ 9U͂T VM)PЪ0ħ03}:&QKMCVdGY|* ʃKQ>n#>!]L3Ӧ?_s~KW,e mp( 1 Lg鄆(gaG?<&K Wskxɽ820+TU9t Q 5&c`Ehb*!DG!$Ncά 54!W'Iવ+0j(en[%5Cbc%,^w?J UKdeUe1̟^@&p E.yo5Uq/䕡QXvk⦅oΓ5ǷcϮ@%.̈R!V: es>g!I3Y;gFee% -c>wQ.hN!F8âQ)dȘ:oaK1PXQB;S8GTRP1n<@BI c:'NxZ{d7)W(>=p!*8ReW50.^AhN u5qD6.iRf1zZqq^%4N P܎ d:Ǝx?lgSmuUS 8kȯm=/V~^ m?B%#<.'4~LXdZ2ٵ} g ) fZ@_'v:)%3ٴ5RZ^MM ] dW2sJ4v J7Ug)젲fKyo ޻Y4fGc16CUS?V.w ҈ua 0b͔Wy9luMmW6r6`Py*3sSZRxy>r3}u4ב_N}W:OQgwYy일N2sh/lm-gJێ"LGc#%9{?}#dٓo`JRGO0u|Vݖ$!Dmz kp,&rsi/ϧ1!Lh=#}VGU]5م htȜZ1oЉ|̍o {[vRXQ8gK+XUJIu;w8Yog_EPX8ݜ9SHEA՜x&tp앟cĄ-p炵"jCYr1էDVf^GC6۶ښR L\便39Tam*",8{MXjڿމuKn~95UXBzPu-olFss.҆ǿg٣L;ke9ֆbj0{ˀsK]lWg${[7nDv?cK/2j>smܥr2fS;_|p0V.@}IF0ZSȘ@Ok#s熻ҜOwo@ȊϳrZh7{sxpM*毛rۺ *aDNRfG?峉L9/27_s ܷ~X>9K؊ĩ8ƼԜ9Dm_Ǽ+NG9v,i 4#i9;xO"{<6L=?KvrPn[E$LFHX qf]6B48QKuQS))ӛ@Ÿ?/A IDAT>+/>nY@Vp/ VADIC߀03}}8FG36ԏ`3J/-8rc#IFs0@k0hd_>S/s'\X@OGB1K%F !Z 3dwf@sAh'MmhB0`AfB ;jFDsnB>wh?}#(*##28!P+ob pP+#G w2`LX\Y A;>DAtt(Va}#zƜ.jFD`PѡAlCt?!B_ %`/֞BH4"C6Gk fmwKd m C c P+$$$h?cA;Et[^7xj,F{sQ 3$ F%Q؈ :ZڑiH^zc6d:@da^ 9Af]tF "HEW"@5]2 JېlV+A@b xjr9FlX{G3˰KFX< 7vN)@X f/ʣ.GoDd̢j3{t1{D2h㥦2y'̜qL\&D҃Ϸ)(^XW\ա6o9G& e&eFqDcStOks{bzejb&Mc"qbν- Ɛl]` /f+z߁#.sD L L2#0EHw?:81&6x 2h*ίr i?k͹u. ӹ{_<6.x~p1&F *u<,&*7W}mh&Txѳ:|>ic||QkqL"TSD)(.h2:2ĨLA,Yy?q h4:$IGX×Y\gf颥(uH&OA-&>@;R^l3>.')P3y3.|^I-ZnG(U3d-c5u"n!QTqNM~32m+FCiʛц%oQ]*HE/i0kyͨT6$8Zf@Ŭd$'*DCDd$ Ċ 8k^uQO캠LM y%# lrys_aIE}()QUtlL܎quW``&rp3#9QRr"^6<Ts X;IOh*_ɇh6s [F!WI Go"&D?(6?/搮p5/W㺮~hߚs_@ __Kߛt1rq2?$I""eߵd#+}L&P)#1"ˑn/2eq^a\ D dٝ&O\ER˯$7_W yoLP{b35+0'\!|UBSI9WEAg0Ħ|ɵW3w\LKo<ˠ:9]0e&( Ýd70g2&摁jLOǨUFذY`չKEA6{邍r'6 p &܎ly'9X(d{>|׌#$Ӊrp:]tE3j>(xtR5{mC-\n[_R~n.>q;%pϜH/ U+j3swDntKW/lG YKؓSuqPkQ*Uw f !*]:/Wv!mZYS mwM]IډB1~UԵKdecv7^@OK%4Ď]P˱JbPvwcr d?EK[GEVv&b2A?.r$&Q}z@lD$@yq)#>5GW'3s(9[5c 20>leYI5= PUp*1G`Ъh,:g*LN)Lwpn 1q14PYS3ńƥ`Tst)h >KHt,9gPEQ jwؘ>c.n!95gOۏDDV)D/e=Cc4L0)? ݬH֌o N0-1\I W';ĜʱV بoYfb+3lmI֕r^Ctxg#yE k(%vE.8l#[) $:i:&o&NI@8ONɫ:g,5˿%!1F2%]ud^NÈ80N*{nEx>$O=W<D M&H#HYs , yco0/A7ϚoobR sSZuS/Rɛa>_w" p `㋿fӉ&D[3mؿǫk& AVi*< ȰDCJrwЛٖ}ؖ)k N4U# S((UG*CbZT# 1~5>nDvyd*ꡨ \_odDΘϊi.b):ʚ{L ȵf$Db]t:"MF"RQ)|"LDPHs ;V+qUke&-"˖& 꽘 2BL&4E8Vr"v^]@sHK"&*t㈞>[HON"mt0uj:ïZǰ׉.4NSMjl 3<`= :fX%d2DXoqgVt2d"$+KxB̎ADjVݹL%|eDX/`֊K$*u6DPq"0w~kX@'sgmW`1(xݱ(ocP`ѬXjS9x4Kn[LuIU=Hlj{# 0ebωc\'5QC"6=|fRCTʿh&Vp7̢h _%Y-B Fznk;6^9=u5Y鶍`"9)2'bPrd zwb6t28:DkG/m :bH9z2ƶ.Xue4$3'2PA˩=s̜BDMK6Fp bx _ !l"O"8 fvβ{Sijg`u> [mJg ݓ+L}jq&3i '.}7wQ!bdѽRz5N4x=|<{.[h-e?P@uS}bbMs=)1Z+g#Xp\gL }\# cdjtII8&ƒu"`o7a1I] Hق94WkwpLM9Kh(j Kx:C[`Ñ.$ A‚X37JEhRZ["$weqz4]V+=͑52% fa1Qʞ͞ 2c AnjZQ$$",86T$ݾxdǐRBpQAPH()Ӧ#s"ȕ eJU̘^F ,B@ӣB+j &,DGhgP:HhT,) N0Y°EkX~=@Nl$ bJ:z= ,YId&Ql&mbBvљc !*h\Ɣ`d Z,uY ` qcaD\&P㸄`Z5VDM(ݿaLdat$DGGϩ1/$NUQJ0'0nE&3Qe\Gxu5 K6T!&rU'bЏ \Yo:/r*uܪx%Ea=!Mm+喯 Huun#$9R2Ks1Cg $iR܊f$]mjxpI5UkDĞ JK<Ȩ qٱ%0 Jv/tv#E>ǰ}B-ί/?q<^;k~krqRr9U=Hl;nػضipvm&Z;qyh'qb: [DtM~d˟y{nr6R>E-=t=T-ك}FȘEkm%q#}?h](USi^`V1#LA:`|'֗"rQry<@!WGfC;?>.Y3SkPȕL92uZoX#ֳnltr*e.7Mom}Mciis*Txe'gBҧ%T#O (>XBQ)9 }ef@VRKX|2{~B :wM.$Ao'q@84z~\ jG[ r*Q$~,&D#`@Y~/lGbb Ajp~ٛSA_!: ryx:8`kd ˒06o |.?oZ,X0|1>D^xYz-}]U Q2=dA6!ϙFe22A7qEv\3 zE H"^ GwN˝V;赪$@+JsW#`ll4L~7G8qEO +d?nv疅s ! ¥BWЗI_Q^IU?A~}ЂL6O%r!W54J]=鼦{aU 76?Ђ29.R.K?J.=.EJW~[޿Oxt:}idD  ƣ' Zkصk/ūKOr ]]ӻ̄>7[t 8l-k7}vAbdaZ*ض^v?nD+s8t0'N#Ue. Kp|4Ƕȓ2coZmg5qc7&njrIAu!8E+}.9'#|Ao7O+k(1f֯ω[ IDAT!%hg˶Lf2* h.Gdv52ΥU~d*F)/K J^}m#J+'{ce4~f۳x>_bVT>ã-fv '`96fG;k _sA߯pTtVw2QcïG\+CtJY3x=Kmttnvy^BY?7{ XZzZjNN 2u:?S54Zl+Ώa߉B,KPa/s׽[3LO@-K׭0#9hgҲ"DL_e`tw$gȥ'B?J=^AsQbl*ÆGɣFurf&>c^;8U}r6ܽSq?k9g$|6%t_Ч#eWvd>@àפs@ *AA렗}p(;p%=PHPq,')oOF ^Q1bvLNv1Ud}I"4vu;yH5{*zX}*8@IG?j^?Fu56K ;OUl!v aJ-CC6jo^%6x_U+Kvh="ۋz79 =%A'$5?X@Ou6sK ; ؞9s0Oo<̙('f 0WEF"9MTМ7NPUD0~Œ.Z:9}xa&܂MT)i&0g-#ެT 'P##_KIvLy3QˁMo6|%x8ť|33nb*ҒX>I6/~ta- h@^a|W?cŝCA}'1nRc?ul` x:qv1Ki=o? ?niT|B\&C.;ouYfaow،.Z*9F#Ylx3 F#a- Q((Q)&BcYOe~\D%ȄxaA( bcQ4ι|8}@ED$8wʩ/8?eU-va Q#y)dU԰O35!.wȴ. {xd Num4Ք1VF-cϛ/2'ۼ* tT=$(h1`޶).a՚=v!Zl2L @_9BFzFҧLk 1 7DLb)3PYh2nhfZ+YbRr9j"4u QB:(-%LEGyI)N$%%!PoCuynSxJ0 gN U#"`"16n(5յx$PqP>LRb m-$$%3ʈӃwMlL,F TUFAfZ 4AVTjAi %)>FASY.)hoiwȁ-L}eZS J QFQr_>şjqH( @"7,l&?O J5V>JƦ7$D/>#'(s.ޫo]Пk5 f'L lK #%toFlaED:o) B瞧V>G>Z}6Y ޫb(uWo"."ܸw"5蓑 ٵ&hTt!jڇ5s*߇~|zX"҈w O Dy@${!:d@&8ME] ÏQIKƢEHMMaBK?V&r RQKuAR@~vNjmw~>BILYq!FHRk ;_ IrB\9_XXTaQ$&^(7cqdTUUJYfM&M?p*wo$T;w?>NbeܹQ(c?傐X--P)d B q ((dY%86[? ]A-\ M.5x0p8\h2NText0Ketsfb/#Nj爆0HuhI"F} IO<v\JoÏ0 x?@vE72iA߄)JA#PR CP]Y]J4UW8RT㥭!m>eE$ښ&OvT31.J^6 j/2/3[NXGw ESe um]'iᑰg` V~f{ʣdl2vPye`M{2 C7V\:?-ߣ7zFL&~A{ AD-Yޠ#Ƭ+a`q) 0?I&袭Vo7l8QP=@[Gգ4ԣ[eMy ȗ~Q2sNf ph>+Je6q8S@L?oeٺh˜0@J%z Xn'25!kD[ɲE2}N Y'O`Hǻgs,,FfVq׿O?MMNv{&xe҄1@~- ]_ï^eJLHFj-pbR%XYdcW(D>)ϯe&[_|9˙BHFYf-]]]Ư~;{9Į%,>09I3H0UQiܱL>9a 0EXp5֣hWE0FCeYb!Q&d"Ju(_:DQNEh)kŋ76,4{֭[opdXcUoa^ a$I5'f;0\˒{n4!$!ܐJf0{{%˲%J$w|?֮g9sf=o-:G|JUlA8[V%&_A -[6fzN帊j[ ׿pv,u] ienKn"U* 2XyאZLPs*'" AV7\?FvYMAT84zE:@5+HIA?abaSdDLQj6n-Dk=k/b]Xm|$uSQmGS :Awa1ezMv8eԢ30ۖϡ3ULɦ]H̬ic?hȒ$Nue??݈NMx‚7`iLm{4Z4 F;^G:<$UXLDl'-b`L,z/pլe^d-~SU(%o Dc%4\Od}^<%E@tJKN'&"Ê7^u@i t{Wm1[sK|z,m;F-i9]oӋt;ɒ$=.ՙBAAUUsWțOΡ|#Xm4 Xٷމ!{ 7%yFZΜZ^{9pT`jcfgt73k1՗Nj8z?>uyv#&ϡ0G !l۶ Mh kBc32p7NL`5}xk?\*x9s(8voÉ|-X ?B |` йJxb"^ӽz`14w%v瓚Q";gޭ7uRpTTu`1c"&)rr9|,Axk@@'^BO<@ҁcxǰ?qMM{C 'K4e\-&xoqtv7H^כor+Q0vζ,vʬ)!6ݫٵ[gTL^ES7ЖD+ ըhԈiZ/k9"9yW`zet1~r>dGl:9ytBtJ݁fs?T7~lRliQ3Eh4:>$$ɹFd})Ꮐ;ٕ4LQ:/:aWMSG`I;MyYjfBڙ"Z)E~Wc Yl2o/CnyKop݄QI/@fFfnv2|(Qs.y)Lgч$R^ũGӐۗ,+(:V-^8dw_LiY5yhF2kB$I ^ǟ(7Y՜vC̭4##㍥lƎVEИQ;ʹ[Pl4;PEm0{OWmC??Vl40 HN;ڈIm(+De!GKs/Z0 m8e @/? \{a^EA41oD7kdHwm7ܸrKEhg_}SoPW۞6аޙP G(]^( q ݛacgF3Se%IpҊ!coȁx${%^Wmߍ.b3 8( 8 )n\!.?Wַ }݅p?@#Tehn?" E@p4lW \ Lyz~ ކ$0kI*!vH<]HR[g:찒 z%Ancbd6+63y$3y=R a7>飼WH/xȾş*\ٚ^_<;S bwߧu٧o<˟bۡS|u6(qoO s GEOQUeۓ.u֣_"盝Kq/zOm\YWQQ* j{26DR ?e7mMe\@!e&H( {celݗ̑M$N6^ͮCAh-bͪdV4{mG" v@P7|Ղ:c\7m*ڜpjaշm?{=8#"D2Ӎ"Eed4GvanZmdWәZCy>RH= (,Ȳ+s w-&c\˲,,]u RD XAh^s YBV@A$W^PAq߲zp^lqHK@[[ٴS;t_^eA`pFݎr Ƶ'9j\WAYm=Oh" ׵|++l;ā=*Ȯ9yA@pV{iio'NtQz cB APǠ~Dey&^ PpvǏQYE60aPZ//MEc_擕; QeQR}}=șIrٷ%R*سJgh? ,ᣥYtz>"%X%V ZQCq:aV@9,x[Tbe<0gl4Szy[zj/_x-(z6XNX5~~A4E]tgjurܼipz2[sx2ɧr%F?DŽlf-l;083YvYԷ+dڍgW-NsI>[aÈv.LpdbDl`d4h 6_Q 溁>,6IcUZ?jS^6V؀. `?Oym83U"ha-XaHu=p M`4;|$ZK3neǾ胢6( bҵs8_Lȑ( e||z^X_0trP/l%i7yu 3R~ ;`8nX-lؑDU mNE" 40`0&$8ͥ\l|INȎE;z'Mr$ :g {δ*8#n{gu)!Qdς?HU_3G0՝䣕9uh ( NIf]JSm=9g)Ad؈ T:bH޲ɥxTQL󦑸87XվkRXX̴p&p4q#[D#Ak-% DKm *2)SQQġ]H/Bpz&{VQ*Pi5z6 |}Ъ@s'fEC?~:*Q$##S!66e~AY2i$Z(zt7:ZTBLt>F z-FQ!j\f:r} N,Bte&;۰4bA`7Bcp4TcV{wYT>hsvADAF#XXv5mu:TZ=ol(@ukFy.6InM>%V'V[&_@LZ5zO9ʛGyʍw=ʬ1L2>Ba) vY gBrZd4^Sy?0SԆo\0M~gewH"McXB(oxg l4Nf@DT4gNK qsMqPSSvkMX>@^sa]")Q̍4ZqZ5 5ѦASRV/2|#SXn則nQuᥓjtP`F7lf~{v{{7VR،SElܢ*"Pll6+6ECDj<|C s&9)%2PB|tUաRBh*/DHpֆJ잡O % IRZ_Ȳr$!i,,˝][͝Uƍ.b/+MB"5p5v]nF:A!7P:_.? ]x^ӂVzDrq)ⴲ*S".k'^X[}Yv]ssx9.:ǝssu87!|/|{^ϨG-˵wxgDi%ޞ}K]ӐEQR\Ga}qeε\КS@_螻J\`^_w<;z kx*4ܳ-tG>9b[5I"4~g?az}n3wn\ DDqڱ%Dl6Z *ײ; Tmݲzky.)AvEm;u8Qqy7v}` 0.r*+*jn bA@Pn/2[5Q}\!մut81(v9\eFEU%sb Ҫ+²>ҕiT# 7p%Ii!yVAֱoNgPTZ(^]XAw}p4qxYPGn~egr: 4VSЌځ@Cg 5cw(>CjFa7+gSΡﳷM줧"SH|W$$@NFq>^Srd.ʐ:}Nʕ+8SS3Gam&n^{cK%>yInv.NPNKdrKQJʫpʀHItNÛWbfrʛ;t8d-u&PcS"VWNVQbz5Zw[wx;v@QdR8vmJt VLGk+vNci.etmi#'hŷ11656u]M--,C:8qh?'w{aW/a!)),v5 q KWܙVe+ 6*D{tl}D&Ξα)D (i+W |>'Xr@Ǥ A^ ,!7l&*vTs'^]̦bhK8}uY|L{&#JىlcǞ#=SwCr1{'vcө)8Tĭ>s!{p8Pyp7@fW}<򫟑i-I ~ Z |y!5')hg_Qnyq^o?O=~W_guY2f/|Pi|q CDovZYy?9Suy2=`:YtX1a:A>{} ;ȘxM'NV]sa艌5AQUl5]ڑ+SNV-Ǵade8~Fv'*y3H bʯVqb0]0,Z% wC:ƌWgn$qC"QB{ݍڜh>Kܘ'Z-s'3n4 w]A1".6Qs|rNL^Ew*NI|/iIp59E@-zqkC" )l2!u-|4_O,BpuR.g:w 7ܸr"U*3Xew'94L$WuF(I23ˤѱEmP1zh$<[2,n˄¬9Q'fЄq,pϔ(fp#BGgOEC`@lDgfҢֲç1XU_/χ~Wrj Oc/m%SxP*}C1p #<ԋc0Pk l rKCAEPp ALQcc ƨhM">x/h^-b3{*NèU!1cH0VK#GOfFCtmccHޱwZs?~!w{ j@7zP|R;߁beۚdVm dCH<ůo8]b!҆o/]?+wa %UH6'v{2̴[n eY,]v'zv 7 EZQJyQwKODE_ eGpרּ}~9\HT+p + V輞>ʥC=;x42"KȢ ;iiyY ؜1~}+ǩ =^ctXp%nWrWf"| 78|as5NtǢ]]$;W=C.)pzU*\Lp B7 38׆S}\Zx챟'-u8z/v \sw^qsy 5n.WVԈ+Ϥ(PNn]-hsp<' "CF 01ܳrq Hhʥ\H..=Ǟwo7ѹJ\:PkTfUHkM1I'EMIS(Pj:6Y((}IC d46Swqjҷx>@ kWEWG(Z[AvRS]t]vGqYͅ,Բ=ytn'Y ILTIЩ9^ع?st 7,$*ZHή >|fǪ 4؈D/iBe 6xM* BR C%@ʁDov wlV&2ЛvSa$-=Y_ l޼ s"H;F@@(::WP(-YM_G־4>z,ߗIL&EQʁZcB:LY žtBsff3|ʳc'2G`䛭'Qz򍗈+ԍlY53%SY|E-6~9`} /+&xF9XmVb8RȚ3W^!zv1c@:hN멗~â CO9ˤʲ^Ï܇m@e6+~(չHob0#>gr:T'xUb3bM27E  ~C~04$ͿoP EonC| 0`&A]ՈyHً9j !xkO%E?3=Wq7^߅;u7}2!p\}MYEdztT]E\c;.gylg*}KLvE,#ooe-7U'$zt"F| ӎL>ĬVk%m&GzfeSYIѓ /Qq-*(j`ͳT9ዴh"0`BP<}  aSy@_~ Z:b"( 4w0z0"Ћ4ՔSb%IZ% ',f,LϠP0r)xws]2'7 QzYL\5uQ#CQGvA'6r0 D1`OcV롣yeXY0oCGL"" ~ CWBS(| ˨a؝Os);J]-` `0hih;:=7QC#5X 8VOc%pݴ[ c@b~fB4wa#KfROJ$`anPFXZ ! cM"3eD,-f|C2HVr>^upT?=:aH􍙜L/3 Q;k}{̟T@T4~N"pڌʎi CȮme{ha!,$¼::iʖ-{iDq1QxIxƎ&QzY'34oihGp~ ^Z*~>w2w/1c| et/+{8[YZy7ٞowؙ N_FVsaj=s|S9ٴø5j=3hG_M)OYvٴq qg\|pa-PlF/EZp;LxtP:ߠL=.'7^oxG^OE#d=.}F 863m6#N/#9B^-)lJu']K\'tzY v3Df=Р+;Jqe8w:'#.w(+.zg}B,|޵q#Jd+Z\Ey+wȕ7|}O=f'_^~>_~˙lno+O>ͼ92h*z,kk@VQUEUDxDZ[-~A%olgq]$t?G[?Á*[,Z^2/LD%?>eyw@Zv*cm(CND7uxb`gD֖:r J1BcM9Z եX2)oxmLC]YVcҞs,$Xʯ1w<^| *y Ҵy<xMneD2(>k,Иx=: 좉C4ճꋅ|&?| t3̏Gxn^(*_-85\LG`O`]'GRkt,WVB *3+8SwD4bk4+qpѾ{xd$܂O@J@]*[ .HW\S3j?hN30K6/‚fY:y7'0K,j &7|첀wh^_,{9LOa,,yĢG*"Gz@/EA72x$"TIDa#&BWX6@B ʳp(OIe1tdfs`ᛝ8eSygs][l'eX=bNP2Yތ˜{$|wפo0qP4۾zNfA IDATE2wu??k'Đ^j+~GcXL o wz3{߳2Ǯ֚Fod7/{1? g'6};٦7yhILjs2||OTݏ}3'rBKbrEAk&>>@EnG΋K;_p 8vmB hZ5W_e'#,s'zHyjOn!#NSٮ\+xoJk/&я60H*f} q>r.;Ûn#܎Vaŗb`;ulbCΙ% B"$J kF@BFi2_azyVs *sx߭bzH+K-#yav=Ġnônf"k|)n BA@%Bɣlۛ(7בZf$9;N4ױeǤ5#NenVffSDFZhp fA g :qd'e,[6-%˲|@V>\[;Ⲍ641;ûi62zL,N(HYAwF6(jPTxsMә6y͒MkYr^È&ɸQؿ{NmL{ Fr L2{m2O=_ :Uwdbn$< wq'/΀"KD7ޠ(P][ύ˛'QRˋH,=n:`0alaS3"2 2_GGנ'Ca ?k)~1ȲbG1fON9vΖ:`F}.LuWKo[q<ជ%)jJBĮù,x~Z`ϩf̽!:Fθyok9S}̚9ENИuS'yɿPVWٜ6ttKKCYyte;ߟGg}Xٙ{ҺXJ:[M8IKf#ţ3uniFs4iɭ*$)+;֘Iq04&ʋJ(N{]RySɓ2֯^IEmeFDiok%C&hllٴ7&b|5H*#lFiU}iLaY-r9CШ;X?9f@/Z*0pzSLv%4vP_l!H[ ?Jk/}ٌaJ|K=VףqؑVqs~|Bx#{:d:VjʋhnƆz;$_~¦Y&LWf˯d!HFAig$u3HKy.߭ACc%$|KjD* asRNZn Nu 3&O$SCpdIdZ 4:L: Zx!xRY]V8@uyhsxr4pjPxre4Vz0e"949Y*GHLQ8k:_Uc4 '"*_TiϟvZh4 STVIUYm\V 2ZMN@| J"c,ϸ}rIr& [@pVuZGZ۪u[WkUEpwF{uz?NBh$yᆵ_s,@Va.;PR*'Z's3k6.OjeL,r <;-zi/97Ч7ۃX惲 CբV)سUm8%BZZùf[2{kH !82|{8>bw=ܾ};Ȭ姏~~qӯE465 yDgx>;Y0!W, <"g_ Flod"DfF>,cWZ2AA|bZP3u@jAzѥ\JIh40mfb:;h2x[9W?)){4X/-"LQޫ&= rqӹh| ,m'4 .%ZCZv#Mx7d|_e7s/ҋ')K@DT'< LC/"*:D/-mЌOP:iC@d/w$A@}3}'&1]㴘 n<4jl kw vtk8^h=DQTˤSASC#Vo JN#1vvDU >.J.~trL0 ]|Nh! ic$mqL jl<8X=0TPO_X<^AFLPv+ ~:kkB9 GinL!O\FJ`x<>S|'NV3F^0Ib2`sxyjqۇ\F.J؝x 6ՁVE:YmN4AZˉhfw!.z h3Yxzj9Aa1b0Y9:/DЀˁKAن HH /OO$Žёxiq8QP B?CFeWO&>/޼aC;|˗N c8CE9noVr^ oiΞoL՟yiex扁]pgdJ*F -8x|3 ^qmM vG7}ezl+ /U/Xa;oG*?ϥ1Bh>98S.Ӈ[]@Mߗu,oYvO$$gY瘓SNlWC~>pʧyr^\e DH SOy`UQ+paǣ Scs0Gw[Mtw!!rTmuvtq} Apg6U ѯ5zdZ|~=&\kwCc*POaNKSf~䘍fAӮ#il7lg.Nc39AGz,Ӓ%K%v}1G Qx_r,80&? Dk_'Y٤lفjȮ]ȤQ8?wBIqz6;FQq /%umtZCFV6BzLnO|:Mfvwjz,@o~-VI]otZo#9wQ]䠯(/)d=^6DMimIݵ&ya [ U`:e$3#;`3c[|{DV& ɌacY X:).OE~6b\J^[86[ϗ"v3]]=T`^\58N3XUvsAj;:()dai%P:' `rK96P[SCck'kUe] kd浔w`uKF {z1]X tuM-j[znGtPahH5NZcߔs2 r&L,lH 8/ A1Ւ]h&:>c-;V >Βk 6}}MʹwRCc}<ğއFrUQO&$`Pɫ0 iou+Ry[pJ`mg_Is; gےɒ[o"g*0q`?aw8Pͼrz<d?߽Ds8jO9Yǘoo q݂I5ow=rk#oGY0#NC;%m|1|,q/EYJClkJoGVɲZ٩Xb$FbkiwbDX7Sx9ׅ٘{^11±y@!ph>B- nz!rt.aN=Xzf4֛Q8ުdMWomzxN[mʸj\&b]a7%zU-Fz'jc9oHw*rhϡXVrnZk4yYepuQ!!TZӆ2<_ĮM+4,t<,[:Zr% !B':PCɉ,]8M?v BћhbڛFĄ),AcC.N[qݩt!qLK5NmP2/X̔q Ȟ]i\r$0ۈ2 a:-Ogojx"͜D*^xWd+IV򋳉{Q>j&3* Z^y-*ٽ{Q|LdLƀpiTF{u%%|*;ٸ)#R)nEv2C_sCZ)4ٟ/>s+v!Wk!Wy3xѨ[5Qf}GrRd6EY鴚@6@+Zɷa̻^ ?oTT7-c\D$(ۍ͍b# M+oEY r9|Хngw2y:y?q#6$]l ŬZ6:_<w> e] C KS_E' Douw=NOKBL)t[*GÃO!eջ<ܿ'dJ=ݭdrl-oB]DP/)4m3hqzE/[K}NghLdLd(֝+|BPn8 awhNƞ@tLFC}Z>͛/aE8i-Qgwv CF|*yü{Y.-i7np{8X.T 74~"9Օ ϳ?o~)SFlMKc”1yOɘYFdr9" \k{Y-o1Ix4iֈ'{^4߰휹Ff.>opV%Iї .ܘ>\sφb6"aAf(#jC>]Oz7X犋11QrZ*,n@I}*)/\ 5tt7&\@\88I:@=}'AP;5ML֥f~FeuI8+cCMiXk D8-h\?}>P&a7&c2&c@xetו[FTqH8{-mA&/u;w_gdrXGڦ,l_~+éd48v|/y:/I'tZJW] ~v?h=AeԔW ۝6sԟRzܼ:7uPXYNEMۿf|Λ-m% YGe͞BZV|MqS0&c2&1 IDATc2&e t"s0^kwmO.>A wKhpDʳp>%gY]h$>ښ@(ѡ[bń$I̿N%sKXH2~_8.pfA$'lZ6eu9r7@hd"^;7-E_wS{]e.ɉnwk5nV?CZ*L\x8̽56cwJ]lo :?l/8qᮓs+x:a]Nt7awI}mނzÌɅk&uQOcR\`#)<YEp/0g^XOll<cP~ݍZt>᎝KPPA^]ȞÙ%@iEoBbqPp<Dp2l(;]٤yCШFs9M 8ogCWհ1f}#a$ˆ8Y,n&`9NYXT M$d Vѣ))-ʊ2 F3յGF A)huvlمL Z|{$.DP@^# =<NAS( @]>U2,:V::ZHW ‘])UAԣxEKwOckِdCbEQ~4LlvB ݁K~8³F@pMzV~M_jgO;~GjBxq6rsCƷ6'6-z mt-? ֶ _I|7e ?~e8.0aj硫RE+?i~Zm5"Dr *v_fr&CPͺq\,!spkx%I'qCM ,g﹟[^'SB|G{ݿFHpo@zx"e#~3M?/=<ص{/I z Ǐ')gHq8tt;=4xy C80N#a,DE@< ԐꏓsʺBf_2<[5FNtx:\h1<+SŚo6@i煿=KZv%Sg( E,εjNc oSQrdQTOQI-gLaX+z4DP/FzF&uH݄rel{ Lƾ _qHi?27S/lo}aWz|5Sݤg„4Haμ7Ezؿu5[CeڄHrRV;k0X ޽[՚mLr.U`,1 9I)e=Z<: ywٙSκ|}_lٞ֔Z#kkeEI2\ewx^#W\gH9ZN`_4_~LYX6N',i*ۏWHL?=5s9x9,r/֯Frr_DMI>5Nwذa&_{ւOR^}LJ=qqH9VDO7f咩@-|J/gyۍU2yE4g|o"dd4u_`wa+3fL_=x. ,S8iS9 g$.Zd輑e?jJ1C.uػv=SR)p'$_?|-]kZx<lȔjv6qױtF(-إ~hm XCEgO7{ms/$A%FT/㞟\ڭbYSKÐx=<Mm܏؞K5jb?POI"zj{4/ȭ Ot2~/D~°~ҷi<7NCXVK1}Yzm,#.h}DҬt!IFJ 6' A1$" QtoP6] T29.I[GIM@{wE羛pY(bx0nw:E T*Tr6Äu;. >&6#Brɑ''ݦW*iLJi39w$-ЄT <זp4Dʷ=a R /XrJ]̛\Muuid0u*T1!*"|ilS&=13qdNv4VRۢn1|1SEMf`#(aB+d;(݅_dAq43DEq,r"uTVT=y!n?v*+ ڏYSc)D<'a5R\X$">"\ZLN@!89v  Ј@jK(=5AMIr(b:MNQ3S/JpzKBSĄX[k1+t~MFoCN "8? Qs(E&BTt8@NAKj&&R렰G#`##8^a L ¤o"OMrJ˪',w#9ˌ(Po/,kn29ƕwKN5=ؠo>Dpw/B&͟{&[i!b8KO쳖uV8𯿢F`wp1=.l.H?Ռv\Fl;i꿐D=:7~!^#&ݖ\.<p$tjS?5瘌ɘyîO?!(M;]a~ #G[A_C߇BEp~| ]&ǾՅZ2#hϏaB$?nA?c5ZOpF@11nBNpu"$,O>=?}Toß Nd 8BF U'Sc^/)υg =A=H:3/ ?ڟ\^&9S~z0eHcNoĉjfꥢ~En9ΜCO']z=ttvb '~"դʌbvg8kV݊Bp(͡q26,0u83;[|J`n.딌3Sip3nkue:wTV7bsS9Vj+lgfpTO}s{͵QuHC+\M$ESM)}5>' ({eֶ}кXz:hN[鷟 x09$&љ7c% g(&}$ĎiMߋCJ .Gl$T!1V} -}!J|> @cU1}7GeM=V} ž"WlC45+h;|߼ 蝧㙗_;nO~#EocJ7ԓ+x(et>̾QB=MpM޴cxi՜ܵLZZeJ]P2"$Sha|)9鋡CER*i> JE%?ɦ^$W{B$2rJ DiC7*:{Tga?fmttXU:0-?8u╼_|iԪ4ufA@@b*%hmʪTr-;gW#|'TL8OIOルR~D_.JZ]tՖΔ=d~ā8t 5}*&yyZ; ЩIߗJFf6 mm445cՄKMhf._U\2g"Gv #.H[vMĸpdj$nR3$#؜k21dNWu9AaV+ eNʫ GQ})ܱF&vՕ-8DzS-RznkגWNB^n^4ClLIQVGVnyDO.㸼s>K*&7;f2 z L!77$rlE^nvƅc),_B@D .6ӏOH8֒W^L@Nsr+ԐGs]NQF[uUl.Ε4ԯW3e;ɪ6Rʑ+$3wv+y f3G_А Zedw; UٶKƻ˿C\XK9|`}q%kHMFrY4xÁ].9{VJg_a`ańfm2͋~K|WU?Ew6 XKT۳^āDfIώd5usW#;vׁZϽH^qVc{n=5֟W6|ŧ$(<)YEl+ݜfPـm!僿NST;>lwb5 Q/=@_O#Ъ6O= K?vJCpRͦlۃ)r| vtQHև@mncj~SNqI!i)|+pt^ U[Q+MTVe#&2xࢦ$]*HTJ!dRJIPD,jG YEAM+9_P d IDAT'U%#*&Cc.Rr4+Oh tT]ElL$Vl:a;9VR>;ޛ^6>kn}iIP/'lwTхGc.r x*31 TelFjg4lލ]Prll=p/O\8ԧ$vˉKz5;]Kltϫӗ@_/PN4>LzVއP]1Xݩ16|FYGLD;7,oEE/;&H*m2EYs-G[ Ur8 T\V#Ņ4R A?rvPlMqZz)* ,DÊ/Ӈ0Na1r͟"YƔ](Z r= /?ͤT Be(PϥEP`dr9*`Ctϝ$Dt|@wevAˤ&2߬"g' d>fd፷meTL);nvf.!ZMZf>v@jR[ ˮ#XM;ssQZ-/SJ=^^ zR7/Kod悅$*Z .!ʃ6DW^~ t3څ۲(nFyŦ+1⋙2es^L?xk.=LNfބ@zlنKt\Rpl1F|at'f=j6oJqM#*@"LV)bKED9JrIOɔHz;)`z7t{[-̜Y !df쥤is/cٵWP{[6q-yAs:*ƍc|\%ed .ċ.f8Qrӌ,4Kq= +w9]:iIt̺\=Vn)ɘ]Jf̞δ)hoE@ D&`VR4~ax(Vf)Wn 1:{غ7?>;U@߬2%W~7,dp 'c$BtE 6CI`ԋ"jE$'ajCǙro*VM<ϛN1d)Wz0q\'hrMs⫭6w &2~:0oF,)Ƣ c5 +)ex4 I$ uH2wݴ,#ho?ʮ+:C tdf$}n|"V;U^Ɠ={2n{yϒI퉏o\86wq!=zyK1yI'-B YKHH@%/<gw' & ~ߨ&'0P=ޞ`(l87 x`H{?}}xە19>XXCea9v݂GNA&S/Wh#)I#xt"꛺hobub4L8E/¼:sbw8~a3Ϋ9e |buQ"~jL ヿ݅Nn8f ɭCl|"p*|嶛L]XutLw&֬"dDD͈ ڜ F&3ՎbίFS>xҹ:Z8~zX:pшjZG g%bdചO(KW]!s}Zo2 Xx~rZ:8rt46c: ^Z0Z DFԅSO21wqW=ev{/;6.iAțB JBB BB15ncnYVת]rZ}]cKyis9s `P0"'pP:~&NkNJ&^__AsMH8+YC|T3& i qt& hb(FY2k.%|5id|Ol8Hkkjif''Ō7n#lI\ }~4\\6;?>&ΙO$$ єBDQؽuֲL+EPC4%D0cz@Ά"ppDc\{*-_a% )ʷD",u%0aȌy^H˝}o+ طoIǖw/9UB! 9OgK+2b}ޛO?6ԃu+JR[݀%#SX `fʽz'CƍC(9t`e+Y4Ya'$撩7#d3mH6,{jwnũ& ڱ.u$*o,udF&lo+F1g_`̝DevL9\92<Ȥ9Rmkv2llRFj#̽riIZHۏvpKi޿6pqkah\FzTFw.k`i#Ã;6RSL)[Bw!7 b "̘?kܔOPFgf!j;LoJm45]V9jIVo=L~N a{.3`L=()ݼn9Yj9K2W*7qwFok5NܑTƆ9֩rm_aîC 9{i.h*U|QX^ cCnyKG'\{ ]aZZ=s==d#cg_F -EO%7A;a{m OD4:Z)5"s|9p W߼PJzx/ش.#3Զ)(ٳ'Q{p7jb.RO9CrY̐ m䕏?<ͯO5T9I@i9l|k;|\t5,#A,Qilh";'Y6P` Ǖ{=RF\`߯~&]$C~5[źK"휓9&Jk"u^,4yٝ5,nPxB?Z}lٲ[s{=˟WObqf7p|Cs}/>d\dDIBNTECI_DyQ#8(3j#~ѷ9ō&Y~~0^̹v jwI Q/yFiS#>L>o[ԡS4z*ݝ.6Lpd?ͼiv|Ea/eB>m0F{/9"unf@64W%hJ17E%1Os58>ɈiLC;WI3cCaؒrXxM8$,js0"^yFSf` JR: Oç|hޫa`JxZ-\\q-'>̼=ٮyEQS_v,{c~k$! 48 4me$6,9ލ xZOHΎX̬' m-3 ޢ`hxz"g$kH$^NwG'UwH}]t<5[iAPxbT?Y#FR].#" {~OYu>vCh:X09Ty5,lC /vKGϳin҂98"G?oXW~ᳳn?6uQ cPmYMu=zxJjӿ%+6A?5疟6Pw?yDc`~"^ylZl@UA6|>{xk)C7~ϗ>!4'̩Y}ع#Wcҵ0^rnԹ='e LgoLy< @O;=x۪Yi'}3Aa$GD{q|?SnKRRډOTWe$L "!6wۿEB4? c$UU*٢xVz=C s]WTBJJ㦹Ç]%  dMbdx=~$KClu0agPꢩLԬ$nQ$'>O;HvN ik bLZ֎n\i$1h:^b8.P^+  93I_'P'yYQ^#K/FqnzlkItTh !H6hi/ a$frbͶ2+jl"62 pLACÚ93Q eOaQ{4wHIIXK R8Dy>m-1ˠYy8eŠNN~>dg krBD>"DQIzKKK=$Bgo]H#=~hx{M+ϯ~!v:L2 pXtMKWR2Yɴ57Xd%imn! dP&YH$f $]6\Jc JVHM75Č\ҝfm#d";inRTar gP)*3CLd2Ec$0`Ɯ0t "4 ;W@?el{ ` WQt"b|DiD"zzzN? 1^r H'yN݄.H$! s_ ] Et|/3ZGsS+G6_\.̗ڱ06厇^gv=+}<Ջyp䩇4kM?~xVg.:h3v:8K1$ϻ z{Kk]%}4gWXKtv)|"N4 !OMaĜ 9[WMfbڍ,}Qw9}<S Y'1:Bz@mxwu}AϿ/;~C XE*j:pOi*}ռ"r2|G@.av!H]VV1(~7Owhzv8dF+ҋamqL!7ZEwjovW)l3W]Ȉ_2|׋ΊMK+ޟ6s%S3&捳˥W. +~c$Zd\+6"5){'7Ybؘ?kvDcgiFLF5]|dW}w=o!̝Gg(L76v?y6/aNf-rca< ˼/I- Ad̺ w~"GQIIFG! lFUU~9+{泬Igo$Ib( ^ٺgo2 /q <ւg/{nAFFxHB>M8Ԝ$e]lNFI8)N627 z>GgSo?f%WS5ee85Qy6,'qxwpϣ"WX&0쮰qEW0,͛²cۙ5c,"1:Dq>=m tWGՊ╇1a4w2}\0IlER:ctm^#g 1eZ"7|N+Esoŗɵ&.v,So {&6g7ES+l8]J=͜nEK fŎh)!!%E(v ^$k&)iIiiEUBgr/}k9jT)̜I-'---ʎGDQ|3ar^yyz!) 3 Սh,SJ2 tF<&g岻b?1j)\~Pi=HupB ~ߏVDы,ʙb|bc58#=}P@ L$P[eo^Oj(rif]aQ:ٴwW/D"t4ԱeJ7) z{:֤Ls6'eҼw]PyG]k F'u{d\zx>¡P1" 3eK_cԀUHuwrp3=D@QfsbEϾ(שjì[% H#A>tGj;%XN:/z a~AEtPw7ފLΑ][ÕC y*~`]7Ht$ї0Ull(,(~?r. a$Sm=d_ՁϯcOJ^ ݱvf\0w(z+P%;rdz籩9sňn#deʬ^ }}>&N+Wq¯2}|9kGQ ՅYi\@VXs/5ǛZxOB~/`EioX= {qWa& ,x`ĈHE֦\33}wjaO5NBBI /g$ C$9D1䏜NB_%G[}߁?e[!SSɖ1cXZw-HMK?=]ձxߧv&Drrr<,',MGG[P(ĬY>cxI-2;ko{ IDATL1ǟO?_;}sah\#y/oK}?O|>dY>I6M$6oތ /eee(bT^']QEt"EEE(ʙHh$Iz lGBhG bhĹk?I Gw_qo[.LZQ Ղ AT af 6ЉBDTSEտw*222}>VY?$8{`[3zz b!-- Q߃&8>j4!&il*0 zzzUUb|/(B!@)>ɲi/Zq|brr2n;/GQ! QRRBfff|Gq'Yٷo_4AfdߜCx? j>_gb"1XdiFS#(X,f}=u;XLSGH5p\EN̲4TߏnآHJ,D~tي$`bېe AQ|N{p?vZlN,h֟}>0pDBA!GBfY$&:Oi+fF͈( 'qQ׃*ZH*Da_/a]DFE.Z8@ r% \U q8pXWm/8cGFHNN>oO[[Vu@( II$&Xsl{)[F+ `[8i K2vL!OgJ.$Uoyn2-^¨!~,6+V6[_\Lw_%X8 7eam݃+% fe'S[{h#)kgUO[ҡ%t6/"bUHFz} ==zZy/2хDZ?zG[+scyve-3pXE݃7 I28^U%1Y DQHI_nvuI`d?lCetn~d"5 -޶%+79so[[#(Hkk+>ސ$QnQ׋l& O@aFn*y fԹX:^]c]tqVyuF݌!q'`;ٰvlں]Wپq; Q7@XL_2elfæ-#<%yPhʗBE};} ;WNuFm(mbu46͊WowUXj" Sp0tّͷ}TErFTGQde"lygQ __vGAAaV.KWp׽;ֱco$%f^egi ۸p8&Ojc[Qz#3%465ᡥ&jZșv=M#l~* @jj*8w$AŇÙ`LؓI4TC`Q^:o[EbKS6j8$0ie8 +`qsR4V]^^x;$Y2x/pBAF O ,yxU]6\Giy/?.')#`O,e2S}?MP$hV$a|) spByMf;f?,F;3\Dz1E$ch*!ėUf߿2 S-cˆOn'n<Æ0b?ś3Hu)&l{3#2/< (MjzE8Oq.dʺQ€lv:( 'P? H}x%nD zS| .#{tW1*fVgnf`sxq EAB?NG6D1c De5Qc"n nG=mqrCh(bz( ]ߌz$`FԘ `X[Q b"HEy)?肬 RLYX[ퟀ'aD`5Ğ0y"ro?Ob4z(gQ'$:(ECk{m:"bkÈ$,g#8>$ݻwڊ:~ydgl6cZ M tCY1cgR;R8gޠ6N~Æ~BjY(I4ŁCڠ HzKv |u];( C?q.>MVfΚAK~Z;%$1nΖt OI6LAb_F0!8cc?+oza ~# -BR)Ѩ0pSrGqGB&5@iF k$1M37gr B,-BSN&6 IF44ht#q-8# eMfCCQutM`ekpfG@S"lFa%&d F;E ZhxPSb-Em 0"!šUs@ʹWnfUʸ\99D"Y)uAY1eBi؁ "vܽ~ˆ *͇+ǒaa)a)<υ*G9fz<%8$=]k}d2QRRr\ yK߄5Ѝߖ*#Io7-X])bVuxDQl`sx²5}G%.0$#2^{^?Ĭ FpK 0 ^|!^^mpz=2ch!Fy(Z~v &H$D l򭈆Bm] C I-(iܵG{ѣD׍GT*_=_4)̓OŘQzϧ%ET1ʹm} ɸW<»}N s 2&9ʀ#I( dM\%$I@X(ea &t]g^fhq>8#DQp8|vPu"XYxjWȆ.bhX:&63n4,Icټ/GY~F4e3# zKx_3gs?dS5.C]|CJ^vz:]k~əI9$['|u-ɧMb~\m|dz [GHLg\~+ٓY8̛۰0춫)9-  GyF.5}dZi{.WZdƘThi8Zrwc_ym]ڗ32!8mGq_mje){ ?L;/,B;y"I`Xa1ѐFY]S0 u MEW IG$TW =x ?| &#p ).BO—n=WYrD׾5P >+gWDع{7/WF]!7ѥ&mVqgIoPd@پu+tfMf&DQ~I82Ȋ0l 3] F"%3d a>i؎[*!ibMsœdU墱8超wD%Dɗ=F^@~ޞ>zߺi4+Vqs捧a2.G$jj4<7qG;4i mM;x&ڪTPlX,f&ΞN G6IlœAxB,)qQ[u6 2hmiXSqd>:z|d A 0{wVƑ=#nr (Na;[(RFUq\u K^"ef KŒ1S&cro'} sSG7~$5)*-*Y.(&h4'"gªc+$^ҢN:=~ vĖj!AlX8F&KP8k#ԴQWk IQ !AGK+zC gL}& ktY[YDU4t +%)#xh4{9f1|MSlk""LqED'DZp jbwaBWLfo!\,8dɑc 5 槦8)$;L4_Ri8GV>ގv 6 鉈9w+mhVJ^Q>ݞ>N^7!9$BeU-i8 A9!lI!&]%#J&ܽaJ0|)Q@G%3=ل$JGS-^ANFCSNa_`xY ǎ![$Gh1 Jy79t'M#aVAN kb f?Nz2bWi슐$r%߂8 $8@oo >h :s Yh>PA eQ9!({n}gl؄o?ߟ*c; 3aP#]7@kOAY8#W(1rpt(Ӎ)h?GqBCxN=3Qg0tSjHm_8#K sᩆLF| "|V/Ǽl⸧`?N>FU8e 8$ HȂ `2p'yUkQBf-Xs7Eee M-$fⲚbJЇ/b@<|R\( nC`u,0EQwg$DU*i8 qzڠj4h1Ri  bJ7tdCr%F,&O-IHDWZoG+^FFr"(D7h(IU$ILIfƟ8#B_  `P(4P(e$y2n JOQG c6oex:Ipؽ%^ԉH/("19AD7>iwMcH'|!e$:ƞ@ ^}Uz|V=~t;rxڌfBS:D _#qSsxx%ٱ5爞H}m%N-arSs//Ǟ`#??C>H X6ظ9EEtbבzrs38}#u,'5G󗿿ʐ2OjqGeY0 <xx<'QE$S'4-1{pQ23Tz&6{&]IlwbD.t&{׿ssrYpֿ &#M?oKEQn] @BB%W]4R6s6e9 w#^*d ]y/lh  l JH:hޅ7#J1\N(/)$iG)?xf3SN%33sS{!R,FMB+1biM'JMTI* Q%vY:MNW?UJ0DS8QgRU yp'9NuQP8#')ԟ"JRT0#;TBيYBԐ 6~W)pvNwrE¹}?t.qGq|Ȟ`~K$pQ =Y64U2]B 88j!Fk:":`p&8#8>IȲL8>HsQ'f1¶u0 'V;VQÍ=kzLyx{:MWJ^:P2l)p8< }L& M704'(!QD YQ5$|plV_CPetUodYO: CU?(gϧݖ]=dCU_eТbƽ6d:4߿"]eADk[nEvD_ӯ PS]^2c1˴kh;kI ~$sdb`XDꝛhSeDA@M߳ ^lss,"o&V} ġVtAfH32m>${/TN2?ANݵ$ي$#&L&Q„:hEmL2ϸi4ٌ,#'Vz70-_'9he܈Vu2/]w mhJLJ FJXF0#Q'dr2rh0˘c%r iuwPнH6GuqRrdľG/>?㦯-}u,+,~>1Aaq1)IvLay ۖR>j4a/ƫ*qd/o}C p9;Nj~F.}g>y7!'fspJm/{ a,?gּɬ|c c됇 -җ0Eo[U=|&(ɚIE;$_6]Ս*#h:@ůt qh?¿W!>Szw2~|ʓ|^6;S͏9 .nU;磄31!V?f\AaWhI9Vsw3o 2nx>SLM~p'u]53KxgnV a7+۸dbCc.d6< #չyl|uRjj}He}oL#o}_Ѝ} 0gP$%Q&,lZʉlO8/HRVJmɲ)Q W f@ޗC70 9 ]#jzx{s9Ffwy9+"Mt8{j/pŏ0 \5>q߾'TzjC~S>%3˩p ˁo}'`~x _OYs?->BV8 t͔Ig~a, 9|hOq8ӯßu$.ōIwG1vθѭ죜{;w~<1׊"~7M~P*_+7\E8eB $o3>5Es#V7a3K"=wOoW[{q1~ņnp&/OyEο|/|OP _KkTtg WWgTtmhA}Q"n֞xTh" <|K&oƧ9 }Zؿp3*JY0 *4E–Ͽ+E2 s%ȁ|` )fQ ^0+U$0kuϮ VyUv=qNty}y<ɥU} Q!5 q/}7ևRS7(1v}(&qLI~k_k?!9p'p: >9tҦ"OWV 4U!o~J:x({ur.JFS ?c{ItaX[]fjnǞEſziE,CC1zGDҗ~/}3α؇?ڶ!.m[q 6B\vI gltG>9K|I1e/|K+cK)g})#Oޏ|kk|yIU]Q JXZ ]ױYj1Oh(>ؐ?~QT4wgYX|-%j|yeEUn맖ŏ"Ix o sus8{} _<Gs D Wuqμ SE>zTD[aJZK8U S-?K/1Q ag7_G02|[7'iؙU-]V2tҶBTXd2m@N^#Aes1G6ǙWvZȞ$Gwy[8+z(6cܸ9KdEdL[cWOyNKH y&٨)0j:Y5B$Jv~ _Cn N'7pmޠk3u\ttԺ%F&g{x|@q38@$BeOoeW1z*==1N椻x:|C, ut9X&}ȊIF^ez>Ň?H{/NJOI:_&RnP.UF4TՁQd=[!1g/)Һk/1:Ns=ut:<t;ɧѶLPqte S9y6._&UXOP@67@m$E)FӍ0*&rh.Te7]EL[JeCÁY4,D*!K;_ET|>75 Up$(IF*gpBx4ds8<|n۷imm"JXmT yl̓SiX | D"A6m-N~zsKFyh0Uy!2k%B K?kQUR,!)뀘Y$#ש,FiGD`Př,zy( ]cFeh~OQʖzg .Sddd4@ 4B@MnJ:h-wZP\.p!it]$>gW GT25ZQ32 l!PgU> ,Z[CVMDioVi ժ~}Uޮt2S Ȓi%gTii0t~VCz+ż 91|NZ9QAעdE?/Irx@qrQ%MìGVTֻH=& Z#Ӎd"~U[U1 FcnlTkTY٪6z۷&ܾz3B5E6Cb Ν3CV8~V 8sDUy0IȲRc/>ET9{nff<:E(ڄHmWhm~4̾.,B:O$'\rd\LY3hv|L~uHvQ#I+=}œL-om!skv.RSZBQz4r!kWt]+5fnJe?$ˤبZd".߷*_;/_D*,llR)D#R4*XYʷO2$-K,ӓsZ9G%c)p8\{b2BVXrD0FE}iJwHwtK1݋T;BMͶ%of}%$IF8ҶS/'-@?s&ޙ[/w"a3%F.c~  g9q"n|Re^I#Z,lsc|g} dVh\2ܜYr}J»;_|o*rc㌎[,f)\_yyڋ*1172 z;9k8^*3D{o;g<渲{HV'Y,*D%u$QY_ &p ##H{j6W<*t.]!q}|VB\>oѽo/=|5RS5j?z&o_elx<Ɇ,'/$eZ~nϯJ3k>9IJ*e.1B an Kcc:٪43LlkAL槧4H0R?qG u.-#IaGhNxx'yS5Ndw_7,]cSȬr%^2RD,̍+W@sB51I?7hk07;KctU(R`v:eXcLSE+:j,M=Kx1,氃7_kOQdTSՈE<{M-psFS[+E"}צV|v(2㗇p&{9?}CGY"k ^틦JG@6=]_ܺ5`+3KD 箯" ?!Yd*Iz {/4qh Ω)o6ΕyW%hNsSl+Vf8;t{V$[#N;ڍ:fVN̙`χUgxrV&'G7i_@5_ %Ng q)2ț,-!tDsHPST!+q_V+FG0eӯb%#-38J%3tebf#ۏϝJJ Н߷Q-ܼq=h)NUf~̏02r 68+Cב}ec|8T#!onCms̎v;+#DɍLJQVR]!rir1~ڱGY3 qc Wn1s"vr?bqt<.Iͬ>N?7y0K#o2 I&\á4CΐyV&g^gn)МntӺ۶)f=t6s؇(͍rś)i֏aXt}c癝E;l̺?`  ba54Ve,00 PYJCq$T*K^r ٬ 3|bE]e~a=uDu9)mpɬc+NL4VV &RBA ə_eum -aab:-,,̱Z; bL&e;NY$;Hx˳EOc[&PUhg>׺,TY ln',ʼn]\tFE7MB|XYpz x\fu)6 .p}=vD؋eq2!+OGASdt&åZ̭dpUdEf3’j)8p( K ,ҋLjR5ô@uQv'L`#5#+@i eZh.kgONt"YUjJ&)&o*<7oqX(2K*!] Y/^K/"a AnsK(U,!USq26A@eۼ4 =s퍗ˣeVSjK!ȥW*8wHWAj $* T $'o-xN0ô%TMIQ1m=TLE=M^_Auhh.',gΈoP)cPTq"8e\&tv&YY^ˑ][ ]2{/?Inq%9t~x0t[y:d"jga44"T*,..xv%⋿P(# =>z{z4Vk^szJ}hB$8E"P1i%aفKiFBLr%v?>@8  R.=:IDATO["L`OJ,!b3S" T h%&](v,W]`%%oA@45Edf(:´4$H (Bs"F0vwг8QJ70H"쥠C)I$" qI&bDSTDdb !SrGmj\ !ۍˍb鸃QhT@ׅ?p4NSdS!kK:Mzj'BN"!?d\L4G`Gp$F0&FS,N1ʙS=,$0ʩc+SHRjB`ZV؎)_4Uz[N6_Ԕ7C y+ꎌj]ڶ%`vӋi{-Uۣ]B ̖ZSL +e<wiǦ~Ok)گoz -m)7˪mob[w+b+Ʈ;e $@ geany-plugins-1.27/markdown/docs/plugin_prefs.png0000644000175000017500000007237112671261352022507 0ustar00frlanfrlan00000000000000PNG  IHDRN39xsRGBbKGD pHYs  tIME 2<:m IDATxwx\W?L/buv*!%d Ih/!6PB%%tX 8q[%ٲHId-9|>s[wm{+m޼A  ., cfI٠:M@ {)Dn턼o~ S8mۦι>M[[> .(c E*37=;60JoL#T8뇢zHBLM˼h0l{5Iݕ+A\t4!aDv_5l/'S+,C=&KI.T'}.nŸ/WN},tݼ;?(Y8XF6fF flcؾ5|7>?ϭF9oo3Rd |v s }_?k2M?uAbLyP_{Ux/r?rZwۻY,gƗ_FY7ϟTX/W8-dlr?Rv;|,#Ko+Mλq?j˗?ߺvK&\7/KUZ&IqG+rV (y,}9#(Aj3߹I쭬u=_s }c f? 鵪}7sI7wʁ{(UgسXj/7!k =ЁϱJs>KbYxqv)ym2o^?|)k+zVm?~| a^Lv[dUEF¥[UQI{|HZxC>,Te-~lgx[|'VFuYZf`N>lu]9rx}g{ |_}>WkQ9Zˇ#ۮ}%?In5h] ~ 4@`[nQAvS3X:\wmgy 0$F}Χx݅CkMxaՆiMxQݴ~ɥ|VEuM .ųx)k躟ݟ?F'ȓc%wA̦s/~΃q[I@S.Mls?Ut|wwv׽>xoV'4[cKKܹw9eͷj)'wd Ff QJQ}no/r|i?lDj [??/O9,L=˃э^>8\mgؓKD;g"aqh=ɧqbTWgFٺ8*,2 YR&i8reCC*cNu_RT7j1E"P*9F43C,V/18_b|#ٌwAFAf;ᴳh$e"S?x]w/!)ŅU07͝yV#窛^UxHYsSLg]]~ot.oY'P!wx =ez/[#OlDUrqӽх;"9XS:CyBx5 (vzb }i5YeNuIU.V,xHy+ dѓ3c1"==_vyHN1Pw8F\hV/_Q<~Ȧ'|nxO|KyɍGV >-!>pNUzFR=h"/Ư =;Op,\uѳ|m[f]%|7Qv~_̼@<;O (G^iz{kW3G{[VwyA?sfOkǫ2\҂v^f+E, fd 䣕OHNo }s+UUkYjom=NwԼy, xuw N ꓿3fqtհobX6gt+D3/؆w5kM<+ehZX(EƁ_Z{:wo<+]ˇqO<㞟s-OME_ R5o +Q=擿ɂ;k,_Q gsəUl/'~E-; nMnV.)'y7*bI gA$Ta<2UW1z+bY7qeIw6׼|]|ފ\}eT@rc_^>v_!?%&ϗ?c5>M|K^#߆_4>ߐr^ʖ^MomM}\䗟V͢½5ߥ7UMI?@ Bp%Kdı[ȇ@n6VD^)N$49, 8q(XV aqiK@0T8DzJJJNțԧ>%ޜ@0Wr - Z iI[@p<8th"".S &)tp][3i |"Л@ 2DbJ-NI(* QXX@QI KYr1AQ2IU^|.KCNȲeQUE˝$O' V9cJ-͂7D+߀w_1aIW|]$=2/trj]>'zhm&S@p:2qжmTUa"M71-˲|8C2E$As?s X}s$IBUHvjvAF3+DaK(X%j`FXB'h94͜ ꀃֶuQ7ڎ6"Kr5 ֐ζqETUoR!dE’ X9QqgYM2Ŵ83^epdʐIťXvSB"&"?(p,[VQ)+$-!M%¡>阆먲1&% ewYWǡf\k31hY@EwwEŸݞ~FIs* \A TU|^$'hieg0$3UT2L}M7v0 \.e2b}11}m,O "'.U&͠5;$ZQ[GռEIfΖ.e[V@uV2H2s4`VTIXZhkiő3W7޵E/Ze8:mliNv(grau&&!{dU\^~&cK9ؗutӦi H)A(5G0$ô&Ծi):wr H5M38-{,#ib8;kEQ\t#9݅6Fld4Hw{ в,tSGkKm^dY4M1,uƎ3o"8)cLj%Z,+D"zzz'(N` q994gŃTj2MӄX N),D6^um4t]G׏}dd`6IeHLqQ <& Ҳ`XG0!QqX:7)# -T OѴc먕eFǘ9uXGm 7MG"b &$1-N@ x=m{Q$IBt]'LRXP+i y3mn'ۺx`i"K"+۠VYM#LRTTf5Gni}me&a*+S odY&;u NT&#K1OfdB,KIq$k=O]XVnŠD2qhNpy 3xnL4`lzc߶ŃRȲB04a&'2<aLǪ޲,{4CA~1[aa.ՍDza9`yxOLV|Z:lǡB<PM ^`m-q9?Nryz}cZI4hq њ,2,!I9 øn5sՍrQl1%33ur31i`zJygs3/Ųm$_ g]Kϖ-e'k¡z=>T5f H+ur5ɢBnwYm"RZFw]7nΤ~:2*M _ )3l+IKc/s+(jIҝ1(mk-mM8|F>jHѝ c0pNI2n mL&=ALDU]xt]C:y$N"Y> ˙PAPu0]46uMM 8v`m鎽=ڒz hi#k<=Snv Iu}X4ca[9;TLPֈvv] (2ͮvrAZҜtS#tA:ٝ4qTQ[_AfO5$ kk 8hƎ4l?X[#{6ϭ}Khbd%hiN:B]BA ֤VL:ޞ1/+77zVk{/Ijy,.4Em;$I,1L&[ӑ\z]B},t:ȍ R3r!IM f `mVڒ֤Cl3U- 01 I:-J#KGG=kd:cQ5u;"H@0^`mg-l[G&?ndUw'1 MppJIR&j,˳eJ) ʼnunlL,ýe m9K2m6šbw&c@W[p$3`m rQ ={N.9vW]ɤ38WzD)"AS=j284w%hoK m0%;ڦs9Z/z~'lc#2L˲p\x<n{08m躎eYx4x^\.i׮]y>яq(rQ\\L:&O'BT$Rxp|fqq1HD Q'~', 4D򋧪b:% '4j,=z۶d2x^px劢PRRLii)n䂺B".6h<#t)(%`MªP)[Ȃ Ö]]l7)}̺2v!Ⱥ-m W͚3kٺ찐7B8iiOI())4i8Moo/i+1oBok3ۋOՑ"d/U;4bSw&C s\[ٛoWG R58]02d5A"[;%1wH-cmikƊ8d2(ŀNYY蚦ahLf쯘`Vt~:&l'$xei'qB/E_!j}M8`}?S,bnChs( Ph%C~X2oe]L!̺#dՋ?LwgWf,(c).\0MD"eY)\p IDATKgg'~X,F:tꦷ3mfE0 drwAx .)8uQ$1sx=ғtMgiJ9R!K)ndφ$uDM'_j +NsHD4k;Fg?eL&,WJ*..L&߶9I 11g8CfA9תfzPl czhG@+ =bIf5k2`=oXĒfAmAO@ih4v%RU*kjA|yQ wl Gb6hq,[N94mn$ 5عm ${+i(iz)P~72&pH. J#x♎%X`Xp* @E̩,r) {PeVyI;W 6P=4Iì]cN00tt*/-l؎,Ȳ= Nq\X^Ba\-_Ί.  sXbNh_ DU_4t%dwgõ,˹-lÞY1$)i$iݵH7u _WLb3ؾ.3|$tm[OմaZ';^|UUx"eH4k0V6_BRtIo#M b;MܚGا(-$I9> \z36)S0CMmOՉJJih0jY!  c XՍlg0,+ ÖP EAs=X*zQF_%)I)XW6I^g|$@ @iIhhO/xvdRYQE(ޏz>-G:"cز:_VpI6@ uYA$`6f{h`rڂD12M32#;$X[2I2rIgg'tp(LQAxxF6I%EEVTී$4vpVĵ8L,-īXc 3A8S1(UG,&APQ^(b9p`m]Cf.u8&4uh=U$%mZ8 NR/Eu4:0^1YRI]邙kQh5IĚ9Iۡ+ɅMlޞpku3t$ Ip\,\xѬ1]L!]LD4P< d{qx'cP)tk:3׫|Li}8бoQUŲ@ z9kq*y:C p N@ 86HY EE88HHD{9-p,t sp*sE7vuxsK8ľT5;5"'s,=fTwnw܈m[ȲB2f%,-v"S Sijn?ϑh~en|MTUTR3J{ÍI4?GsLC Nh\U\xݕ, J"/4 FIO/|#-Ar+<;cVCf6< Yg2w'St[7;.H.%T#MtzЊT^G8L*p"V]}1 t2+ҢMVR9`qFn~[\@3 >:c<ܞ3CyBq9Q|ٛE&1\+޻YD!B.].g<ߖ V,A:~,r2M8bԖ\X6%Hu-c8m_ B~7rn;p)ڷ=ϫәUBg!g^~޲BItgO"pэ}}w<~ o+G]gI7\M7]Β"'|uL0]˖_؜Yz;>j<%aKJ]<|3CVū mŀU|!{}͇ίXm_E:3fř)?E: .+[Y.V8JsRT.+m<ܩy|v!-],z;oʒGA`zF|?H/p˫nνvnx'w V`ٛYDn6e /RYq6ScS*$o5˪7 Xrpbk>". _ep*XmaN_8UUǞ5~YK/nt ̚}5X$[Oʋ=6ѶmGlkwЋNhkl4'Sײ̏`^'p=“0$̐&(`Nm{Nfż鬲AݫhAΪ-@NS^o;3\7U88 NW^uen-!9v6_ZiW˖W6-*HLupeW:qTc4)y}:s67+reIXd-7)6omFnwy9gĎ yli&m sՇ]>#Ȳ,K\}O:JӦտܹ7o_Ab<| g u>a en-,,/=u[?_}Ɇ/ZS frtm~g5-bcݴtǟ>`z J qzưI`X]H8P4 $!*t]x<8c I߁ڽ}|mp4MKiU^ϰŕYe*L.(Dzd2(nx"IdYҽ&j U#EcS38]Y4GV͡ل#Q <.Vmeq/a,#+ $xPUk9HFcqU>vv]U"UPÏ")#Tt7tz`/s.E @0}ic).m|ݿh$~X6H'PJIЛ4HbD{4A>aYFEV3 \nr@ &W D$LBVAԳR^RHerI1J nlBR](5 z!'FqL3f:)K8eEAuTEAuTۅ$ZΗ3\m}t] L*3$2.lVöl\KUqlQ]lI.a^jz\@Qȍ͒m4YitQprQ7L 9$d].AKYApQYhYdEAT)ϊZp,ɾC4u'Ie5,3š.jX^)c8Hsa6JP5%]45wN4 '%J\uYAUl=$ z^o::Fa5M0Uk9EUU$I¶m,Ce6hDƶHaŐ,˘-u$Q8?Z&H,I.wnx1ωi'afK'&ۃi1)2˅F#Ȋ|"gE&B8@@ !@p 1% IҰF[h>noǍ /_F2l }-=2}#Lv>.>!#2H2}2/"_NqySq@0G19n︑dΉ@pj} f*S p N@ )'3S9QsVy2q@ 0P,%%%x^!r] td@QSMӸK)r^ LIiD[dރ:V6]<~3Z \pSe|OsaqlztdaPL6Ӷm!ɅppJ pdlI>.g{**}`5ۓL[S޺ IgrWޅOs`\]K) 8F<pԔh7Y?Z+gLOϋP# n#2KϦ7'FB9' rr=7.Xb)ޗґ&nfr2M 9:)r 'S"ea6Tbt`ʼ;۷{I;rsছ.gIM?_>Ei4̹} g3~ԕ#}.h 3t =g?sYqՎli/͙ᡷs0YQFuʓϧ994oXzQJGaH>}OS5;@ͨR9H W)8N$Xk/ǽOF_D;zd so/] RoiL*F_I%b->p~ -a]"x7(ll֜ ^~ʊџz-pU!yYV1Ēww~ gyiޟh ~_`qqInW o|!akYlo-=F^d|C _Қ5,2_摗6uWJEiʤ\sR 'ˇjfZ/'C˶=t aHg_;w^}E\ v$$X=_~NnBsf}JSbqmHH iA÷6ڳxLJ3: -cuVK&ڷrI?zoOdLERTYAYV"ψqb)a\0G#٣~P qZMj@[ 5s\ȵH2ʿ=ksNYgW=5 m"ȃOO/+Ci%(U>"3zJ4o!~J7;F {׿sb['*NvR7mJ @rQbTػkBsshRJ Cxݮb)K"=.8su }[ֱu&> -aV`y-ZegTSTVSNQ^-<{9c-ϲ^z{L#gDSp[zԝs6+xTm܄r?N=C 6Qӱ4tt*ΡZSjqz=a B?L,8 \o ua >ކ>} _m=zO70;_X:/>棴ZΚ~Lv˒"ofU_Eiе 1װܫYж z=\smf}*vfWz/G1{w=n{!rV?~׏{/$7UF yxN&A$n#<" @ ~Դ8U2N>lZ[[SUg5h7I N 4M@ 8eù@@ !@ S N!,$I83lhq#8n>`|Ҍw@0ec {d|ǍL3}|pȠm/"_NqySq@0G19n︑dΉ@pj} f*S p N@ )B8@@ pH3ķncU@@0POȻ|Ԟ6l5sK<8^_6bd@ [*7+<.:I Njkk9pw.W]1~?҇ ɦ6K=T"޲w<ߦq/fϳq>HӜ+8on"~cmN.Rʙ׿c ?ٓre}KgQ~qQ(Zury(1ߎfU؏Ci 3뮻3Rƒ_?F2 IDAT󎳢:{涽lқ(5AcF#h4-_M"bk1*B@e}>ܻG< DSѠJY]ibFqU,zqxj6 "m3!O 7̸nG0d޼y2}`zcz/cO!)D9D&'-`vxDVN؉ nbj`pQ7 |Cs  âF9lRlu93ֆbx)/BXQeIO U'Nʮ:ZzaT@w9__/ %;%ퟲ̜3,[أ5v?_x|z+ n7c{_RM&t=h(W.1Z|?!W Fvv6K. BWFSASASASASASAAAa8>`3|d{~U!` eyANV0c{n_A>vcܕS~o t Chl_a39-Lnx|U29om&yo'')s殥TBڃ8 8Z 5v$(ཇeEhgxA}.*KY1xMA:{U,K/K/=˽bq-lQŎ_U#vDᘑk?o<ˇYuceQfn-\Cc8I8 ՕTVh6C1lFsco]>r q!3N6FZIJEQ.+8u^ՅͰt/wlא6piOZh~5epZ;_m"- g#'D=CmoHG8ZEGt g{/ANDWE8AD8AD8AD8ANeN a1櫲}H "07l|M,-g[61V,j~QVXYΣ gG Cy]׏%Rή/t^`QAcH)¾jnI~ƴKϢWɡ ǻ1N{ :l; j>ZǩplomIkT26˛.othnr m !,VR.?=q}St$Ivj t.{ێK8M.i oAY)I?epח,oAù)matb {ɫE>Go.V.ѝŁ1wQ6S>}2C J-YM:fN`b7|p-S$c?eܵ6џ˧Gم7 Q.&3,Y:o+~Lp~x"ft{|MHYXZ´+}V24oe3:Oqkl4՞Zx m歇'O@}nc|ܷuB_!U~ ?Տ~(ns|d\H `8@|r]7}GlL$&a }|(6@wSuH#PKЖ3ģEu&/82֩{ Di5 @B&*ѵ3Vاչ a~Oӈe޼y.ծNPxݎ¥c6q,6mCP[m n*3Hݶ˝3. ߕԔ.ЬޡieggeFkY] O>G<*H~JzHZ vx!u)N<`Kvӏnst_P} -?#Ggi}kC1UYyc;KǤZAfzTj5')j;2ft.BAdB:}Ңm`:G$aU줎@6):D:ҮS a/Ua::1tB=Nұny~a2V / n7c{_R\fޫ˹0(a/Ve(V; (l>Gւx-p=W0WF*v^^qgmv|[XreQ0߮[kS*:*KLV;dddt[wF` v[ 1w+IVdggtR8}`i tc1ZmA yܓ> '7 p p p H6AZ8%X "ǀkAH6AD8;*]!XSz/[ Kk 汕)gloøx6^Hqe ik CL@r28ι6MC|"^{k3ZH%˺BFAW  [KԼr.G2WK-))T}"Ka ] ֖pv`mKQvTO=u,vGf5AH5IB$x}DF\s.]ӉHw>* CBGBw`m!u3qgu`!7#q|W`OpEH'5L}ӕp 1XIfwU ֖%>ؙ ڦsM3:*rBfhG4CKF9~q% dm_$j=u gDeէ-Х`mKkPcwZu׿3KSmS֝7sPeS;KH(A &BWF )A+( ) ) )p*s'-QP{CAD8Cbbѻwm] AD8Ox&VK)cabFtX0r=㣎KJhTW =siqr BW8 _ 0;PtJ2{aW4ܥyw^LG\2QZ5 fl1Na3b):LMeq9*qlk(lєPv)vM/qbkj+SUVК+?L~E͕O^:'$H%.4_zMA TQuFb]#=."B( %SS[mttV!% BiZ}^](쁯Z'2ʁj-#ЅNi}kG55]G75Q7@EiF@ RQh SR}SPr_T ԐYWLDѧO<ԚDvϠZPb Ӿ<Zg|*={$bTP;;|ASA~V-$ehwyTzmEuT!CgϞ.'/nkFj/WêðFQM~y%E݇h nOd'N[Ш- ։zd%zowʊ5EAU/KTԐQb&D%k=netOɡgPNG ΰSw ~Ci uг/#ϥ.@ 4M&3 ,MfI!UQQTYWp&Y'Z)''i0J -^gӫ@ 05iu7QnVbci_,V;E3F14upOj i]b}MhCd科-~ ՔPw@Nlr*)XejhBv;}ݩ5'©孶%&$4Jt@&Y?BKrJNɤWnJt@9exv<'00TQfL꾩2PVC~nzaDpw_lcd` F8z Jn- Þ KnZ"Pb9CCOS8.lz ;Ѫr9)nq ?WNjBQ|5쯱5~i@x˱Z(ay4uդh?"PUhu]Ыۯx*rv`XPN&yLj8P@UfܕŇ8XUbe1B(O:AUU2rֶ;)߷p6~9į _Gp^o6GlZF f*SUMoAg (gI A Y^ASASASASASA<8s(75_?hRA8݅3y<+2q7,Ć7wye)&J;!p,c&JPdēUMŸI"rzc+wT$@ UX%YU>Ѽ I#wp^eab?L0C[ǨbWIl|Dc} 7x&6$ eT!6dڮSyr^>Qd!2w785h')ߙI`ڽtwv}iGN}C _Otdۊ ml͘9|?ڋ={:5w)ݓyF.zWE-OJѵvգ15XG<8;$Ω:X"IrjԺuGY!jW='δ􌵡^ʋ,V챝åcqZD 3=*tCD;4t{6QdOQ%TVk!'"@GF۬X.&1q:8A"Ǟǹ x S`1n*0>-ưI.IAGMmٍh38$\YuoWX9[-9?VM쳝ťcpZĥ$ :GID~a2gmmǩ`O_=/OG_R\y.Gf"v. ݉Ԋja2;x 5qgECG`7fmPxF'[×\?e]RfyGoLc<mչA:7r9džWݾ:v1r4Ni{8foN:mԸ!\Ym <ح /ϟ'OUIDAT٥f3eVXm~yBRmJ!ag%&@ZzZg222J5O>e2ٕfҥq B  )+xw;x " "  qrB&LDQ&!kא6piOZh~5epZ;_m"- g#'D=CmoHG8ZEGt g{/ANDWE8AD8AD8AD8ANekrh$%'SʊJ[9 ^eS.jX1ahB px勈D^S8 h;pl=ֹ(8zO᾿啗3r]s 8)Jn7pPZZʕ+g躎iajԃdrr,'!'N%\t49ɋb#h ͠{38أ1 Rpr0-LGtSFǠXxG}2C J-)3?>9j-ҽ,>ek [92*)eU)NGN?Cꇲ{1K*-Nc֞IQoۆutRd7*Hzkq1(~ MS.gy&555~ ҭ[7?|G8|3# YZ{ŎCWGշ]G{~O^ǹxݣjM-M˓Yf}Z%:xØ2wW1諹01IၯʉH5Q",kNU\zDft:,el-56^ V/Jl=P"z2V/G_CWMI`ŠrGkzZngbWM;1#]u_N0$++ݻwt:'vu̶SesNm.ּ* pF;~IVU]oG 1ڎ 7-檋tsϞaҭh+ XƶMEp#}+_ wt9nExF1n)"Vtbռv ^ṿpS;xc_yY,`͂/ D싳ʃe54硃x׮25@ cҵd`*`ߺudMζ^e˖5dp\|'L:FlnTiC?)wɫF&0>Pv`oџN@ `7aL+m_δfo3~yI4}Xl6O|\z5QhzO$2"6AQQ(zDf?`G)as!KN Ual6 --dztR, g?NNl3ax+)]K- /جOBsof,O ( `n[Ap)EHN7b$#NAa^dg[( q3Yr:ǩ'`~d?|Eaʔ)vTUe͚5G&39\:&JD|2ӣZ5:HM쳝ťcpZĥ$h3ֆbx)/BXQ `>N`HZ,{d_F@-[@m-_ovc3S_V%%iAJ`63ϻQv /V[*3bVWCf 6R9Mb-|7.yKLV;dddܣW*Wjt]GQCff&l64M4M, >ܜ9pҥKOu4MkQ2dȐK7@`m . iΩ: . ׸ &c y gkYYY(Bfff5z y:l[;waǿ2uL pfggӻwoTUA9}8/#X?oj*Č%hk,Ǯd"Qɐ߿Gs5D_f}mPv=)_]ˊsb,구] /6g^~N^^jt*.(0G/wNH#]8} Oeէ${n۫ot_mu :XSWVFoʡ6|.9s }uݲ~ Z߰agu"*/N ֦ky:7Rp6Cާ:B>) 1{ԋi Pq[Ѫ)tiMa0@.]q,ktw"w\wνs,IL߾}Y~=sxvElkxj}uXԺ:Z"RM0M yvɕϏQZȦgU4ipmyԧ>ʼp/^@ٸ}#M}nˌ>7l4wnDfraX _/FxgrgO8]R]ɠKm٭Cƶ2t{u4mcM3Eylʊ'.s8(z-9e,v,ui9+WRVVFIIɱ,La`m@b+HMMe͂5~_gezv_Y.3,KXUO磬/kְn[xk}4ʜʍ|V|$ B1{mH`Toٙc5Y~F;aˊO[_wXY0r2{gm7e˖QZZJiiir:8E_f>jBNg̗d1k[|>[ h[Y~.\k ϳ7 OKGukp4[bSN%55=OCzzz VxuJDqM"5S;\Z>A!85Mb4~#E!!!.:R8***Yc7ez,*^|S %pqZVt]o_o-܂l{΍> dPmprvq6:M7 'y* ‰7ʈ#8x`cZϡC߿?bSU8;ަ -A fyy9ׯ[nn&::qlSQ UpC$lji޽]gԩ\.N#}x8qbwy ( 'N;d?fԨQK0j(֭[ ٓ@EUyG2e #>>49s&W]uk׮e\}2)]uA5$ۍbt6a|>VX+:t(>>㌎n-op0i$&L(DEEa`" ̦xڃPL  ) ) ) ) ) p p p p p " " " " " "   9sxxIENDB`geany-plugins-1.27/markdown/docs/set_filetype.png0000644000175000017500000021251612671261352022503 0ustar00frlanfrlan00000000000000PNG  IHDRod'sRGBbKGD pHYs  tIME  h}x IDATxw]Eǿs{ݾ)M/$!A)1_/"((Rlʫ *MAJ(!@d[)wnfw糟=93y7<όo> Fs)? V-qb(CQo\p)][⏒ZcTl}/ ĔTsg'|67yʡtι3+x˱c<Y6Ӆ:SG=[(v£;qXg>P 4> G֣> ҥKq:x^yAUUnFMRM!M" 8m5XVr=mOT5eYڱg+}E5QdkV F|Ĩ|o--\3Q8f_aucfNenƓYRY F.g$//K&zF4z6GWўߺl"b˻<-&.o癿 2$6=9λx_!`'ONsx/+h=o.+ÿ{ETTU! oQBf.:ѱM^~a &ȽLcR#u|~5Q\p%CVAEzPU@yPBԮy3(!:K{y+`22ug'E\,WWKaE )4D n UϪGa:eלEV˛Y \OoB^G.%)XɪCyśAD0*axT' Ñ]O9U֪tY"*wtiLGcop 3M14AQ3G7-Y^x-Aܖ,YB țbρa$c0:qE| [7@`h JJ>-H`2pCoi2`k>Cf o4G'R#xy+ES~r#_7kvĖ~h]+xwdaD=m3DEŃ"E`4 A@ >khmm=*鶷tHћ-YWUiF.7K˫>reNթ: F& w^{r}Rǐ3qjT|F$҄]2KPKw$]}l*VZ+gT$E>AFhVvtAl4TN&l.Ŗ(CihL-eл(3u.,6,HmhĔLt@?>!__je)lv6鐺.LV-;1BC-5g}Ǟ9_FyNt: 4ӦM;|;L&nӢM5@p҂2>L8,&o|g'NpQ6:++\Ad N3LE,d1X FEsa18c,X4Ӏ͝KXXM0alLD$YIźx.o:sfeb& 47;s4_>1k,QSٍ0[}4^5mc 218hģ<Hl U&Љ:U܌;bꑻSax_՟w00{^in'X~:|dpb U,o4h͛7jV. YJbɒ%!{¶m4}!NmnҝDs(dd0<QD'Y6N;#N2VDA%k#dLJ ZqX :ThN1U`K#aBFd.+rW a% :L6'.NI"G̓$qfJ,H fal$* !#5;W26Fg|58 sDBR t rF|jۡSx`rD×:ˆI/"Q/[-= ,r'!v4h9PQQi4 *d<{71κ]:@I9W"o *onf]m. yӠA燼mݺUSi4Uhzi^=~!-;de;Q=t$mox %t`[ި&E 4|4ܖ-[4A1 ƴic3:PWG.Mt l}_ 8549JIvϯXS"f`,xm@wy)sb:|NfòR0Hso|;,yJˇ]xSϹz^xuN 4R۷)>,V&HD}w}?w\}2X; @`Mwy'Y56;rcm@jWƿl蒷^qzS<nY>g㶲gs m~ѠA ã"0rN6{X<ΊzɷؿctdMW]>5 7̴yݿ'w4_9HsŇTs(6Λ]g? },l CwB{ywPN{ᅬ;q6cnf,y,θGhn6(=,Bvȿ8װA䮦X'Vnxn1SCo gx7'Ծ[}? 4LLwC;p2kX.tMMG4d1,:bO~˾02"; ĺ_,=nXQS7z iT|xi} Q9Dp,<=Ěw4+TU;TT8kRd<ջh HJܹC  krNx}PM@V5lN F<}[ ?'~*TɴNm(unDً̖V)6-cfG&wwA/sx3yma 5Y,(w(=e9 &TDt`'{;Q9瘏oo}xC=x6d1cZ6F=Y:67D5A #(e6drDa]~PL)dzvia?s&M9-R{aGSv = K@}GdmYXB5u:a<( Jޞ;ky,d@ЛXIwHȊn4c8>o:l궋9K뭸 : .Xj5_xo$%jO_gva>h] V'ƢolϗkE9ۙ~wR)8y= b{ڻބ4A #%o";V@S\:Xi8}sSReٳs+ss3֝rM ELJa$M{+fcQ^kwvs2e`ŭgd4%d:3%%ӔQѡ[3{M*{J5qL)VFwÿQ6OHq)\Κ)!z@≚ȲRjLa'f񞙆㧕D+Ɂ1M)a/c0uBju` k3C<̻mpv'MX*tBxa oGrΐExӠA#zye &ߪyL퍍$pw5T10;65^Ugt ƍ=luԺ1._\Cx@p d^.DK_Ç 1մecM%jh>F;|ycH|b:e "ʋo]DU1S-މDiSjMM(ަz%@gnAQe&8. mlۍ^!f cfṘ{J;rONB4$TlzY bd{?dCFMjРAH-o'#mng֔~ `ǒkSpa0f1k1Nɠ /# 6럐^6jyC߼b@bws?!m/qMkWOSVQxW-6׹?;ongK/AI/$)-<iįA4u|y^|o|Ծy,_~/<Ü; :} LbԳOO2nKsǿ}wmCdO=.(s<ϟr?ݔ-\̌탏\S˻wp|Lr;r7V'ѦyOh 8SY=jf}~w_1iZW F7mt\WZZM `0ȟcҞBv+ 3W~4hРӂrՄ hamI 4|țO_wA~t Y $F4hРA -%;oir0hrРA#yO 4hРAzeddh~kB{ՄpY5h_O> ())jB 555ڈry䧑j !y;ܧ]jРA? j۱Hkܓ>#Р >=mNVr4yQMhGai4h38DXhc~xo49R"qcLFc:8%*ئ;ϣ6sU}&䯹h述 ($IZgᨷ7^($I?)X,z(:ZZ[Q&庞kΛH.Tܡy5G.x'')i|{/`O}6gcyZ4|Zh`h4,KȒW\d2x<?V !] `4)..֚dFioo׫8 G9NJJJ())Iyn@O~^AaNsģCUUiii9sx 6TPW^yJ@RqǨo c^M2 GUfذ;`gucC\Gl;}l6in7zQDף*h$)j?eڽ{7NX8Dkk '}&~:zB!;<~m<a#wUUtGL{Q:;pMt2{飒oEQhooN;|t:m[ GSp\FG]7!>ATEQeUU1Lf0p "#$dUUSj-Ӹ/_n` 7<8u iya{*`W]u.SZ_\E}$Qm;N!۰Z!ic:Yi9v"dkX;Nfg-;[7c̹Z.]$ѱUyrOϢ/gGxf};eڠR*JϹ^*<hK^ F*Cc:rrhjlbGU :::Ec2&wL>&dHUKK hӧ )S$ 2f̘Z bUU,rv`qFϞv̼ϷX8sHYn}(buuu,\BD}Z IDATSj@QEzz:+VPKo ~v޽{|nɓ'cXF]o%\ F?ENKN`4RD f~2=K~:‹㻗P!*2\ʍ[z\}n]DB}E+hD*<_VFJX snARnz? .`ln~}wjyvG> ~-m/3Ts,ͷ<Hb1 !vcwz=ȲB8F8NB!FA&t uuu>LF+M[[(L0LnVuS:#ϑ 8q"8~?ƍcϞ=tuuvL,Ɉvunyî7"9w2 N|ص{pc̺HFQ E|5h81>M4WřU¹}{ )\l»ヒ ̚5q!555_իWh"f̘q-mC=.&k oI0 #q jrz[J-@>idZyLVHE'RL`.9 MtZ3FdРRg;RBtl;@(Q7J7o|@UweEhھ縊*V6mi! вMŜP`!P6UWE}PEꨍM[d7iYٽ{7cHOOG=Ov1-R Ɍѻ:ic=Ã^BnF0Y9 VYYI `̙ttt`۩`„ ttt0n86mDkk+&LPYw>U.2z~0R/A T'E5)A%t e$K*7|rϟϕW^b!19g/k믣( f:b}6RZ*Fc8O30~_B$}z[I8+(*YqM̏+HHe.?N+ԐA"-[HWN=#t%ΙQ11H+FDꑩ[ŸZ ejrLı} %V{$Mk'457Kss Njd2#>ߧbZ)a F3e %e4HO`eKATUsfa8KmcW&71;paeZpYt z+ @!\KlrGӸ宻]/M-:x 2h4FcclI8LhStȲBKs=f+}.L<^? HGG03mA]u􌔦QGz#U,',z}Rש*t}G˂pOCN۴osy JFmT#oF o?Hˀ/M?ۜ[h4ʕW^\&zX,ŋYv-֭s5\q(/A:YB b#6kmmMF:]҄HXG&rHE?f*9a=Њj!Mmc qD+ht|iռW}P.=̚gi fGȱI_?E#oFEӛ߻ !\كvv_)B8d2Ν;$o}'WHLkk+nWH!:J\%bR2T9EU8<ܜ3) 3^_fh+#7e[m; Զ}u>~?_goFz;z^Q1 I P8rԌ^qDgdъ`jAUC~22#@^*I"ٍn'F XLl2tذtyx}~ F]m-2~„BÌ3hkkc׮]̙3Brrz&`0Ȯ]())A V\A233S"-ÍhOL.>-Ehg\. g^h Tk nppySP/?HKKKZ{[- %ɠbϴYGⲐ XImmm]iX6$I"ˇЀfċu5UzyzMc&5ʝӟl9[N վ~.t{gU~yx/o^5Fg@c ʯ_N_U5rnT:J}C#EEEHbUawP|v; EG{ ,,pΎah4`6E^TO$%73vP㫘ۭVV ,hiվD"Qr2ػg7lFCVV`k2iҤ_Kss3;w$++p8墩 UUJ*,ۇN#==: 6/Ǔ.S/”}a}?>",0UYIyt#5K쑐fahj2a\6d0TŽ _2rf iyFBPrVw}]gg'&nfykkonwbXQUQ|l$=4?łZhvPü6xf2,+; )ǚ_GPQ똡}_KD0fslzntr&-=nx^L4CVTV nhv2y0HϢ^HH4J$l4{NxQS~GFBt:ٸq#-`L8I0LL6H$,DQ*++&{\#k +a% Vox~w)|9T1!3Ry0 TU\Üeێ(vSfO#nsձj*N9>/aPJj"# p*v,шUͦaWo% l OCs|;&֠.$cǢ( l6U5L29;-vi a)A(//g>N' dg@= *m]})=tiB>Ј3s~:ɓ'@v1ͬ\Offf>n(RUUE r*{l63qD ---ɵ͎4`:Nx_ +U7=h@U9޳?Cކ9iڵk[%?>n{ HN$2b ,tPUY lVƖ1c=]]]GzHLUU$IK,`4p:3ςG MHu~~?zL(FEd4oj!'3t7HɈ` с(l<^:zn؄%==G Hnt:2WVV?22eIdӦMAi]]f͢Yl޼S@6sTɳ`ʞNt5gc̘Hi.44˛#1 x3E%3tvPLHP8<= hby.^EQxe7xo Bٳh4ngŊ,^8HZ-//FWW=mzp~pkQ/6E(IRiРYV _U Xf<e}G臨 AFz|+ٵ};aұؾp4b& tHLSKcr1#DG)**)wrn(,,d׮]t:N7zK, ՅnFaa!p8D"̞=+V65=pDUe/CUj0kF4]|L[v":Q| tT)eJ[>35k>D"Ah42}tZq8$Ist4gO?_`08SJWL, qb \oOΝ;P>:J8%,Zp9meV!j|htcRYYĉ?iBtFo=yn&${ײy/~Dl@gю>*@U!Tt\9#}>ј;Hi-GQU^zs9#4rXlYrT?1}hWb$-rc,I >bQ.=CFiy&o^v;@DB!V+b7wt:"T#Kzd"$:Yb?VdYDQYױ?2;۷2ikkCǏ䞧Pٌ^gڴitvv*L&z=`̙3Sv7I` {? ծed/?!JG&zI^Sm3w5!Uz/GͧrCH!-4663.a@jsSKk6馛xGhnnF׳rJ͛ǯ5@ޟJb7P0BblV+999I B"$WbH= GMwGo;m,Ӹ rYݩ|6_Dp:7rJmm-(a3gNJi@lhhs<( P(R`CC"t !}”v bbOϛrQMow>kLq~}ˠYRyf 1LD_BUU,6H>fݻv!h eDQȈ#98Qy6Q ?;ػw/[n( niӦm6t\.B&L4`?Gގtd#K^V4NX,֯ME, ]]]k@QG{{;Voo ϲ~:;;b,X[|;TdDaTUAV$N$s dtqe7EK LƟGz!5?c5Ql㪫eJBW듫 |U"ؼ{|-ێ2oq28kw/o_R']q-.m*<z2Kpc޹?mTʀskp w=q5il*wFt:D-BV:&%L 2h`?aB$@H,~zf9Lcc3.OT^v{nv;YYY4cظq#EEE᣺< ,[_|]vlٲoM$o ә|nNvv|%t!(q(&y@S{)ӣW?C-;{ B.cɵ ܸȩ7gMH 84ʮZpsnA6nz? .$4i_YW#R*v8C?w)| |pq7NGaq1u55Xf=,Dlr4p8X^Ύۓ{bwT>Z R>OPSSjM^)xwx4LZS0ӽy饗]xl.;KO7CZ D޲p\lܸ(^j߷l2'--cv%p;0P,..Di[d ,$I@Fwj!34+*|-@>idZyLVHE'RL`.9 Mt.ɉ<@| +B> IDAT&@;8JJ}I*qK`U;.z l`Q[,I,cb1k47&Qӛ$vcX`@Dގ?(6@4~x3mYVqd+ۛ>>wWfYb8{;iynG+jLEsE چn|Gou譢ԭ#!JFy/UZ{Z,y9q74нY$ﻄ썏c&Iy"s U[_L疓cӔ3,Q6)h5}E9Yg!&Hȉ8T]5lH`Yx{Ѕͽtl 7Sww22x/EG[E'+/Jxῦ/yr~cX:&3;~IyqyΛ1q F;͟`G7'9g"XXls,caD_S?a}Y,ؚ&ěwoV:Щ)fN իd֬Y<]gȬgSpko2G m%..c GTBw|7#BӧO /<Ote@RXunF !66V8A _mj*Q w9o$t7@F O;I{n[$''sԩr%ڒ^N:TVM8Dpx.xPP0^k+0Ӊ#??Rwڒ$KK+G=zΝ;VCL\\[lA!4bccťRHerrrnݺ~*cEtԉڵkc4ޫيjBQv-ě@7A">>\\\(zqeH8;;C\\\0XQ>Ƞf͚w۽KQըQW8D ě@ Vo]R$6Ͽ/XQ>*戈[b,D@7AU*fC\աoe])|b\ M x;(,[+G,W|d2 7>KY=;'>ύbԟ0ے[P*ႊCr Oަ5dɵo}:M*!ȏ1?>_@dBe$?7%E28w13qС#H[O;癗'͆8o] =z&zBQ /#oZaÆyfJڀXrkkSĴ`sr㦡-Iɾ %?Wyk={w4򦘸_V8A ~=2k9"̮+rEl)l ۽!mұ8K&78i*W{3q2+r]Qftv7/ \ wL( hgc\}̣~+\ jRoWU ěVeѨjK+Fmm|97jv^_޴xC&vѻP;*l)؞E^੪* )=  [oPr  zrkVRgkKesept. QQ*WGJp3cOah`I䰦)(("~_{0 ݩ!i׉տlG1wQ 'Ylwk=_s=چ`PĺLnjnRdj6߳͆o;c>3o}E?@;"L}͙WP+#=G"^Vtx+v'M$dXP܏\_~>O+9&l /_=v}8g>eT}BŸ<>jbh2C-51'ұI[H NR JiHI.&X8I%Gw$ā\_z{kPˢ2=9M,l| lxv9u^"ꠉzO^)kUȤ@@J}­VZ̝;ܒ J<MDB55p-r&Q fWF fg¬mjxN/W_y/wwT4刪;j^Nd}OswyeTV.,P#;b\2W^νp5JKO}),gքWxo9^7,+q*.gieܻGYc%"|.P'D# r8{<QP8&bЈxaWN]IB~ yd{i sfm1x۰2)ˢo cǽPۗ9PƸcko0t_[VQX walcHOkcx+/iru> l^};VFbU$Nk0Q<70[39RKOy~`cݼ,\QPPN;P}$ݡ մ#8KC=*4x7JP^$jϜ%۔hhҡ>CdS9v*Y;/6EhԯCUTAe`+ ծm`B}]2'.0'嬪aNHzMib!2ٱDebv+eth BQ\v4`11a1Ϊh\JEFV 򕕫(ȣ>2_欪M]Tz6r';6kAuxVdԮxr0Pd}TjG]&-#'y/ bђ5K2m$&/2rg:˲`pkB1;dU:wtHp:F}1TN5&dBy̭Nh&TK?H\9NS4ž0AIB%)J*ʕVo凯/D iocG3zKl|[zK&2%+-tWJV-gynTg1lZuwwߟW_}3gbX=z4Z/V{Ҥm }ySTjT!]l7߄չ`J R2x8w8WCkkS 76s Z^:eG='֢nc9AgHAɢJNS֢"OQ@ű\$-]6fmEB=Nv6ˑ7;rܣH"[64TR $ފJߜϦ-pܴ4OؑQ?`//Oz`g#?eW%|mr0!J {cFPI~CXcF=O ydBR9viZV0b&]R0T`m{4Ԏx?k UH #9ב4;隼Kz)W xDl߾p;v,sAVZUvA?&@rcy{d$O 8vDoo"%L`P䠨aJN3? kA6P܊B rR2$^.-ӒpiY[^SPPnEDU+Zs.f0/ȳh_P$;uѿv3wՇ{:x-G r<Å>:mg\Lc 6l{ ֎v1)o/@O')U4 ;<|&F 4*FW/DY3W&f|@؆K;9ي.~+@D 7|pj5?&׵hHxWtgvqVߗ;w1^2frbfvDْkOgFR:L䫑Zlj7(Y{}^ 28eG3 ǰu<=Mf w%/2,ګ8[]}?d>>T^LjL xϱr@&̗N,t6%иdzɹޱZ4p:VEv^JzJOI?ꭩ(r &\ؼWY.qÈAԠ}ٶ n 0FS!kZ$IY9|0?ݻEQARaoo/*G 젌b"$ &Y*Z9 lYFT1nz! %F+ޭ gF#Yp<wX0Y #,\ΎvJM~puueX,3sf@bb"իWGedYFRAJJ gΜnݺ,*G x[CLr~f{Wt*j:u3BW IDATѱ rR2$^wBJMxUy+ܢU:܊sJnZmۆba:j@rr2@ $VRD֭O$b@IQ! ʙ6-.!3'昦ݛAGSَZux{ /}lw2br)v4Pzi[MpS܉ E5T$ICfYT@ vztĵ0FvJJaM0{xzьqG%?߬C&3/>E5=[|~:3Fr;Tϔݜ̹"gH3oΘͧ#9wf+fসۄ(RB+."!'+d6o~BkkǕc&nTf*B3/GNcsvKo:ƞSfM$Ibǎ"2.W^HĖ-[O>XBQ 3.r޿-Ƴh6uG;9-'c9Lm TͤǝDYRӳ/‡ xkŏ^oMjYK0AE!z~xg{k3-E'²p$808sG= @ _IPfb؜)}~/b=Ϫ)cDJz#7Mb{.*_62-u;>B^Сn}N<ҫt=OIXn0`*Wq|&v|#Ռج<Ȯ>/~&} i?H]-,2i,g1x Y@7@pWQ%?݃ڥͅp<_ xpPl2HFEu;LNFyI &*jxZ7xx1LN< xRHuXop1^LdmUB{=;^i]9/~XE`h˜4yY9LJL]LȊ 37p,Ʌ#qfb]j?|Ss8<-=Te(ՎὙ뉎ѶX#h-eaրBa~B_78Rr3'(F}g.cwB.8Фژ4(P^Q~\OdB.h < ײL&7Me]_}XϮϾeD$¸7Խ$"_ʬ.}n/l0}"K 7x6dcoTy{ ggL98t;*|/3oqĉMBz }Eff&O>9ڎ .$K떖Fz$8Ν;GPPP:vxd?#3h=NV;whvP ۑl߼M4sW2g8kC(֮asVKo_-$,ÐiH~aCzjd?W^M5$Eh^iYE57S#>GOжy%Fq$=B{n;S?DڐQδ# '%8Gn=ӵ)vcf{ݪP#"5ƘaP0}Kll/yI өģgğ{QS[^pJGCG"/]fxiŏ- E匾[LMĎͬ~&Hp:ξ8#ji!?]Kze<-\%lI9'ȕ ^?w%= 4wP7ʁѫMYªbW]@ *v_;1ha`#XxߡMdƀnUdfhlty@&H2K7fz(h8_7=~ѣr 7`plwI4=îʴ?;T|)|ٔL- ,e̚׷~)oqoJp^AZ+ [y7ҷ#85z,cks) Un[pumj4͟ʀڊxwy M/٨ ǎ <)"IPIP۩;@fQ lO}st_̘5@p+h΁\pm Ua|(-x7^ZϒtflW]G= [nvj)~;Gn0h-Du?I۝jCFr^ V;qlVM=٘6@L^yw>yЩWjoٟEe.} hj=K~} l6`(xsG'l]MdFt<{ tKm|y țggypiD/˼Iܹwp nw~b&靉2vf½L}wd_t05/W)Z~JMlR1X3,oU}?N^JX=IncE=ôدQsu4~-lǣh帱}Ftzw$8pY{1mC9ͨv耼[h[]?o/9̂;*;/ZSr6e;c'FBc?{0"9Q_l%v[OQyieG8,]?=2QȹJK7zElϏw8)8O `H3\u͐zxtX}hc1v^{Fyiw6ޏs9cQ L>|b ΔWh_޽|MA/wނ+B4*^-;ħ?bC~Kjܛ>ɻe̩]tNu)zL>{Tn4yj4qS2EXH9v[TZB|ٶ=!hM`NnfR4xw|_믦\QV0h jԨ!qjxVC߸v@c;.]m䂶gdX8&c2eȘ\0Cv4BvRxrL WȌXќo\G=C W̩] ߯k^ɇtsK~Λa&R^ֲnj7ѷk{QjYG: LUխ}H΁WŇ8k>(!90Ɯ]^7 #I0#%yOܛWîtD-])l1 rԜt$]=yQK:pWp |4-^JVi qosQOAY7Fa:~uH\3?æcu1sIy2, 9Ă DH5)vadwW0lg'DILZyȈֆ_Ec{C^b_yt>weůmbbo?/1vQ*H.n(L 7:~Cۭ9\8 0$ǑlQly$'`Os>Vxp g͚̫7V:ן-SXpϱci ܔc☶1&2_ 6U'2il$5y5#sJCM's^yK~4Oķ~\oԆM]-oa&R6kW5 uW/~3q#gn#xY"jw_mP.cғn۾3y #'O|7 V!jtcxӲs '^lɎU{X8u t]bPXK% 1ZOh;k) mjFפ;vrJ:G25nuat]z-q(oZv $a4޴\ ` KBCaA4}ddd咟3332d-QV!%y}[XIZ&cƩ۫-5CۉtaP۪a!cwHݽ=[ ^/sr6˝ҏ֭ظb1 \ʆ}hw*%RҕNdJ@݅GW{plVFDr,6}$ :5݁&b,^|Ov_-85ʰy:F>`LEN^Ϛ[Jm;.:C%=zi¥^gZ۳붱?Nc9J׏e3n3x:}.]ѰM%a߁ |݂H=Ɇu[{{f{RKWCqwgqky:\~)ԭ#mgs"j6nc!Ǥչ'MR"#"C?`t+7UyY3{I@@Pc$^rI?b҅0fDOZPNo;|0o4S'Vxkrkֿ9ke d T %/c gaG,I\g4i5Y.;~!?,æS=u^-ZWWX֣S1Rl.fŋ9-..ؿ?5kD$vAhh(, 111 Iزe ӧ8+V0iҤ1sz'bUS#8r̶  g}Jѭr~f{ׂI6PЩe-* )5)<ՌJ6GPY KR,7ecieUD?cXn(*iK*͊Bz22>Vbۅw3b0'EkF 7*g۴ĻpEsniZѽ/:;;~:HLUI0I.acʹ2٧#7j#$n'u-ZtWW*B oJA=[㙎6Ȯh shj3ӓHfWǰuHdW_RSW@&gKOg[ݨvMS1s$M|Xk1N9OIʲF n%ܮmB 4M s9o@ (İ@ o@ !@ x@ &n+%aA B {IwS0u,[]1~0;-cYDJP3aPÛQL]u Mǘ+ S\e;`y@p=b02țx)}F$?Fj>t ϔ2_#gZ{6N7teii/itW,=B8D_B/Lvg1[ Lrk-7 [ Gs]x2xw::o:²)+mG]u*+?+[9Fi *Xv޴Ё۸yJfTW [^,$wnmyUIXpbYFƼv5 ?ԓV{)v mSAi<6jX&}.푟=WZ@EQGyoEQ;+_)JsOKka e|7G9a7#/RįϾ]\pI1i`˼ @WYPA~ԇ~n9YfR‘3rył7L|?g==k:" 7b{JF6Gx~Mn^C8Pu0_p`&-O%G鈃$n܃oFW^G=G1!)#@PI3[8Pk89> p{h5}{/}[.hx΂qXuIT^ߙsB򾍬ݟZ343}ڱ*j̜%~ȼ<>j /]uIgOOvW^en_2縭#1/^$GFcbt h_ g vz1jy]`OtR|<|l+ koWӰXiw\ZVM<BC΋##Hka+}uFVuDׅ'D˲X_A>]~N*J(NWR)f}=6*m̞ͱSN7OȗԓW\W_FbtƌyAe?okg)7)$ppn\y=51/A;d  _ţș 6 v`ى[Xx7#t-U3p%ٳkĞLFN?gɷȮߍ Ű_n3ˎF㦎 Ns0ݑ[̓I+y{&'΀!Āi!~c6$+@D]oto%p5Qf= s~hLՖQSgɯ/U n\ UqƖPQtu46}iqRew?3lUUG|9/fLXVFgBtL,=@ r$vb`a`!;*b@ ݈ț@P }ޮ{sIp$[v%3$d{ g8*8wuήgwIR7u(Yʚ%s 4DVB./eM#<;7?@rV&FYMM"86s#.^Mt:=Qdna͈'KU:ik5`ko2>Hg՗qΤ#,ݕzx4n7gٺĘUlϷd2U7>ť|l"s''F!&/.e1ä bԴt| '?`\rfhnzG N:( OͱlH$I .УG w16mbҤI?sZ4.ƓQ \Jwh={zl\_"(E8[ݹbUi֞8dFkHa02g˹'C;WG-es5|#ǏqKݓg;p-[#Ng9bwjrX-__ 73瓉L={Ө-SݮAJwr#a"Aժb/ݪ|zмM{=ԤLɜtTѣۿ@ +߅r$]B[ MvJjI$Z4Ua"!, 6+D&ʸ$ƞLlR"R9g4E٘PP"1`ND-H;uSQҵW9x1m8ds u<JNZ*DI{nkB& @~pRjP$Byڢ:Z Sһ5^#@ yNY2`VCWD"+u.8`$Tl= "KgJL!\Uu7}%*Ʋ{WdlN#6.I ;@X U#"oCņs3Q d_S6{3(N`eqi,kf`lbN_ȁ5`-ys r.-_8c)toۄ&j] Gp@`eDhT?]dʵ57$b~ϫ?C LQ32hN%<hyz[/'z/3\?__g):]Jd˪1dZ8￳H@K󗙿]ߠu$JK `M/O.ƀ=Xd|Ɋa(憐}%rNfucF u:Qs&=eʆ9|m~#1@'~K联W/VeGq0y C8-x(B@PnR!rQpx:sd[F,"BXy*d &AElL_)RMz=gzL@ xT`ql6͢$@ aS@ !D2oA%pB @7!6o@ B(3b{wDƎy)+Nc#:zslӐԛƇR V@ (%Ufg`{)4gAo{)hUQtҬ ۜKۡc Swzx ܅ aȐn4HW&Tbbf޲owa1jSDNz]п -|]?OW Ndn4Vk9`BFG~Бڪ .=WT NːwJ^i]cp5gԎ iVC|c}>~QjZO H\v裢0`YNr>AQ(b@ Nx}CP{RWȩ7C5.ڸH,ڂY5i,HflHĚJ2~^R4 3_&3rLv9dheV 73瓉L={2}wAk.FE[lQyG1 G˼<555p-[#Ng9teͻwcZ: U"bW"Hvn:}7a $1$x;n," AorUN^$.MpvHbǷ;a NmǕ #fkR[ MvJjI$Z4ĵkI!"< K$JxoZil=GȳIKH 硱5]Xe3Ƿs%$ƞLlR)RKw+eѢ7%jM (јs0yO2fcBNr,@CfL&ڡ@ m*eq)*nAhH:$s2ɛີIlnj[.JGO\<)5(OUDa.,o1m Ie(8-"ztxn|n#ìQRxw6C&[$_4v ౡN|v4"bOscMjLUB90g5mZν&N%#AφTޛO>K+IěKGy5ЫըL8lͽP+TL!IV'ַ@7TJgڵGs#R]hӵkdegm^OtZGuaٺ"КqÃFP>BŞ@Q9EӶg^ @ V[LVۢ AE<&@P{ whQ?N b4""B  <<< @ n~[I@ Ax[ 4T B @  yeI*}a*\1e@NIhC|e*?%DM]95Չ!\;$F{MD`ȣ;%,>G3(^6j~ѻ8Vah1l7X㯏{ُX[_"'W¹`C mMw֬m5{aٲ!!ݝ28 UX~$@ Pޑ7M?:;.Zsl&V{v55<|n&,E*Yd[:;Č|#YX%NH?I#ҝTH5jĹs*N,Ξw z79zŰ3Ur!/߈jr'ɴ@oĤ i#w fw ^irz8 @fلTݩzCC%#+ˊ۸;ܺS+5âa'V&Пȍ~Z8Yi?q #,ƌÜ9s*dk.8 _75d4 ۜKۡc S7'PI F3oYl^ &dChm\\pTYG;8]) ~;XI=%#?}YK5Wg6Lt:U,ۖ,叫Fd}P5)"`gnSFN!h6|p-vW&G9o]M[{TF{>G= ԒvGs8׫x;fGl FS_zny⥗Ѽ:)Kۖp+pׯ֭N TLWvqʵ7#C}J͏{xwzL93ؚ˚}xnl!vƨŬG-pU;֏{$Y2(Ze%o /w,>ш].hZFMF*VThqL *ٜ߸][нy<&e<ʣ~#e~WލPUȀe6Mq~R9OƿcGƸ%D3Q ~g'c- %L8هڻ)Nͯ,Ҟhn̜O&2qqjM#GEp^ t7ٱgX'Lfrq Mw=:#ߟTA`FC߾}@p?eM7rL} Mݮa;xLtZA~L.6=Yɓ_ne׮]ڵٝ=#rro / {#AA2D6Y5v&O0DbgF ӖTeZ_iii9Fcz\-!ZCiy28uW22Zmhl gWd:VL\pjIjjnpɾBlU~bA6y\R"e\u(,)>+9|. )zt)˱Is%%w%m;ٳcGc'-m64"q* %jD : en"W TX{VV}A?A]uNUongy`Θ疗xZpKw$@r@d5_gNd3ot$;v) A6žD WPDdHf f 䀻N*@?~ /\]] bD _mG#fÊQM&={zq̅GΊ˛,#cÐDRϝ "i{kv)mخsh567a+HK北"8 ՝dd-(f3s!**]K*GL\7ذ`G;i*=2Ri%2苦@N`eqi,6(e;rgdמhvG,َTt)-w70b;{捡pyH- 7.Pey?Lp;TABA.mC:Yz4f _u=J?m, #r^lpϴ>tݚ4j<[=Ksll¬Y*p0ⴲ%O4BR=3N$YA]̚”iX{:V;BGʜIIF[uVJ/Ɏ=ْIŇzV:Q}jjoSvv2欦-][Wѹ$uA!HMRTT'&+"VvՆ?AcO-HD ?\dP0U?q)&8;fah?W3"Xɟ[Y^/vm<5K$)!C־,>{N!a/L|ӻٳg+o捗yNȗôuYLCMzSsj|[̓a(憐}%bv?=R7l:19ٳ'[=˛/Nˁ۵۔.xc` [͝xePki%Lعj|u!B{S^W#_eup +/;Yn-(eq1쌨2~~~f2RQBUTi,9&"-mStjr{?9%NJ}P?)yxa+< ߁=)^e(}i]!177ݽ0c.t>tD W̶#Tv̄94+g% >|û5U Zmh"ETVK'&բ!++|?s|5xK d0'_"QrQVk[8,F1H[U6x|;ZҪoKa&py!H;vnpɾBlU~bKBVV}AT:]|]*ں+FbX-ɄG$a,IgѪ3SO6y\R"e\u%;gǎNZ D : en"W ȢTȶ#[o:'~WGu_&{/h*nIJX{ X tS"ɠDR1")LܖGY lL 68h]ﲍT?ʹpuu%44! Uk(\[ IZ0ugG5fړݟkh6tO=;v쥥S|A[݃Od8߮pI v!*y1ظQUCu5`nֽm:,23M\|W-31qT|ѡ*GL\7ؐ\|һ2=c'MGF*Q?$Z EZFRJMcrA]kWkqQ w5bqZْ'{Vhܙ@C'Oo#nkOYG naaˬ)L6Ǯ#nwNEz^εSJzƸU6CN13A)?J/ #*s&Y&mVtݱ=ْIŇzV:Q}jjś];v2g8T.\5($XUj f*bD䭲T&::̲%`1%xc` [%9;^1l$:JWG}NpxyQ]1{k~~ %~^C&0-Ƅ0~]k-X1#d:9X]2 5=~6OΩ5Y'1pQv*_kIԜD1~ O[~\LD i_t%OoiOC07+@nOz7_Ɨ38k)ADI{vu>c?;ʠTJR/s>ŝRl;AeG!=C _\rzӿc+jܚ~y,ʅY 9=}RW=viٺu(wQx]CO^JZlC^rRUZ=vAFq?#eg}$$ /.V$U%ݴ'ڎ@ 7bT TaS1l* 7/&㠶@PQkMoA9#I... @pM ('DM X*D M BUMN1=x@U1ږwMK $I|/}>ݸ^TW~U9QQh}fqo[A:æ =u{=[RC?WɱFBVNE]'s$_kcz͎Hϸ &O4n}d:1x'bnMP*V7M=vn͹#γL{M>ڮ՞_[6ʯoDk<^^_2]lE]~τ*Fbؙi)R@%o*VE+I$dKt sXnvc$Zѐ䂺VIBdjFY:5ܹs<&( /ӣy5tR&-a?( Xׯ֭W"o R:{e8=F.{}uYUn>fʇ.c{Z5%co,J)>}e( B_` ԖY1֏4=C 3k[­(ea7VҶtZ>\j2Q+>dre gg酋HƘ3l|foTlZ_ƥ4a m|$b.aҴh'NfHZ8J\=w>C'%2f̙S1>=B|j2?D;lj@MxVROod7;U扗Ѩua@.uv0K?]Iѫ4Gh9%;y_vSmd AFϓ0o|magWnϧN2C3|>"TAis|:ѷK4ި5ϰN3ܓ9f%ү}gF@sf|2Sgo9*ٹztx~@ V|ȱbǡliud2 ?p)˧}Go{aƨ\MTFo߾U ) v2ZauȖxh4#o,+&-iGR汇M؛O[.WrKi\4[ VlTR6y&+,d[w+f$Z` pT0*Roص'y?Pdə?ȑ#h4t‚R熃9lk1l"!, 6+D&ʸjj#b$-!d? ]9ѥwET*i\a9*P6"*/ҷW.y%ذq|92m'+G?,M+|Ôx9al{:732@~p~UjP$B&Md EAJ6PIJX{ X%wCkv !lyGmwHeos[݃Od8߮pJ 8WWWBCCoξXػ=7=%;h0^G꠳XqHY$d`=t+(@$3|arER<SRlydܨвMVR($Eqݣ MLdy'3kc! MP&u'Hy?3`6\4laOq4?ReJTU^8)ϯ*g\l&#Ӕ+[ySQRdn/ ۷ʬ-z=_Neg ^>[Rg'=oK"esoC1ޜkV%`63gQQQviʵ-ވPuq -)UZT"Bp[f͚U!w 2'/uj8utDe$$ފ:@c1}5(45zpW+PXʭw5I$]k%rߗβl܁?,"oJukBϡé,_S1`8fց95_<>#cx/fABt%O .tb_ʎp"wEJWG}^jr)֬n̈3YN'j~ΤUiIy tNY@hN'^ԚjZ SvGr4VkMoDq./|m$_wD鍬x'oO5V,_Ĭz0'#g|xֱ3_iᐵ/K}2}Sl:Y'gmsG]xRO.@2ffH;,Vĥlk5g6+u0NfY ކgVFl ~#qT- sY|t; e@>0)+0x8fcMOWsdqiTn}|I);Uw Qo|\j&͎  w懫0 6iN[+qkڟxzb,JCtt4qUzu8™>7>fdJ~oq|c<<3ɲôJG+p՞ξW}&KJZ&R?|GBiARւ SOS9o Q2ٗv'HôGkY=8#[bT DGGWuMA1>谩  6_G7h߾(DGGBJ @ ě@ <æETe9%SRڂrPu(fq;9vi @ [GYYo:~_"$\R:[Av{F M۞ʀ©9N /q.bԴ>Mz"֓Ta A֓72/~x}dOF\^x7אb(PbR,) ~~~+CRGg7Mϸam^Q[T2njcS1KVVݽ)}T@L3Ig=2+O2=WC'erinFU w3YJ"s~CtDrį|b7a<w+7\S6cbf޲owa0S'4ͼdņyZ$!ޙ('~Zsks~b5ӯ_?֭[GLLLkC&2azX0~f[d8^$@#:r~\̏GSMz >Ͼ;n<ieo?-xsB;6v(͉8T왗[_{ILkRx\&W( 1_EQOpdOx+>7ݽ0c.t>tĬoĠ]Pn˸#]1d@ qdFa8v>}h*^$YFppҢei,iL$si?GhUmݦKy^{[ߦֹJ[ IDAT}\0bvϷC ʹDM TȔBd+"CeRVK,Mwi{tPJeIs{˄O; R)6Wkhz@kHΩ.T n:OtX b&-WW.IppsscÆ {/sj'<zOe\!ݤI*d{vz ؀z6֊?yH6ܼSʹ72m &$GQ|1_ANV$Whoo|t8tlL%o,3EZ>TeD8 7*v&;lظ:9Ev PP *$ZE+ۘ{)ګpJVOl$*=: Y {JJ m$н:/dű[6}cJ>SCL[U1)Y$V$WS߽t]8'|Tw-?{y-ƇyQ0;LACqs@$ǧaQkC;zD^ȍ>Yj[ FΣ6 k9۽hhP禓aRhˣ t^PNн7IK#8`A1d'3:w@Y>pxOpOnV$՚<Ɛyr -JhѶ ^unZkhr1t,OL5'@\6hNHG+P(b $=mK~ gqk0g؞UmȠխ86OetzK Kxt_$"%/(R`Ghkua1%g$ddn~az, |Ҍٰw:M$lbNyLɭwE}ȼo!{+0|4%'.-+s p[2z\MϽ{ O $K+ 9rE,ќ YO!9۟b>g5<ΤGe!Dd(@ \±뾂֞K6g1(oY ;}4\rJ%ڪ2FGC J՟9b{[qY }9.gWTi*r+ӗDbDj W%C,4(QQQHDFرcǭcwU)ڥ3_L`TPzț 4aAQ[Y8=>U$И=|05M+}ܼK-fdd,"[1͘Em~tv f";BҾ-45掓deь+zOn92a@1%A'^JAscø<=/z9 X^!{켙7}m~n,>ؒ\:Ġäy|emJ6֮`χVˣ ~BaɜtfMp[/3Ӟ?z(ZTJil͆̾b~nnÜHxD9!|_>ec;>4upͼLty&oyh^/i'rr>@ (/UU)>c[7x2O8M1:DY2Ƶ+n$Xe*mZ(R][w h́tK%rj%o"}-_vucJ@u*E]F턷>ϗODT27)[BXw1&LCdmtlbV\BO.@ 'CJAk߰.輚С7闓1˹dYzi$l*5^{95nM9ϗOŐ*lҼAf6s`ݱIn9s|\p>@ (^eT{ E}7G78,5G]c?eᵟdilr>ąoS*lI7) yTNU1V/*o;"o-as%Ay2~*|7go= MldM/_Ơhpo2f~@y"|U /y'* ';) uV@ α^/eKf38PL"i7Ned ;&M"YL= 6fLGjf|BJH}^χ^~{}gXVO ġ.Mگ1g;opzk2]Y9c,8@fAO"Ċ ޷ۿ':)lUD ٷjv`<͗NUȾ3w>(Vh2#AY.Q2MSV4C=g7_Z9d|PjprאLlA3vF!Aq|}}2dڵk^d.#A{Pk%=ɰȈg۷3VS$!͢MB ;" 5Ʌs '+a˘g#<`j;vgv7McY 89=f.nDZ g^e`c36Jb,׉xh-# 2ƍjiܸ1C )S6od+;.>@xnbܘ"؍GCq糦1,͜$$]Ӽf?d̸ҟ=j=@l҉fI ) f/V /9>c PeR^ɜ<ٔqVXxF0^ba"}[\'xk9SLb7_d$q恾 +,o ]CLnV{ɋsϐ… ywXp!% Bx{iUF#i?c'Jg;`-9ƇyQ0;LUZG4E{Fx@KI2ʙFP[[R.OŠmq{T|X};^Uvakkc 4=~PvIOLJ0j~/eÙ,D Dtz\d= 1ůiɉ c\7!uAT@`I"X"r*zGsA?. uh:|e#<`~ ;e,Ɵ{`+\aNšʄ**?ךqx\U7O~yS$T j[~,dv^*oԉ_׭լ>3G }G ~Q<]\} fK~Ϋϵв}դ DZg7r"2ߜqJ?.#C-$ *ώt'kxI.Opnb×P]'ӔsJyʽGCކYG"WJ}-asneAyڃBh7v ]cё'u'fl<DD(~%wәLF6Hwׇ bْ lM{5x  촌45 [N@\ "|} WHÁSx}w,T^^N~}RhÒ M'ȧ:V 7d& }4_N8]5naܱluwOQT CF~X6 WX\ڱS_W?ŀ~.#ny]Cfd2EBxn> pn0Ykw؅#y9֮#f(ԍdHdDuęݍ}>XmxwNBf,ٟS;@AP69qHxFϼ:G1aTom!j#_O@t Y3D =x dlYRwP (9a1J x' N_ʴVB:T,J.wq޹ maENԎ\N!עE̼ @% ,FIaUA<N #sd|ˍ=_)g&-WKɻ@溺JX:@I7@ ( ,ݰ}ۤ͟`-<{l-FSq,"P턇F+ #V3%pUnxrց#&7+JUuO]wA%ZG4j!}նzGmrƱv]䧽O>GV*5OiUF#i?c',(t̾DrQ.RBrޡjhqY|W [̼ij3`Tz併_%lFν1FS! ߆z_Kp&zO|& Rnn0ĠL^k?aq[a6ڹsog΀':`ツ~Y6X0u3vl9!sY<4?%<)n*7>tj#:զbJ7Ig=!׾= 4uωA݇I_9Vtq=@ի 76Kw#|SSfcQn O8M_`ҨiRNJw&88AADxN۰[Z̙eȧ@ Uk]ʍtBf/Wr$U._OxD9!zx];tώu>[Gla|`:z7y^*)NM{S D,u1h[GCʩvʭAW9tP:+LѦկ]^ {5&gpttVg?6E6P(W(fLS6e⤹i@ώ)>c[7x2OBJȓƋJn?t8t0Rr4sH7isҠEr(/9s1`. }EDDi ?IC7,/>Yj{5Q\|T@Eǚ{]i|1T chUGMb o5ZD@TlΛɘ񶓧\4txUqb^unʮs(M5~1 g׋^x.knO+}͇.-Bs !2" 33U6‚%?EtZshq۾jR"3qxYcq9 /5QQws[t3â'+rc sm*MŚ|Ǚ[P2q(q(#4WfY:87)=@ܰU[E}~$7ڍBXt$JAL?oX,dYFeMҧƠ@Off&[SrX3=j]e y@  EQ0sGA7ؒh?W//cABt>~] 7 iXUo6YloCS~&ѿF:aktn Ј׾C޿fr4&o|s?1xvy2(yJȿ(<{f"+-dpEmU}.[E0 Eʊ%msDzM@73ob Qy~z_o㝴(n3oiߓeo j\H h1![L؝w9O-*XO G ȩDHU8Pq:" _q."u8ud94@(yLQ)§kVT:U|>" M+&ӿ#jvyW7P[LEQ$<{}rȧ?/㍷uZ|GUߔa_k^ڊ=Xs)=׮,޹ޞKov8n䕯pŁfyW7ɓobt+'Z-=Om|x*FQjE;Ӭ% IDATVx 5tih @':aJjxiM}xt{5\wFtǃ0rU"Oս¥yѽH1^ɹ5g=a0zv[=y}0Snqi9/8q:SAr~>a`=F2}P g!S]6%9`mT[w Y&** d &{j1ٝ˛ɱ@4#xGc&\JŜr2Rs] dof%ָTx= n8&!b|:7G=/у֏fʹv٤eSdګs_'#jv_B$*X5.q2&؆P/ȀvD:NMPe2m BCCi׮111ԩSZ}G⭸,oKՖd$ۂGR~HŮ'/94[wZ>-}xLK3;8xt2{ES Ks/6ZzyU510C{dr^8KyKU޸kɈ'[_ gUS+>lb2,XSrD?ɲy,Wl&LKÖKY]M"%i+$bLT?viMɹ;Sc ~ñN]THÎ37>:G=rOT;jy8p.]Rc3px+>`T ڊI@̼p,7G3NƙQ b%q2C )_.da[MV2×YL|+|2s+  }7+c쟭pe7?((|(Zuv VL3^]'`h>"3u9NE]1.u~jjF iG#,\䷹Ja>i).mW?&13EV> rwyhb3m{-, j@v?$IT^JUagE%*3Zn«3;blX@¹Q/ޜ9_-Yѥ#W6/1,]4w7o]h*fLB { -y0kz}+-v$WSkyqqqEjՊ/tƏOJJ IIIT ޏ^q,E< z5o Es `@b'V?8n^y-g#Ѷ@nN' \mK~ gqk0gT]kmCMnıy\a7]y@'ȧ:V 7d&K!yzz燷7* /^ԩS $>>5jTZӪ%TnV0qY-,LŢ@]%VFtJVչt2\ %6QK?eFŠ^ !U\BS;#inŭf-(j.#*W)ȍbl<ZneH(X-{7ߕW8kȌL&W\;Sf$IAAAԫW777Q@>ӧiժU[bk޲83][f1d"5Dg%YI夆"MwGs<1vuzxgmdPQI^xr@.>S;@AP69ql܇#zS&1b v7\K?C$ 0\L;ɀHEʋ_񳻱oڧR AȌF=rOk`q l1yef2#ڤ³ͿxcUq? ŌEQdk"$-fAcE>+1ԡwhg) 5_`Nգ+үUutr:_WDn$ÆG"#:m߮#$.rx]~pYJᄎ32әaV%1hDΛ-2ͦkPlH$ ___vJtt4[f͚Džx+zÔJjr=pRV@턇ŔlL' }yj;z<? h;<Eaq=  -6 Dgk]81't3=d0.9c`Kudr:'~GhW^:͠a}3j"&IFѐ]ɥ]%÷Km;~}?ji d$fE루V{?v/):_jc%K1lեQA.ö͊r?dc9tł#(r_c g qjԩo+_2ߪށMѡV{+o4A=3Fp"}'ҷ1?w*vz_۵pGp>񩤦O+xuzo` *FыoAe˧qjA.kQyrO`1'pPށMq>w#0>\0Q*͒iOs1v!ۜCJ\"FΕçNҟұYyK%϶79kBp}-zڙ5I(m%#ôFej:yKFbQr,9muMl.햡Ǟ-wd3Z$Ijt:֭μ "Wai,~MKN\[VnQNvMsK4̙TbKvN\X{8PxS J!%>c[7x2Onę'9z2.)> 7!yA^Oh,Fm58hg'B_’rN]T L[BK [fLq@gq!ipmJ慭y|2NlI~p"[m !܅w٘JX2gmkS=`(KEFJs1,٩ñi2-)>$\]w3J6;g %;W$Whoo|KZT2۩l,"6@ <ч9Ё^mkhyԦa-g5oX Gt^MΛɘ\,z|J65K:If_ZyQ9Өsjk ;yv ^Žf<4@1`<尔iOvTDžͺ4ԗ:|Y聾Cqs@$ǧaQk_̶n*}-% ʣϳa >uHŬMiAr&WnfqX,jk?ۍcYFiw/Iy s['pKB0_}4cv?mFyuhjg9۽LPV"-{ѯq<ՕׇVƔ|=ed++ݺSJkUH]~ӧO4h (vQQ~}$I"88, Vݦϟ_~Hľ} ᩧ*A*`>DϿ}9/&ϼ:lv!qbxo ~4.==Qނ]hzcbc޼5?M)\_z }4'IU%[%6;ʝGwّ8J66CY,8f {ua(&MԼ-Db/Av2DZi{n[y%Dn[v8r24 [QU7kol3d$yjkN5G#~?$֤vnբױh!4YJF<6-9XL &^$^T#472K]wnC귶Nm64 ctrCI0JXw`G/ebp:.~AћIJ`;Y?a:Ic2v1q y3o@-vnբ#Kΐd׫ʯ* Pج;%Y/Ldj&-WR6zyVc:F[;óX>k#JJ"#FH2-fdd,"[1͘Q>~J u?YJCPi<lZ_`-? Ze%7o=wY zmh!/nhk$û=oIMQ:/JV\}_r8]=RxFҎƾir,K6;!3p詝fN~͜m86{Xì;" ܸ#FLb>M# KV%1hV[K%vff.xM2f)8z G7)3٘Nzwj[7uy)~+&@wx"Ћâ ?0HrG~{]fiɶRu̙!>TwBz#2e崪 [yꁟ1 6D;j ;=Z#8?TRSSIM':=Z4RMRbI`\yv&x~JTj CfTLE%`EκLd:f^&:[AμU7<4X21z>L{?oTxokC֬iqi9ZurGb6Q[.B`,NJ;)nPiRR1x_>ĺ%?va*"Wai,~MKN\[VnUNvMsK4̙Tb/9qaiqP0^ӴUR@ ȍ9DHzo^k.L &xY ;>5{s/Z}^5Zj9s ,Q$1r36Ś~ 4rs'ܨۏG'[ $n>5R=q̉Pl WO?&|1//*ShUPޝuiK0kO|9tv1xŠ?X>Ra^ؚ7o/vÖnϫ$& '?-G@ T".]w3J6;g 6f$`ȦZNIeD8 75)uc9KKܦOW3?U.#GXۏ_XR @y-屃IWVT2oƒ?m{\*bR ׇD5]cofEKCr.Y=^Z$IBз'c#FF舣&o{-pprBNIA[-6ȏ裩APf/Xw$5l$9> ZJ)m_ʣI2ʙFP[krrޡjhqY FCz^AQ+$"*VUEx^#'D@pR%oe,¯0G(ϑ}OYx>D7Eٔoh*z|߭wE}ȼo!`&Xg,iR9v TʘϳgA-7śYKyŽ-g=d.޽'ح%Vg,ǒW!x g,D.XCkZD[UvLP >}РAK(رcGF$`ZjbjnX$ EQ8znԠ̀Xu˲e_溼>M\po֎nB6&?LԎo<8Lp]OȍV4C"V$-U4hLZE~Q=7'ѩ@P1H~;‘MkFSRTBuj9o0eƳͿxcUq s'67>lv!q&$;n+nIDATd= aV~g 3}ʱ,Xa?cf >Du7g~LT><ڸh~_߮o܇#zS&1b v*CLk Qۗh 4aAQ[YnP^w 1&omD&zk3~tGyc~%Acd6D]ˤDq d$]想*/rO`1'pPށMqSوŤ@nEe|ĵ^<6f{kIJ؎5=p>ȷK8K>/gL>BėXq.Gf@ (̅g|ƒ>EK2'exd6%r))Ozw9^Vc:Fk1OtcXIF1'Cy+&2M_Rdd܂2)2 *$ TN^z1ӎ(*Shb6P!ěow9 efk#x\{Uyqsf&L PD |C@ x E.h]@X*E  $r1-r r3 \>gHHXh_^_.mqL|LQIu`9]ȋڲ؃ >Zߋw~̓,=۠iT ;{-{Jhg:}xv4"m#1洷Bo;F"5M[ou=;94w2y;:2'}`(4ɢ'][=o^jh]ŧ䑶?FaE;ûN஧ | ųRYςSӖy8!aXLϜʜMy& g<5۰GbXye ywnO" >N$|l ȟ5B_!_/;Z,aN~xmbBOcd\L-q੪p:̚[7o%ϝlX`Vd w'>1ÿfɞ†9`:3Yx3=Әp! Q_o0{h*4a Z]ػWo.Wk|Faۊ/(5Oe*oeT #7zsB_dxOnlvuYsEKqVY<{t !pw xht{PՍ3Ry0N/i;GOW͏~q8H 58Ս Cy/tU‚\^`{c >\խrs?KS/{'Y7׬'?i+]k6g',Im\en`Ѭ 5)03jmf? ?20m6>e /hW|~_l][VU~=ݘ4xzO='"6]׏84,TY[kbfh}~Bq;;rkwܕ#RoջjZy`s]~Ouk]DDD|ohVdśfwf0{vgk8B ?g Zy rY^!<Ư`W%^4 `ZJgxj Zь@S],O)7mUś? FHxGE5kΩ,>ǐ6 ;O'v!46nerLhpų72v BCzJ86]C~`)-9ƕ_yz00G),#(4> UdK}_Q/_ś;~ƇU Y~ V0rXWU| ɉ9J+g^oNy,*=LJN$LOh R3s2g8njK<6nLZ"""r?Z;qqqtUdeetYMKKK.Arr2111|>@e1kfffal۶FqDfΜD8Z|?ɾ""rMAHtqK7H#`ƹ/i4&H`((Y7QxQxd ? ,^HqyOrBf؇OTsdk+8j'(ڿ%SkFvi1uY$,NElϖ |Qc" px?vg-NpI ""dÛauV|FHy`\~)_۹m4& sѢymvOؗ+91gG$y~!ь~Nr"n}K֜DloE;ëOõ[_ևa1f̩dE\tQ׸֑][?w#*sg<cp~ .X0NRYς|Kq=c"zoZ⭗(ۋḞq {ϧs^}3Cѱy n""҈5,a [oŇZeRv `t3? e_1>o>{̧MYo!ŤQ]Y A3 ; =|v>C^d6GHԃ}iV=1vd{,XgMaK.&X08Zbw}wg-ZvP^|֚aڧ=v`\j~CǓ+ RYؙVěkCãI[y7Kkɮ>[ Xg(NPƒ|;ݙٙž&񖝡Wq]:GY'8 GU?VGK p6 Zy rY K#=aS',Ho~||_Q/_ś;~ƇU Y~ fVOIv\i[f\Y;9v21'cYi困̬ߜ-اO@w>/ WJ-0808&>V''M)2%sTŏe3~4sOfk+:&2=!ң)lJɮ^_ߞxy'mnأظD2v |w2! q""Ma ڵ^ Q"))鲞F.]0 dbbb|I pX4M2330 mFJJ #F8DfΜDDGDQx+t7QxA',4m٦YYYz%DDDDCx3D0tzǦ"B((բ7QxiΛ((›[*DDDDDDDMDANDDDDDDDMD4&"" o"y7FHo""&HhQxQx7QxQx+Y:TDDMDqZMDDDy7#SQxQx77Qx70 -""" o"""" o""""&ҔEzEDDMDDDDMDDDDDDDDDQR!""&"""ns(IENDB`geany-plugins-1.27/markdown/docs/plugin_mgr.png0000644000175000017500000016154412671261352022156 0ustar00frlanfrlan00000000000000PNG  IHDR9ٸTsRGBbKGD pHYs  tIME "82 IDATxw|SUǿ7I${e l x(N^y,D%{G^κ-Ж$M R{sMN*#L3n8{*k _#NRާOa"@ 0.]z3K7z޽e@ x@7nts)^Ŷ@ :ԩS={ K@|ܛl] H@ .#̝<]WeY:k*>5q}x?,dNƗ&"Sjqwu’n)+xbS1e o̜9H,Z#F.)d9/zSAOrn_Xw@+\u(͙,@`V `ѢEDFFSGe8rc5G*=8_/緙I5QndCkF2GE,Y\k\Foufp1 9ϼؕOEq?%A p2& }PE@6rpjvI$GRQ!N[SE!|&8wŋ 9KOFFF$C2{l_^0Hbb@`5Hv rRro^䊧?%;*R⟝z*uQUF \SE j 鹅>#-i鹛TSkџ̖3hkl< u)+ 1}fӦMޘ1cJTnzzz?᧧b%vȓO>oFVV>>>DFF <.ؙؼt!'aDKT\s/BNr HTiҐ^xL6@,2Tr,FSXbf2daS> hN۰ tk”R0|PH/!#+=~Z^g?qj;GO3f56NߍI܇ Rz >> Crr@PdbϷ.gm)p j< FZySW?dpR{0~^zDH`!z6]L W7\T)*@`SjId9{hU3|3ia'#iѦ[pUL8W`FYK\:O.\V UP)_Dž'a.P9YkA4o;.kdR,֪4uT}CAi#AKq)::|=p2{Ǽow-Jg`qqG}?vc3I 3 ~f$GKh %.[县 ʜ$br=d39驤d ͛7ݬ=XۼM_/=UcF2>lL& 'sIMPV3N9z,Be.ۘJ[g# "  oNY@[P-: M ..@@؈!rC! }\&@ H);Ta@ @ @ Db@ @ @ .H@ Db@ @ @ .H@ Db@ @ @ .H>δLfs豝o.a,N|r(..f;9@po$Ɠ2[1 Cxy*D; 3 jL 7E)|n+Ab7LYaՠy/+\H @*GnTkT[\<\{E.[G K:W Ğ}5kԻmI ; 0u&8FɋzcX`Ԓ 7oe+4۠H R#aW4WV'[r'HF?^ ̞ {2|p[*8KyD|5]>./Gѯ=Gygg+ Xz^@ۜ ;oLx=UZsҵ3| ]Nǔ[i+4u h-Os.['5cY7).'BquRҡRQ kS5;VFsnkv~{p/&3)ӂ\7֬ٲ-eqqp<)R #˳ {Z2;Cs"{ʊWI1(8#uN;moqo|1fŕX,߽ρ75JI Y E>wҸ ؅1tO^\wҦ>i^婪j1 Jb7%₩2}kau4r,}6չLFSOylE|U_GY|7k-|cg& o|8=p>ϼ_.7cڷXDvBNj.l:3 '/ Url JĜNv(:EWKYgX2s79ihto}B8a[:!kc1'`Dv1|i;d]_ ^"R >.=aoc7댵KO'ggт<=*kxX!OH⫙ 9\y;g=-3v+(]԰cT'@>_b<vf;lwo +uiΘA4?;&лBXUE/w.J_Y0ɄQ[q&߹r>>TUwW1̢C &;W'3"7MZC)ZE Y2ƨ=T6]OT 5;P- Lv<&f$,B4Wӡ7*'?#97gDNx*&=NAx䜸H1T;ho~qJ՘.͂ѩ4x6hP5߀FW8ep|4inU)PU:)VnSРa}m5;w%qIӈ6Q*\Ҫ9.tT4jBKGizQP햜 [ % HO!N;m٨Sw^/,WNέA*AeISO_%FSA+Ԯqdۺ [Cyd̲%3M:\1xJθ:x_BIn{ԕn#ꛫ.V{̟G1hBnxQ֕uwg#g2MBa_l)kh4iLfN{Xw1U, ;eIU>a//gRJ KV[9;, ̙*PH!kؓ9{~m+!}p̘ = jɵ25\paB=8IG*h%0no48gk+%}Ni ) W੒ fKia@(O<&}*j~F ȶp͎U_KO{(x :[sْ}h&HɵR]kDyȨ7K6GUES^ΙhfY}AZU\t谖/jХa82 2Ss9:SҜzCl>b &ji௲sLAVEL >(&Tͩmú2NBxWBpJM';"*XT4q?Dm2F5&)RLfg/+ 9sL &KwzS 8yl['Vhw~_ nHl;lҮ=m/;Βfvnrl937gCA_]N[dNj\2O"[džyr/gCr9&1 ҌIC^/1J2(=EF=jI9G-A>^[{tn")ilܑIxبUTd U'ܙ@_i4>?YZuu?[Z'r93,b4ԩSVZ Kms:W7hSl3k\$ jQoWIhY 3o.~+K>+> Iɘ]|'Y- {U$w_R dA;" VK@ R@  @ ] H@ Db@ @ " @ xpqj@ τܝжm2ф|}}BOLh4HB@ʕ+ތ@$\q˲_.xqw(eNGm~7u>HzzX5_th4b%vRPPf%[+k_^9h{}5.X\<(VbW(6h-'~߅w ]zP ;-TO,.w?z/.s]P\vGg@ Tw;hJ+x(=UߖE],W\Sړ%vJprN>5_O_3˥ ҩ3w3_ydRk]|\|vA+]|4z_~cWkݷr5*H梭w=e.[[$Sѽ;OZ# b3I7sr{z)O 7\Q0^`ֳ{ɫʸa@1#+DvAvfJ#o_b=I.hu0cw$TS>scq@kfm[Q mW܌`,$[u?7X}}vx+4x ?#v4Q‡F}J,, Jovk>` P(%9JC"-ڌHJ/fK$]͟|+̏WZ)}iс0c>݊ĖH fϮձ4znYWrPߎǼ%Bz/ ߏ;8}+TY}ߟo_'~$1wj~_w`::O&eO mFn 3-IB EZlbEc $F^}<%o'ɉyҳ$%f;;l-f{xcu 'K ?Q=+klic+h7c*HVseq_XrWS?;~Ӑ6hB?D~yLO}#ja*I .3:ug0YL_kӇ&:UG13;WM{|;( L<]㙷^Ge R{_1ɳXI@ΥS/[ʷlmVyR!חcmw|>K홣Wĥ~-Eq|e&vj#AÞr7I::ubhj;X"n[W/+'O U;@ W=l% kأlˀV5У"1jd}XRWv͸9)t#n|somJ8GW=+Qyפ63 w m0t mpBD˷G˚^S!J*u!N[iw([Y{ GeTvh/>>қh۵@h% Mh{:xf;%ƐO<Zcik&_{<{LlYqc,&̖8E9-,cQ֙/vm$G7Xk0u\%i$`P99c*2u5gj㟼)2dV }|KSw}$)PJ2fkKSq[:9oJN+J<설BI;u)i͜G*7SIl~H1j3k:/RG șem0_񤙋Qeg K>q  TSƺLf0g$n3LpO^鶔q#/f/L2n+O:8i|I:|vo~ 13O&=1jo4t`)Rkѩnliue3lhpmCBHX.joZuV9?auL;q9GPw'b<. R5xPyݹҐ& B7:8qzH:v/qûѩcGڵDŽ%1˪D9}_G:OA"5jl{1yd7ڶ4ЀS9aE yfn1ds譚T"|[7ƟsW$@JWďMTЄQ.4lѳ.TtɻW ;@U#:aBZo፧>8ݼ0!ߜ$$f=69589qWY L<{Ҍd^]WjR`1!_I\] *?ȪdG/Cy{}2ɅґxuE.~Y!(%B=*~F X(f[ON3fd,#9zǏV-c#e#ӸuD'q <)!ڮONXK/'|e2nӋuK1y ͧqTY6аcdvLƸguӷ%a+f͡3]ՏDz$RzκNw؝AҘ \A9LDͩI `̎jhty#V՗Wz⬭Aչl 1f*}U]Xkj)lv=A𸺔y.aMZ60'*m0'%0t|ɕ:ݻP _sTGe|d?z>Kء_ٞ$c¨& oC֑9S?:j O?u`zNţ![yt.t}4TSO%dک/bv?ǂpRjPjjhfQ})2&}n_ʱ#5vCq xe K[0{}.FSٗ'HFi9aSm5A7mм1WP=Q[RJB\3, +]nyP}L2̀_yD1E\=;k9dK tX^ۣ59`кA8umiȲr{5=q γێD.ba0\#%鹒l7ߍlJF[ETo>>LאTc}q &ﵝnÖ=E'j$z"b*F g\yJW|5'g#ʍ@nK0 x*iǼȀş CvYYjo+>4ҳLd@m5 IHE!)Q`h):7HR,?q{`8gUG>p{7uw$˱=OL94{-k知ްv*@U (RM7GX2ܨ該ϛ#{.Q{SˈAW)5> =:p gP4>EWi0%ޒ}vb&=1i[JWy/- ӉK) ҝ-G+]lǻ/אH_|k)d+2]Pf?b0uǓpt+iӞeƫL5rb'GbUT)͋Od @\%2O-=zd[(\uN̕ ,Cp )2:õx/ %z3e%r,Z-=zӯ}K g-`2>qY1)],5{eg8vrLn4܊?3\A>+K8\a204}?fn!h"nˏ̋o€.bhj {-k&楖Tݷd[]7z_Wëv$SbqRGqgNCјMC_E d8\-T|~ Ǿ="~~FA$ $W\IHHo^?)+@pȤ7'2kHVNwh%AyGh_ (&nxj|~"d g ʭtLg?*N%ƣ@HelГ@ . d@ 3v@ "3g O $#FO /Ha׮]T5 ߕ.Vk kOWLwsw KUd"_e2CZ7ᵝbQN'*gqnDn[`??ҸV\76/R3/:Jz ~oQrkIDPI~D쿋g[F( $URD\kef\\ɥ;쑲rng*î9s`9_D}<qQg<{N?-{w$TS .)lZ}RzWXOT_Rq]/ȯ9[RZYM[~ŤPҐ]_3qCi>geȹ5 BqOf냙tz7Q/\~_Q@?`rRu{to۔u; _Bxh~~h4 gOkׯe@&~0έPFSxL[Ze2ra mN?s>mƏoЩz Rbڬĵ~-eW޺15k9bw6ML9ÞolcIeߔhQV+akmM8NamdˏӽJw'!y9=tcAv#7DZ+oq`si=;0}E^\S8/LN0MLcW:|<^~[|$3o9SHhiyLIԕJ秝&'_=QqvO3 OTa߇9h8D}$+u}ql5VYWY>/w^ʇ='ǡkDM_V =i^B`Ej@Nj,ݶْb#ꗵnN!ߏlGԱ%LV$WWSgkڭife(m,QʒmE^}~eӾdlN.Lx_[oֲmM8N[1jgZ@6GG0oBq??]i6,EUH쥎=Q> M>fޛjW0XԻ2~umg y˪@2fAnh &^z,BKcht:T|5aƕU;tO6Jd<ݨP*J0˕kV=>*-a>i1UQ -փ7>+Psjy9iB )jQӖ>cͷk>U UZPCTꗍE[bAhţ֋pRy|STPodKr.yс|~8zj&YqelEW)XÚ,Y]2myɾ8}YKS YĞ:FPQrZقASZɹ߷g4W'6O]ԞT %4".y"5hm8!}jII E"?-W;To }/*$m/[m?q9*7*UDmFԵ{8mєľ 9mk ֚t`\˶\sr?^_myʨ8(QE?Jhγ( $>Yymn w:gu9Wb&S?fWJia{_Ÿf7T R|(jn-ph&&$ ? /'םj!!Ti>!{#Ȟ҃J463Y23`dIX1$*>(V5_߆"uatraI'穴 #zv=QYdųM+WG?5̤gc}teWqzWȷD1XU )V!9O2}BBog0߹&Q iϙ mWt3f7.hݒuvp< =gwme4I8}4uTUVv?E-JTAq~Quwkl4.3R]=\6+OcL ?^m@:߶}Lr2l4 $P($rJBBB얿}c`X0&_"슗V'( sst*-+dɗ0z凬w 1 #яfSel:H$벇2ǰ@ :OS@BҎFIh8]jfXy" ʳdYsڵ+Gs:Qg >/Oڣ ' Z[/&lL/Ot_nIfsLiOğye9eCz-%Bib'ć./RAUgbŷl-` ;vɷLoM(ѽc| Zΰ~xƷJ7>ۗvKcE*8*{YO:N~7/&Ld7'm>WNON3fd,#R'[z݈vѳw{f4{"_9zǏV-ې_Nd$]&N[UȾ90K ystyɼtdw3xb5^x ',IAvb;4'#,׽dž#g9f''N`Cl[C`Z+4+F>6e]8Q^9vbQ5Ӷm|T kNU9Dnbݢ ow ] lW#e{o:O9\\צNlt #^w.MN+1Ğ?iHUnK,Tͺ#g9J,~~[z.l|2_LXM\;U^=vS s;js_B3ZU_^WҲ-X~<2u'QBGi'AlB*WY?kIi؍#h XE q엓0GCѩ 'bv?ǂpRjPjjt[M.?£kvSBvDFq%;p%;sP-<.eަK|jӴ \ӽ uP5{MQzUۿ.ZSKŅdsQ<9NJ|"f9vbnk1/VIHg ;+ۓḏYՄ}J-պg?l^'繎dEBURѼc({0-tvX|:ZxkA%f -[)I؉-Q 6DU~3g侎.cTWS@7<>z&s 6`JFKp}T^\I6wʽ^y=Z5.Cly IDATjZ{%V"ppb=n+wl?ڰ2n#shZ?KaUEەJG} pf/6,]+!4Rt X}؋uHhpy}huC58N@Z1vOEK30/fʊKX29[6{_uu{R7/V6 Pئ3UsTu]+nY1)],+#M}xh+^hK^G5:^#7[3|.jZNu݅(oJlBLR==]hǿSScY~3uZTDٌI k+WrŤ,~NO%&IFFB!.0ΜΣ1п<>5\qRR=Myn5<1嗜̹#F:I#/j>E @{rU]ɧPvS|chi۾ N ~aCh;<*3WB.%ERbA@@]V]eU'bA 6IJ u!H J iI&3s$f&p>sʽsι}{ιMެG!cBW>(P@/JeaHkt71Y,0]GXucmBY~Pz}vp,BNoeWb!&*:mR7cbJ6JKKkKdFƾF hz*\ ۙ(5h3X:;:@ܓwsW ݼ~VbVE&!ˑd֭֟#00fv⦻O$k) 8zgz?RlǾÄ~W|4=veq  \(@2 (y(zs柧p{:8a@`SO |ERoIh:1`1ҳ, @$lГ@ . k @ f@ Db/= AKIӦM= b)^ Þ={* 1ϓB-)oO^׾ 1%&C؛:`!zud%8ёwjGoko飼il)Y`9 ol+\%ό7>]M\iX3c9Yb@a*H^:>xwvۊu˜ܼWWֱ4UyGߠGԋ-ԕ7A'yYZ]fL7z_ué^`v8[BBj*y.\jweXzozB\492g5GϞ9#"3%],1_O*B7=#a)>eZhN׮[CQlk <nn~8++zz>$~zKqs$%hщZj JLBѠѨQ}{g! u+٤FWh7t1 psŧ<TιSnr:u.VJ_pZ]GYT/}Ĉ4Kp1C o}FwCW'Yv~gхiݒr[yyYE3n;jB}FuI;+>½ѷ=㿻Ds77_iBCr@#7RZh%KPlq|1,xumM|0ў]Ʊpq q$ߝΰzб@K2q;Z^$~p,PQ{eQ]pm+Γ}C96Ob40c| t1~[szoG6k.SiƯJ=Ϟ^? Ù(M%loL_ݤ%obF{<  uˇ)O9%+xs\ޒewt2 Ù*W`N";<>h&ҺdIo;R5/EPwXuTYgĝL̜͆ϱ',z"s7᫨\ 8ȣa)|jګ(ijB9/ճcЯz0&&\fzwWXeFƽV-:[}ؘŲQ Kz;eP c=vPα2NA3m;1eRKcT3vxt"K&9sW΃rӋ1UuC_zr'6^73AZY\ןʇynh0jm# ydnKK:Lކ.-rdhsPl tiS?Kv*kcݛYz[ztnX+߻q'WP%0zOyTcI[ANIr '.rWM(lQCC""ǵ}O1 j*"yՋ Viж(ϣ:Y̥'2Znғa_`ۮx*J̰09VML^R8x-˦ g|הd r $!5agѼj @NGac)q½1?+iK&P:T|c]nȫ4O,=S{6x9VLRV?KvkcݛY6vYCVw%xz_`X='+cÙELWod3ON"YhÏ5m$W8P-d'A Ghy~>_|eϮ⛃EVF֏u(+d>AP8. )dFq~b(0(N?ŁSg~Nf#) Cm,(7ĒTv۹7VVvjIC~Wn}%1;ۓYpblb9i:ᑺ-*gϚ(Z2Ѷ~C*+l#PAvuatG0sb yK ԙ|u oڻա *bC-Ma٬ؑ0hlwʜ9g%L3}hJdkkA߰טp}9dfcenxi-ND`ݦ|E^u$wfD 6y߾a $>=RB?O;>oU0D]cJ&kL-۩v=z H[Z . ] \W%;9;~n'ߩ~礍z;VGrܷxKG'bɸU;X V}:L}gùO4oY¡9+ݽARtt̓ݻw*Z@ ` mlČwxz} 7 <^VVVE&!ˑd֭֟#00fv⦛I$k@ Ík+p[tD{3`8ņL+B;^g\nWNeJ SɑXǤZP2a}@~7!Z]n7쿎=a)@*:ćcV3a&7~#P\i?.cxģ|Tt&~99pP8~JR?u[f}M߽?K~r se_s_T~QLr=ڟm ʿ=sMʣ 3~@!<7(hA꩘81j*RE4*yr>*8}9R˘hunƗ %7 JLeb{2d$t)A=`&-yUv9̯l+h<4(#mE Dbo>9{Y0rvxN9y[fWTAiJ?E}½<M&}XnSjggr8ALK&f֖ 9"T7v|ȋOy TԷI76;IlCIl|fƕA.+%2/f${vZS>"iOK[5C/l$8_gMTW&.uQ K.az&oce7Ocx$mMBO96ƩTPʙ^NK-=ڢl,%sn{-WШ~lҥK޽[k.09vM+<'8D"y&4pMY[/blOv/q14" cFrqv2L2g'&T;'4w6;AM+F<9zғIP#o;TɭiB7%o<}eJ(X4$ <#F NC2(===k]J}FZ@ /s/r&~[^C;HvY:6 J7>GZ@HgRs$QUuo$cǎKPPm۶%((Bߏ$5/GEe r $~[ԗ/v& N("/O댳+hʧ<Pgnp_=^άn֕!W t' 'w*s,';^c]lI@Q dm'1d9:VyO&Gd:"tgY%1_}N%~^ #Y?({Dz=bLz2sE1qݟ(0prpprH?~6QʹMz:-jԵ?$pdw\a(_X{|woE.1n2Δ(//GRU-H-d2zݛ-?w(P@/JeaHktU{GH6^b߶1!}$Y X)::Aiii ~L}(@p;VE&OTT& |ݬ]$>|82 \κu Y]鯨Z 3Y{ 3j5v@ I$vlГ@ {.-zw*2Y~A, @p؛ o&zM@ Cf5Hŋ2BOO*M&!zwl]<.JD^=coMO{{kFhyxꞇÜ#CG&OB臌nw@wD9:QcbbkՑ7qp 94GxM`foɱ1kNts^%ƿdXN|QD-=SrP1?W7_T-UxxYE-\į7+ۉ޴+`g[Ŕ^lEr4-\WKk3w ge˗0k Aj.ld/25>M҆(D%ugY_.nP¯Mr3 xw FPV*v%uإ QF,3T$ӋC ;nO,x#  fD<<h{0=}}L-|M1~%{i qF(c|Ǒw:Aǎ/L}I>r:u.fBC{QDRO$.!)9DPv~;g{ j&oLO(~Z8wͿOthӃ'?KT m_ohƾKK'61(eS;#>@- y”L=K3y>fRV5;]Z xK~iز v-iFwÂg0_7ڶėie [Du&Zkϰ7Ft1~[(z-aοRvmTקӌ_9z=߽LOJ33C>ڟ?ݬQb\6 ks|xOUG9l*a*¡P:Ξ );ٯasH֡Zl\w_Cv8MZ&fs \Цwt2 Ùd{k~C1RgNYY޺f[;alN" -?7pկ>֚vxV(g"zs5[fd>ZnV&KZstO>w,siBٝ#dSsKߦݎ6 e}/lSqp8ԮkЗ3:kZ1"5:@z8\k`OJF &88b2liSሗcU((e&IX)jBPbIuvgc[nȫ4O,=SJ-?K:cce%d"uh|Ξ٦~+PjqPT/+I`MZ6qM_V_/ *cXcQDWֿe^mW23ͫ-j"c+.lM[򓱈"su/Oj/7 2D~x5@7Wd2W ky1k^"\ )))^&mK6[6e2,JgtřVK0B[7Guޒii5u9o.!Y{ BST| |KtU.Ė_h_mj_I؛'ycgϴx&B_BIIVj0!Mb4 \[ǖcpQ*9XTkt&Q.SRFQn~Z_`<:>J? >4=OnTV,F%,pS]@Rj f,f͌CS |܏b2[ jUq~b(0(N?ŁSy5ڏ[jޑI1K\8i4Spf?'ʑ΄D6g$BFNpCktC +2#ukXekM׈6շ7ִqb٦{ygL:gh3cklVNHXXaaa6bH|x8!߰טp}9tÍ-?‚i6~/re B)_I V}:L}gԑޙS14Dfԓ̥ C(Qu N6Ex7{_j HF@{M#E5O7C}aq V㤞4y JO=[L~{2o~=zc6ssoճGo(}+_B֎Ī,%©VixV禯sljeS8;'s¦+^+EGG<(--޽{7Qu1 ٺ!J?A˥ VL&#>>{шh{bb"ÇG&!Yn6ߵk7]wen"@ '+Wx=v@ Z{52eIxF, = D "W"-z@ Tb@  ==]@ /… "BOnxqW| fΜ)!zw,):b@ -a7ׯ_o111»AzQd{~30@p%[2csk gND6QƑ"P*]xtSP驄}cI~b''YзI]*ϳRRAT@D\|V=m53FOF(JTNnz9Q!8(h)_=BC-&4{AC^O;U=^ޛPW5JG}ȑb 0|wCTiHP͒grR ]t@s#4L(AC|8=j%J]0؋X'z)z2eW'"3r`,uנh7sG/V>{Ńbh1< ʕb9Z,YA:F3cuO$>mqJ I,C/Uc q~|G$G|EpG` x\LkэWVc(>M_(,}9ymÜY?FҋsIu6}* nJ_ͼL^k`L\뼣\fL l޾*(M(t,t3c;?~3#i [/R5?/^v~=;JeڃXKcpy$%{yʛLVl 朽qcg9a<ޜFMmő+1292!;AO5gM[sQL OFȈ85r%L[);Sy"j,7-9vu(&zd'.cv<#CjK ɬxu[9Ic~*[ jW1?"\UPHrۢx3=fu2@VYꮉ} 'ȑ|@LE^2Y)2ggW"݇єO޲ * u˱jD#SK$ E0n}o~!{\<" MQ>z?㇯֠?ЫU3} s7|pDZ8|k7s!8QP}1gݔ [I8ϪxO9W!,tkd, uD>{p!(8omet §.bï޲ z.,NL ɑo[zNSK,m d^{.G3u|&ck˦HapIFe| pzy '%rQnZ΂)7rǏ:*vs, IJX42b.td◹/q0%gQb!);?$`({OPjuuE~C|m%+]C ]+u[݊1[|5'5NgO3tZg|O"]iݟ_8]?NWDELhJD9Y mBBOHOV˲:džlx/a^xdC;:pV~?po?b:;#L%ݮ$Ikp]Hw{zA}I}2P34ڃ$./ ,ȏ=g/ y Srnwii4; J $ Nװ0ݹy9ٜ89y1oZ˧r-];/q2exDexC l1 u SU\ʾ=Md<\q-. Sg2)) BHr3}%hE@@$]7{!88a}NheefpbN^(ŜJRﲭ^5(WuYbTA}$9m:ɚSx i+iCZE߬*bپ81L`2U~d2$I߾3 ]6ս7ήnW?J6ϒ_޳9M=&+ tr 0TRU:ࠐ(`lre. &:@v!55-H{Cqti|wyYEk7v&P'C_Ti-QҮW$ΰ1ӈ5pqG02(GLC^?/-jr";0hDQN.)752(иүZ vBيNUYdxU-W83FpQI;w_ڸqqENVfm21tap7٩86xJ r Um&+皯n Ҥ괜k\b' aC/TwrΝ;Brr2hZiժUߒ[c8y`EWzBUR7| LWJ>ex)+]\0eR&ɮs23ټ8~t_zV^djWu˸:) jBHA*.0\ y'Oֳ39R=R:=D~؜T%]|3F '/>*qTS.L@)O|\#Wh6d \<VI-*}|'g泜R/T†,*H>BRXq(Z!!S;.eӬ>UAh.64qUttA[;KmcDr$ԜŦݧ`^m Qc\,0Rj+gEr Ark]v.Nd2BCCӧ$::Fowb^V9g(^tN3$k/>Nǿ?GظGI#.r$P/3 @$م̘KH-j I Ur!2#$T>Areǩf ^N_1`2WKf 'w6`2&CJ+z.:2%RSZs1I $g꩐$*J)T8)5PO2%ztb^I$( H*h*RZ9>hqþl % $Q^TB ̒rj*$mcs9ʨ$%\4saֹXeEኋLBq"XUBR:_Y!Ǿqr[KF4h"yڴn_,?= \C1h+Qi \J7.@܉ S>[Kʹ`n@YBY#EkeKΑ`ͧ$a IORCUR>FJL P^THW cWqC#.t sUǪ*!U#Iz*H+|y3f $Pjxh;R2ִUBZex+- d?ņk-U -jlP sH`MTn`2JVUFsbCsq.d+$ aV^u>"*7Bm>@Ky~cm݊,o"-WO>.QuXXcPHf 2($ܠ~Bj澀26~t{;M0:=t]fݟ:*{} |SE&e *Y**TC.Aa܌478璣/%,`Og\)0+j,!!].^96KTfs Nj?V`@_IָqJߚmjLsH L%rTk,Ym]#fdrtL.A)/7Y<6s.GZ U&+>ւ^)ܠ򒤊.уY9s<`ݴڛrCE^$1dtW0\(\ȕ &&sU.QLeeE>g@Uf* sRS 9ށ**˯(B̍J䀫7|.Lz. RYB@3N )1[jtSl%6,If$3Q r5dJo'9 ;e2SX l̬E[Q R6VOV]#մ qD'zx.|X"4D:9k^##ݏhBХ`>;4*%z`2K̦Fձu2wlfc3fYLE8=?l$anKQ՟YJ*r:֙u܅!]*7v!2f sE!{dr׎L*Pˁɪ8wSqY0eO2˨}\tNSͅYeP;7Ne wiˤ(8,꣭'B)w̤TV:߫/֜WXhM[ k7m1bTFهIғx7 rv$˪/!(o+>7J6JKK#MmPٹv!<"n*7ҎN7 ]jd2r7U֭֟#00fvόaK>n:bKВ%w AS}B 5wqJT̥/}F~@q~<(O%Jh^ڐM} `$}Refb Թ0rf͍͏%y6oH^U{,7 j3FOJ?t2ەX9< <,ٿt:ϰpg So=ao_s.ؓËmn 8*'7j4+ei~hl{o{-{ CC^yg@_ōKC쿎=a)/!U\9Ga@ DD~C>*8}9cxģ|Ttx3C6 >F.m Ό.`0]יcs0j$[)}̀ėlΪ-L2ZeBIl>K׷Bw{Ft9R,Y[UlXw$!:+Hߑ+ɑ쨿R!>w.oVƑ):?x0ޚ1< ʕb9ZlׯYzVpiDe@1ː/FcoQ-cYi7Õi;Qm?~wv.aah<+}sazs6uϡ8s18.'oa1\~Mʑ)}5v39xm媿H"g׏e3YǘOdrpkfmߞ#B%r-]L^ÒԾLe\7U6^yG),̆陼1T`}jʿ~6MoB eyțmS5ek1ƀFʨ8u|e"7qY=Cf_oۗc_Q)qx;ne)OLEHj;_['))Wd҇(ui.޳M7uO"鿳5b'fǢ [9̒=mMaǺʨKo"71֯J(CG1s'_/D1~dVsc鈓 "NweDOv~seՎgd *rRLR.aGet_e'S)v}*7琽G.tBOW~| 1JCȘLVʧ uٕga4Sj:gOdm^NSx43s7[ E96|8ÎuQDb =WkЎI-dt/ysVkRcqF*-$**H.E"|GDg9{Kela{%if8즴^+L֪L>shf>rMOf ɑo[zNS뺞ƄGbMyV8O~EݝGJ |Zʞ"()=bޖܺKuF:zbG;cԨG3u|&cPn%Q|j={b=vK 3qݟ(0p4{WX˓M*)Ks3Q&̒Yo]Z?{3<.`C콤|++jCd`Eͥ#blGl(Y~MapIFe|~魮}5!pd>c^::JP 9Qt%mc{n8U.);?$`({ORǕi޶]m5_ͦ汷Ha3~SS=Ak۱eHǸ,:ST(/ND ?{)jNxWc&F#Bv)ŘǛcG'X_,|O"]i^vlPU,=u>1~rдə/}sS.ͥSq1tw3{Ӿa"otQJX^uQk&'5NgO3tZg[]jv$ރyI ߰eUzr8R:qgX5ΡO\~w/oI%rBY.4:=zVBRi 6ǰv1DԉcYe k79[L:{2Ĕwov4mڝf.r]4n3)ۊĆ{yJ[wc{:63]l~v6Kxr^z=& q$6 ~{жIytM[=[\ŏʕzG9|2᥌{?V*ʿ+% Xj_mRU񒷂SpӇ OT3[z=K~[ i=.5;`>@*"oJ:& H[Co3z|f ڂ6'JZ~<kh~~f4|[4><{F~{:M]o3yU^IkMcNgWX,,ȽfeRZLI1\ y]s+GghDOθJ:>OG&rsFPԼ1ֽj 4蔀6bkOihф%ӫSEtxwg4B;现,c)1Ǽj_0="jB4.*g@A=Q mXɢ6gQ+~o@s%0u&A}g~kfފ|<3HA3 /}51{Ǻgse^qydea`lTⲢ4C hC TjKo>?u}'&ƞoc ̿R{:Kߛ%h5/"ltΎDXg+ s#$J|%ݏߓTh$8>{yf̛3$E&(c!yNapt47Ͽb^ }EFé\MP=5/>`Yu+?5KH0HaO:8PPaGEq%O1fn3F"ю,* 8Y'GȊ\D6c0n~ǔoStj[" {mOz4%6>Ji]XER_fUx::dm-1okޟv?gp8s2;[=Ո!k=ڌa]B׿W֝Wqnz?<TR z\̡>bm`_nmy4])țb ʵuT KzpvD]070bkQIlєF}q [Sx'Pۗu {=UH;›^d~%~e^U[y(SG t{Q`7 h;U[\oun_eιQUJQ-[x׻͟r =9HӦMSRRR|&Ƞst(wjjb0$ J$I~sѢEDGGF|ĎB'aO5̦wv0NX8x&EahBiI~LwNpu 똨Z ̄9\H2*SS{VtX~9>= {S 9lDnZ^}1rp:j9 9{d=ևBk)>ӄϼv+ҝٙt|zt2/o1nnD֌l @wׇ7,arohCЬTJvY*hh>d;_DFw0ˇim╽ؽ!B.(^I~U"iޏz}829Švg{ͥṷ1e=~vGMǑQ ҡјh<}{׳n icF = {:B6=D^8dQ*Kz&ODw!.<5>G9F0AtjՄ: .#Li_[eֵ!rOdkgc*GM4ⷝ=V/%)Ne}Kl2sj (?Q V3|}悍< ߇ pWlyZ/iY;Zqsf^EUݒ6ӫcxI~uCdJ:u uOΟ1x5MɃ_aI Zt^g^9׏fSˉe{w3= {K7ݔ:}#=AbexRG##{Eڦ>)go yCe+YQԀij%B෹@7B%!vBد2w8t-;u'gI\kiٙ~c]iص3G)Ic2"Q;Xv~2 ޘp՜vz]ө=c>`L(pRFGS<;Oh4:`נnAo;xT~44c!JDM޼y|pLU G2ѢooZjDtoSg2 pq~x>A'~bp5}Kfž=U2ynY $Ez\}~#F#Fc87~F6}SϠ1Iר͕hAmu9 3+.#!t]U@"D갊qomXnJxڟpgl!?%s_Q(; \+4Ξ"#pm( CP/i rOa1ET: G1QsRoN7Ns !گ\'N(+րT˿-5:ijk [:v=olDЮ'aOʞ,+ 9D90b{({]Ij4*˃3l2!5iÄ aQG1 4_q$tg?I[1T{U٢/;(j@C/!BXyY/i[|ӟKȎ}o#2%Ԁs^ s5hB++y{WG삇h&+x{`E1|Oד45~{s!I屧*edfS?G;@VWzل_/cCq=b!*zӦl-5I2FxVfrWsOVg{ȳ)=9xz[Z}tȟ'+Opfa7(*C =iKϔǰUADkJď]xYIZݯ.& |}]VM CT= {2oiio1wu/1Q-~2#ts޿nX,uZ /2mcn|d㗓SXMA!4{d?}F&W edd\"25YQb]l)$uQw.X}ù wn/ C*Pbmk sr*Nq׵kq&]taOFPw!5յJ?B<šr8=] .%VD%j]r~w_v%/55-칹E?Ӊp88"hv;1vUyKE_* _$ql"]5.Di\TpY(CD r*9a[1= 622hXP@PPP{#⩖WB@ 2믿HNN3F|UB5#RW^"0wof-Q=6'3l9.LZu#I '؟e\lŦץ'1^PP@QQf9(UqZQ쀄בs0NJM~x/[/Ok{һGZj_Okiףڻ)xcHZ"(G}#lγ[XSKIj< uPT<{g\֞n IDAT۝2g۬: Z",C`?rAmrt>E.g4אoyD :Mi';mGfpgw4ӟƭ7ce=trp:,ގJRy:Yy'Kfh$9WNwŢ$Uݽ<|ouUv_QK'C= vdOpע0tꪮp{sWC+Q$=YΝ;c09r$W:Iyʌ1 LbhLblOgY 3 ] jzS ;OI1y*%,Wq=zdy٢"233]\;w$44tDGG#2.W! U]ƿÍ|<_hPveA;EyN[Uiaz_Za7%{؝Duӷsti]^ۓ~dd[ti= 3u{xcw٤ëOw"`=MMq>4<ͧ<@:iԚ|qtIr ̞;X7!HƯ3i|LE3g hBy%y*cFzLo?U28! 7K'yaHwG~O)Mw=ԓ*)ncN ; r $?^1hqa9^¶"uRx_#H E|"vHi{;GH}%e}/;bhg _e[x%jFiKt?Vտl +sJf~XbTȹ[30[sb˙s5agn=n|+m5XL+QWHt8I!%=&BpO;rd 2"ϏOnٛ[{'SGr1BqSxA-rh޼9;}b-cƾSAR8Aq*(eHu!;@:5RK(Βɟ#ٖ*y)>+1:?,\'K2ePt-~<; x-sf@:_UyƁO>Mۀ\\ Y9t6mvFV .?vtk%[Ѫn{$m1*58qJ0xb/80{ Y'>^r$?.>Pr:O (Gخϸos9`.{2e׍OB`+1*n*\g`<f<ːudٜOݵth51gODBr;Dr\SbTk!ݸIcg$B;H!0>KQg^FIBu[ v^|}-i.:lC} 9hӭ;MJ]>cx ymeaVN}{P<3^`@1xݛQ4*@P 8Nj5III,[={Uح6f+NI@.qR2R(͑v0ny's%dPbsX.ϟofcDE%EQ_nu;O Cq-{cJꠑelGiӬ$7חzm-q<EAt0p9Kİo>d{߽{7z͛c4q\T*N0gYSLkn|t4]C@.V@D~(XWYnU2O Gi=ۿc%J]evNEQY.UI%~ro M풣ѡ@xcT;8[$cMQ#a ?٣jˣCPidڥD2>/g+mMH)##/dgKt8 0vCЇTSO>AX'DF(Vgu`1v!B#Do,Ԣrh4tؑŋӷo_t:h4^6q;\.v d9T,ΖˈM9}Li8 N\qUƌF%6Eiɦ0g?o=(QmJU$&Bu]Ng.ceZ-X,s9x㉵_-̽,˒%](LDwԩ+zL1q$TKqs[RJʆ,,g֟;W$yE̝=q }`]/(_1<;ӹMU"v3v-KkؗAv͊ݹk$|LDSQ)GtFT@QK>0vZ1„$>O;!w,mN' n̎O"Jtn/`֟{26Qz4b6@P+F)nݺ?0x`z=z`0\q,r%p8y먔4Kg\:RoD*xBJHHig(Ġ % /Og0nB^e*&؅QEdk1^_Vr].yRլX"\fXa}XXGk+EA.mFC@@@`0 dϞ=ر͆?cؼy3vӉrU*9A.!*nHJK:mLpPΡ8KӣZUJwD!N}"b5tXNs9^S+<,,HS&n9a#/#\&3 ,)m ROQx'Ȓ:A]N;jKn0m݄.c2;ذj1|ʚvUHGԊ,;wt@W7gcCϖ%?ÂQSI݈6X9q#dB-@Κj#-jX0okӼϽ"i4F?=ajc/ׯ}oׯf]ݷ*v%ֈb;V8,+`ݾҿ)=,MkA+[pY3I )nCe雌}QN,㓆H+yy᳣4NZH_%vg $_XXjh4ҪU+4k Ӊ(+y{t1;냲ux-dLoعtĴNY&cG扗1Kתׂ;璷x'x՜r(o̐ѽP~{gx +[f1cC{\:HӦMSRRR.#v&;7s7:8C^I's_x L N<^/˘9s&cǎeҤItNWQB//5K\9={R1mff&\XVT*O|>5HdR)ft+f;B@R"(.]p᧶"UVY*u=,BSκK/rCʣ V^M\\^kXa-= \avNGz STbcc+$IzV+jUWp].#^>OmꭝZr@wԫ:wսOWh _nݺ:up$bhWRY?=gq8Kh5-:AUyvMțHT%UUy #ѫp{DMbV~o_^Squ"*ՉT'*#] \$''3p@4iV%!!Kiӆ۷ӦMz%_?ݗD<7YV|^MȗgnS|Uq{x!B})bBZ]I[aW=$1zhRRR! |qƱj*vMΝ/z՝Mur!aMr1xAOejۥ֫+oy7_[v%] \hZГ~rywZtes>ïvbßQlef#܎vIDk\H77mG wf \mUhkgٶ[KV!˽z=uFejHb<[i+`:MiYU*fJװ/Z0iHusoH4تԨݎ՟/qnqZEv$s wb<4A[fEaXy[[P TtւquZtBޚO | ԐjANDF24;#71F */$Q2wäG^:k/$@ .d/PYgwp:-kUp M,¬B\p-ljyqLz K"ٸImiPpY,8uge-8n?Bm64nc\c6qt.-ڝSsf2&4$D[ٳ2Tˡ-P5zh=y8lm4oC]mDş͚3N@p;jKn0mV2&y= 3kʧɪK#&Oe jHJ@]=B<ؠV}Y>٧i9sTʐGAZ2tX"'fϽ2<:xny=Sxo>L@G0I47!!i,EmVi>up$y igO IDAT~ Kbءde@pّMLQ{kŻ2h@ڼL?>& @ \[oX+^;s,egI4y@ .k"6/f/gض3@ Ȅ>@ u@ 6Pر}o#?%{[ʖE]!m"n?dU1cU @puRPLƩۣȄqUS8naN-{$z~ヷ%v󰚝B_ڌ<<c9 m)8QHPy2PVAۛsH7b b~Å 1\?RP,[|ZHXnܗ`\ǐ%?$پ+gl,\l@Ȋ\Ȏpԙü,Q+ԟdMq۶XVsVg}/[~;L}|a0Q~d\NTd+8vA+ I[Iάiߓݏ_ɓyO206Scrj-ԅ*mz2Ebg&vŀ@py=v8MGeMoمۺܛ"PWU#>`0mo|{؞i Xs–%[Μ9up#΀6Jsuf{`ٖ ~<.<ah{&6ˣc\}cPV%i6u>Hf]& #9/gI3N|nFpkʶpuԴ.ze{qW=o+wfKT$|z*!u#01l̓ҩ$\zaW(>#NInCÿn_˻nA }8jrM]Aʼnç`δmmɪ2a a eXvla`8zF3}K&zMQ2v-" S{>?n?_m)?$@Mp]fzĜ*m[v!w7 [yoa6}c%۩T/b2rzUwVkV^={?[ki6 VVmZ{zBlg( Be8%,ܽ RГ;XҌ:sxۧLk#_{ \&`&U'jtG;v4MKZD6V$14!p LllcÇުX2 1I(C^߽hz <CBrx^޶M LV}8=]Srm['1Dn8E?|. x=MC4A"mt;H%M<:ټ?ꭶ%-Phӭ;υqwq8%؟B`pFu/#h)6nQ]c[FM/>ڋ\\$ZjgՋz2B<$_ٶǬP5%H-ۊhUvMS憖hAήVsJ[cاxnLNFƥޯmee5(c6A$6PbL^@QVB;ѪeZTkH!_uQQnM(m;7¤R߅l˰6֥+AQM3FT.+65~Zt#${kѻC=4B"0JuVmypW 뢺vs_m?Ճ;ڇTL'=u5w'f>VI co(@wD`eVUT -t~RLQ AX-Ƅ4d4G0`Js_ǜ[so"4 i T`8Vw׋ٶʧAU3Z*NUPw7"VP۴VF}GU{)NZhJE w\e_Wuދk{wkAlkY (wB 5 df# L&gJ rf{93..|E;Ysi}!eeC,j_[@|.a S!X2Me{S1f I:3)+km47A{<*6{MU%F +AĆ#TTm#FR߳IZ UfEifFAsgHk زs>x;ôpF>E,+`C@!V,=el-D(Z1j`|â$ wJ2.P ~2,̧H؎*Ψ;2t|Ou] *wbkPד\5䔅ռ-!̱Id|y˴Fx/Gr n/qt|+0T[Ԗ0dĴ^Nl0Lzǁu G7[n@c;K^J*jv9N\vnh^]"\Tu2')ZsA-:'w%yTEߌIeB^xu* \8tj^hhhK}'f|{k\y+l`un$HΤ?ϽovLe(ڷ [2O&H??9ov^šr@MG.,J." Rz0ɴYSB5õCHn_xqv+gRTl5-ygYnV;Kp؇#;ctKVLXĜsr|2K>uТd0,G6>l+.^/hY>˲u??'gD2r$3/+:X_k6l|[r& Wq-mZtXlk.9'`?x^&j3x׽yB۩9Ƿ??cIX5Wutv{o䍾iS)T~j*c(;ÜY%UKNl?lXA.3K7g?仂6<~-|+,/<>?Kt=1(5 0Iy/OJF{P\wùݔϋ."nXd8}>܆@e[X)A[bn.9>⿙>^xJ1a׻gMI}!7]qx1o,=ݸkBM΋bTČG /kюG96z"־2k:^ C3/ģwss3*j7H&K"7 _rT-k=Η/G'_qV" <̘1'*v-fR^ta' 6RH\: '[I ng7nò{9!6/Ez]/ 8 PA~mpTդ|"6{з=bfgҧWK\eyrЌ^_rh`ÖԎv|v—$BL˒齆EXy=C;'`%\Oͼ?T^ԪFy+o07NFA1XRh":lK* z{:HYq<-pMfdz/4#,' '`OOe?S4P &he[2-FKȰCewm82R!5;Vܒ"2)6”,Ô SrH=-?eTptN0,ӖUz•5ͻ?TԪl.}.}HrV0rux#TeUw}WD~nu=ʤ;Ƀ|?ޢMmgz&nQ5@x{\RYܟ"?-B^k3 F e[ҭ,ڑ)i؈\v^,%ܺfzƔ yzCKɠ%/F\gUP~3LgdzkK׳w]HYҖk%B)Y@:7}*/ʞ20;Roe}(G=9ʾ+"?FpuY]~u|n%wFV,G^LQ3w=Ҹ6EhCU e[7/"7k8gTF*Y=Z7RSy!KkJhk- Y/BuQը6/|okwIF^# S"ڟi؈N<9{{˯FNop*r6Q]s؃ӯ<{Hz.m>pd ^a/RpƜɇ On GImr\wKzQ\Ba}/mZ/NTz]1϶.y}#ox?:nCh|ر#67g׮]۷LN]DDN](Ӿ}{˛d4{"V]_SJtЁm۶""rj]cϱG `'Ɱ4͈mml蛦SHzm(H[k]'s$ƶ!z4y penfQ|,,;@JBK F-}:A]DD=Z2]n*H. gQzsR1T~p_""=4dk>Z@G (<ʚO62 ʗYۂը@#%RC[iR׭B*܈4xը69v7 [^޽$01+،? ;2}m'Qw u񜈈4{Uݡom @p h#j=qlVm]O6`3ugy- HIsyHݼ}cǘ {?]Q~ vi6#vV# =ܡNXFՍRo.[rӯ^[uh#a@chUGǦ+5jwp{3exizWm;Gi-?ȆR=i7đ( ,Y!boM$-ʕDJ"/E^?iUmGD;ш]DD~{h!coU Xߘl? _[_c@׶{0],,!3Z 5pypU+('$zGk|쭊 xioC=9'12;+ =ϒmgMPtڦuwڱ ݹh%f|J%X1/F#Q`:2a*Xx&v9vi6sȆkP-Rn\3Ϙ#F'""'ݡCرcFMiC*hn>cf| IDATl?e`P_˙BeQyvb7 XUousp:tY7n Cfffh"EDGѡW XLg`0ŤƵa9DB\<%G;[3:Vw Xtw{@>!H @ FzmVS;@J|llHJ ~Yqݙ.Z#`-tpE*^DDMK,`ݽ-l.y Markdown

Markdown

The Markdown plugin in action

About

This plugin provides a real-time preview of rendered Markdown, that is, Markdown converted to HTML and inserted into an HTML template and loaded into a WebKit view.

Features

  • Allows placing the preview in the sidebar or message window areas
  • Updates the preview on-the-fly as you type, automatically.
  • Allows simple customization of fonts and colours and complete control with custom template files.

Usage

The preview is active by default for all documents with a Markdown filetype set. To set a document's filetype, choose from the menus:

Choosing Document->Set Filetype->Markup Languages->Markdown source file

Other than that the operation should be fully automatic. Use the Plugin Preferences mechanism to customize some settings as described below.

For more information on Markdown syntax, read the Markdown Syntax Documentation.

Preferences

The Markdown plugin's preferences GUI

Using Geany's normal Plugin Preferences mechanism, you can customize some important settings related to the Markdown preview. The preferences dialog allows changing the following settings:

Name Description
Position The area of Geany's UI to put the preview view, currently either in the sidebar or message window (bottom) areas.
Font The regular body font of the preview.
Code Font The font to use for the code tags (monospaced) font of the preview.
BG Color The preview's background color.
FG Color The preview's foreground (text) color.
Template The file containing the HTML template for the preview.

There's two ways to access the Plugin settings, one is through the Plugin Manager using the buttons highlighted below:

The Plugin Manager dialog showing the Help and Preferences buttons.

Clicking the Help button opens this document in HTML format in your web browser. The other way to access the plugin's preferences is through the Edit menu as pictured below:

Accessing plugin preferences from the Edit menu.

Custom Templates

You can provide a custom HTML template file which contains the substitution strings that get replaced at run-time. The following substitution strings are available:

Substitution String Description
@@markdown@@ The most important substitution string and gets replaced with the HTML generated from the editor's Markdown buffer. Not having this one in the template makes the plugin completely useless.
@@font_name@@ The normal font family.
@@code_font_name@@ The code/monospace font family.
@@font_point_size@@ The size in points of the normal font.
@@code_font_point_size@@ The size in points of the code/monospace font.
@@bg_color@@ The background color in hex/HTML color notation.
@@fg_color@@ The foreground (text) color in hex/HTML color notation.

The default template file (at the time of writing) contains the following HTML code:

<html>
  <head>
    <style type="text/css">
      body {
        font-family: @@font_name@@;
        font-size: @@font_point_size@@pt;
        background-color: @@bg_color@@;
        color: @@fg_color@@;
      }
      code {
        font-family: @@code_font_name@@;
        font-size: @@code_font_point_size@@pt;
      }
    </style>
  </head>
  <body>
    @@markdown@@
  </body>
</html>

As you can see it's just normal HTML/CSS and you can tweak it to make the preview contents look exactly how you want. The preview view is a WebKit browser, the same one used by Google's Chrome Browser and Apple's Safari Browser as well as numerous others, and it supports many modern features such as HTML5 and CSS3 support (at least partially).

If you mess up the default template.html file, just delete it and the default one will be recreated the next time the Markdown plugin is reloaded (for example when Geany restarts).

Requirements

The plugin depends on the following libraries:

License

The Markdown plugin is licensed under the GNU General Public License, version 2. For the full text of the license, please visit http://www.gnu.org/licenses/gpl-2.0.html. The GPL license covers all code and files not in the discount directory.

All code inside the discount directory is under a BSD-style license (see the discount/COPYRIGHT file) and all contributions to this code will remain under this license. This will make it easier to integrate improvements to Discount back upstream if it ever makes sense. So far the only changes are superficial to allow it to build with the Geany-Plugins build system and to prevent some compiler warnings.

Authors

The Geany Markdown plugin is written and maintained by:

Matthew Brush <matt(at)geany(dot)org>

The plugin includes the Discount Markdown library, developed by:

David Loren Parsons <http://www.pell.portland.or.us/~orc>

Contact

You can email me at matt(at)geany(dot)org, or find me on the #geany IRC channel on FreeNode, with the nickname codebrainz.

geany-plugins-1.27/markdown/COPYING0000644000175000017500000004325412671261352017405 0ustar00frlanfrlan00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. geany-plugins-1.27/markdown/ChangeLog0000644000175000017500000000000012671261352020102 0ustar00frlanfrlan00000000000000geany-plugins-1.27/markdown/src/0000755000175000017500000000000012671261443017132 5ustar00frlanfrlan00000000000000geany-plugins-1.27/markdown/src/Makefile.in0000644000175000017500000010207212671261402021174 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @MARKDOWN_PEG_MARKDOWN_TRUE@am__append_1 = -DFULL_PRICE -I$(top_srcdir)/markdown/peg-markdown @MARKDOWN_PEG_MARKDOWN_TRUE@am__append_2 = $(top_builddir)/markdown/peg-markdown/libpegmarkdown.la @MARKDOWN_PEG_MARKDOWN_FALSE@am__append_3 = $(LIBMARKDOWN_CFLAGS) @MARKDOWN_PEG_MARKDOWN_FALSE@am__append_4 = $(LIBMARKDOWN_LIBS) subdir = markdown/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(geanypluginsdir)" LTLIBRARIES = $(geanyplugins_LTLIBRARIES) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) @MARKDOWN_PEG_MARKDOWN_FALSE@am__DEPENDENCIES_3 = \ @MARKDOWN_PEG_MARKDOWN_FALSE@ $(am__DEPENDENCIES_1) markdown_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__append_2) $(am__DEPENDENCIES_3) am_markdown_la_OBJECTS = markdown_la-conf.lo markdown_la-plugin.lo \ markdown_la-viewer.lo markdown_la-markdown-gtk-compat.lo markdown_la_OBJECTS = $(am_markdown_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = markdown_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(markdown_la_CFLAGS) \ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(markdown_la_SOURCES) DIST_SOURCES = $(markdown_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac HEADERS = $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/cppcheck.mk \ $(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @MINGW_FALSE@GP_PREFIX = $(prefix) @MINGW_TRUE@GP_PREFIX = . @MINGW_FALSE@GP_DATADIR = $(datadir) @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR) @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale @MINGW_FALSE@GP_DOCDIR = $(docdir) @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE) @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir) @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE) @MINGW_FALSE@GP_LIBDIR = $(libdir) @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir) @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE) LOCAL_AM_CFLAGS = \ -DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \ -DPREFIX=\""$(GP_PREFIX)"\" \ -DDOCDIR=\""$(GP_DOCDIR)"\" \ -DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \ -DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \ -DLIBDIR=\""$(GP_LIBDIR)"\" \ -DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \ -DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \ -DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \ -DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \ -DPLUGIN="\"$(plugin)\"" AM_CFLAGS = \ ${LOCAL_AM_CFLAGS} \ $(GEANY_CFLAGS) \ $(GP_CFLAGS) AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS) COMMONLIBS = \ $(GEANY_LIBS) \ $(INTLLIBS) plugin = markdown geanyplugins_LTLIBRARIES = markdown.la markdown_la_SOURCES = \ conf.c \ plugin.c \ viewer.c \ markdown-gtk-compat.c noinst_HEADERS = \ conf.h \ viewer.h \ markdown-gtk-compat.h markdown_la_CFLAGS = $(AM_CFLAGS) $(MARKDOWN_CFLAGS) \ -DMARKDOWN_DATA_DIR=PLUGINDATADIR \ -DMARKDOWN_DOC_DIR=PLUGINDOCDIR \ -DMARKDOWN_HELP_FILE=\"$(GP_DOCDIR)/$(plugin)/html/help.html\" \ $(am__append_1) $(am__append_3) markdown_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"Markdown\" markdown_la_LIBADD = $(COMMONLIBS) $(MARKDOWN_LIBS) $(am__append_2) \ $(am__append_4) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign markdown/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign markdown/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \ } uninstall-geanypluginsLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \ done clean-geanypluginsLTLIBRARIES: -test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES) @list='$(geanyplugins_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } markdown.la: $(markdown_la_OBJECTS) $(markdown_la_DEPENDENCIES) $(EXTRA_markdown_la_DEPENDENCIES) $(AM_V_CCLD)$(markdown_la_LINK) -rpath $(geanypluginsdir) $(markdown_la_OBJECTS) $(markdown_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markdown_la-conf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markdown_la-markdown-gtk-compat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markdown_la-plugin.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markdown_la-viewer.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< markdown_la-conf.lo: conf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(markdown_la_CPPFLAGS) $(CPPFLAGS) $(markdown_la_CFLAGS) $(CFLAGS) -MT markdown_la-conf.lo -MD -MP -MF $(DEPDIR)/markdown_la-conf.Tpo -c -o markdown_la-conf.lo `test -f 'conf.c' || echo '$(srcdir)/'`conf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/markdown_la-conf.Tpo $(DEPDIR)/markdown_la-conf.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='conf.c' object='markdown_la-conf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(markdown_la_CPPFLAGS) $(CPPFLAGS) $(markdown_la_CFLAGS) $(CFLAGS) -c -o markdown_la-conf.lo `test -f 'conf.c' || echo '$(srcdir)/'`conf.c markdown_la-plugin.lo: plugin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(markdown_la_CPPFLAGS) $(CPPFLAGS) $(markdown_la_CFLAGS) $(CFLAGS) -MT markdown_la-plugin.lo -MD -MP -MF $(DEPDIR)/markdown_la-plugin.Tpo -c -o markdown_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/markdown_la-plugin.Tpo $(DEPDIR)/markdown_la-plugin.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugin.c' object='markdown_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(markdown_la_CPPFLAGS) $(CPPFLAGS) $(markdown_la_CFLAGS) $(CFLAGS) -c -o markdown_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c markdown_la-viewer.lo: viewer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(markdown_la_CPPFLAGS) $(CPPFLAGS) $(markdown_la_CFLAGS) $(CFLAGS) -MT markdown_la-viewer.lo -MD -MP -MF $(DEPDIR)/markdown_la-viewer.Tpo -c -o markdown_la-viewer.lo `test -f 'viewer.c' || echo '$(srcdir)/'`viewer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/markdown_la-viewer.Tpo $(DEPDIR)/markdown_la-viewer.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='viewer.c' object='markdown_la-viewer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(markdown_la_CPPFLAGS) $(CPPFLAGS) $(markdown_la_CFLAGS) $(CFLAGS) -c -o markdown_la-viewer.lo `test -f 'viewer.c' || echo '$(srcdir)/'`viewer.c markdown_la-markdown-gtk-compat.lo: markdown-gtk-compat.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(markdown_la_CPPFLAGS) $(CPPFLAGS) $(markdown_la_CFLAGS) $(CFLAGS) -MT markdown_la-markdown-gtk-compat.lo -MD -MP -MF $(DEPDIR)/markdown_la-markdown-gtk-compat.Tpo -c -o markdown_la-markdown-gtk-compat.lo `test -f 'markdown-gtk-compat.c' || echo '$(srcdir)/'`markdown-gtk-compat.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/markdown_la-markdown-gtk-compat.Tpo $(DEPDIR)/markdown_la-markdown-gtk-compat.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='markdown-gtk-compat.c' object='markdown_la-markdown-gtk-compat.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(markdown_la_CPPFLAGS) $(CPPFLAGS) $(markdown_la_CFLAGS) $(CFLAGS) -c -o markdown_la-markdown-gtk-compat.lo `test -f 'markdown-gtk-compat.c' || echo '$(srcdir)/'`markdown-gtk-compat.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @HAVE_CPPCHECK_FALSE@check-local: check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(geanypluginsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-geanypluginsLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-geanypluginsLTLIBRARIES .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \ clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-geanypluginsLTLIBRARIES \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-geanypluginsLTLIBRARIES .PRECIOUS: Makefile @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir) @HAVE_CPPCHECK_TRUE@ $(CPPCHECK) \ @HAVE_CPPCHECK_TRUE@ -q --template gcc --error-exitcode=2 \ @HAVE_CPPCHECK_TRUE@ $(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \ @HAVE_CPPCHECK_TRUE@ $(srcdir) @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/markdown/src/markdown-gtk-compat.h0000644000175000017500000000422412671261352023172 0ustar00frlanfrlan00000000000000/* * markdown-gtk-compat.h - Part of the Geany Markdown plugin * * Copyright 2012 Matthew Brush * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * */ #ifndef MARKDOWN_GTK_COMPAT_H_ #define MARKDOWN_GTK_COMPAT_H_ #if !GTK_CHECK_VERSION(3, 4, 0) # define MarkdownGtkTable GtkTable # define MARKDOWN_GTK_TABLE GTK_TABLE # define markdown_gtk_table_set_row_spacing(table, spacing) \ gtk_table_set_row_spacings(table, spacing) # define markdown_gtk_table_set_col_spacing(table, spacing) \ gtk_table_set_col_spacings(table, spacing) #else # define MarkdownGtkTable GtkGrid # define MARKDOWN_GTK_TABLE GTK_GRID # define markdown_gtk_table_set_row_spacing(table, spacing) \ gtk_grid_set_row_spacing(table, spacing) # define markdown_gtk_table_set_col_spacing(table, spacing) \ gtk_grid_set_column_spacing(table, spacing) #endif typedef struct { guint8 red; guint8 green; guint8 blue; } MarkdownColor; GtkWidget *markdown_gtk_table_new(guint rows, guint columns, gboolean homogeneous); void markdown_gtk_table_attach(MarkdownGtkTable *table, GtkWidget *child, guint left_attach, guint right_attach, guint top_attach, guint bottom_attach, GtkAttachOptions xoptions, GtkAttachOptions yoptions); GtkWidget *markdown_gtk_color_button_new_with_color(MarkdownColor *color); gboolean markdown_color_parse(const gchar *spec, MarkdownColor *color); void markdown_gtk_color_button_get_color(GtkColorButton *button, MarkdownColor *color); #endif /* MARKDOWN_GTK_COMPAT_H_ */ geany-plugins-1.27/markdown/src/viewer.h0000644000175000017500000000427712671261352020615 0ustar00frlanfrlan00000000000000/* * viewer.h - Part of the Geany Markdown plugin * * Copyright 2012 Matthew Brush * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #ifndef MARKDOWN_VIEWER_H #define MARKDOWN_VIEWER_H 1 #include #include G_BEGIN_DECLS #include "conf.h" #define MARKDOWN_TYPE_VIEWER (markdown_viewer_get_type ()) #define MARKDOWN_VIEWER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARKDOWN_TYPE_VIEWER, MarkdownViewer)) #define MARKDOWN_VIEWER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARKDOWN_TYPE_VIEWER, MarkdownViewerClass)) #define MARKDOWN_IS_VIEWER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARKDOWN_TYPE_VIEWER)) #define MARKDOWN_IS_VIEWER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARKDOWN_TYPE_VIEWER)) #define MARKDOWN_VIEWER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARKDOWN_TYPE_VIEWER, MarkdownViewerClass)) typedef struct _MarkdownViewer MarkdownViewer; typedef struct _MarkdownViewerClass MarkdownViewerClass; typedef struct _MarkdownViewerPrivate MarkdownViewerPrivate; struct _MarkdownViewer { WebKitWebView parent; MarkdownViewerPrivate *priv; }; struct _MarkdownViewerClass { WebKitWebViewClass parent_class; }; GType markdown_viewer_get_type(void); GtkWidget *markdown_viewer_new(MarkdownConfig *conf); void markdown_viewer_set_markdown(MarkdownViewer *self, const gchar *text, const gchar *encoding); void markdown_viewer_queue_update(MarkdownViewer *self); G_END_DECLS #endif /* __MARKDOWNVIEWER_H__ */ geany-plugins-1.27/markdown/src/viewer.c0000644000175000017500000002707412671261352020610 0ustar00frlanfrlan00000000000000/* * viewer.c - Part of the Geany Markdown plugin * * Copyright 2012 Matthew Brush * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #include "config.h" #include #include #include #ifndef FULL_PRICE # include #else # include "markdown_lib.h" #endif #include "viewer.h" #include "conf.h" #define MD_ENC_MAX 256 enum { PROP_0, PROP_CONFIG, PROP_TEXT, PROP_ENCODING, N_PROPERTIES }; struct _MarkdownViewerPrivate { MarkdownConfig *conf; gulong load_handle; guint update_handle; gulong prop_handle; GString *text; gchar enc[MD_ENC_MAX]; gdouble vscroll_pos; gdouble hscroll_pos; }; static void markdown_viewer_finalize (GObject *object); static GParamSpec *viewer_props[N_PROPERTIES] = { NULL }; G_DEFINE_TYPE (MarkdownViewer, markdown_viewer, WEBKIT_TYPE_WEB_VIEW) static GString * update_internal_text(MarkdownViewer *self, const gchar *val) { if (!self->priv->text) { self->priv->text = g_string_new(val); } else { gsize len = strlen(val); g_string_overwrite_len(self->priv->text, 0, val, len); g_string_truncate(self->priv->text, len); } /* TODO: queue re-draw */ return self->priv->text; } static void markdown_viewer_set_property(GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec) { MarkdownViewer *self = MARKDOWN_VIEWER(obj); switch (prop_id) { case PROP_CONFIG: if (self->priv->conf) { g_object_unref(self->priv->conf); } self->priv->conf = MARKDOWN_CONFIG(g_value_get_object(value)); break; case PROP_TEXT: update_internal_text(self, g_value_get_string(value)); break; case PROP_ENCODING: strncpy(self->priv->enc, g_value_get_string(value), MD_ENC_MAX); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); break; } } static void markdown_viewer_get_property(GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec) { MarkdownViewer *self = MARKDOWN_VIEWER(obj); switch (prop_id) { case PROP_CONFIG: g_value_set_object(value, self->priv->conf); break; case PROP_TEXT: g_value_set_string(value, self->priv->text->str); break; case PROP_ENCODING: g_value_set_string(value, self->priv->enc); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); break; } } static void markdown_viewer_class_init(MarkdownViewerClass *klass) { GObjectClass *g_object_class; guint i; g_object_class = G_OBJECT_CLASS(klass); g_object_class->set_property = markdown_viewer_set_property; g_object_class->get_property = markdown_viewer_get_property; g_object_class->finalize = markdown_viewer_finalize; g_type_class_add_private((gpointer)klass, sizeof(MarkdownViewerPrivate)); viewer_props[PROP_CONFIG] = g_param_spec_object("config", "Config", "MarkdownConfig object", MARKDOWN_TYPE_CONFIG, G_PARAM_READWRITE | G_PARAM_CONSTRUCT); viewer_props[PROP_TEXT] = g_param_spec_string("text", "MarkdownText", "The Markdown text to render", "", G_PARAM_READWRITE); viewer_props[PROP_ENCODING] = g_param_spec_string("encoding", "TextEncoding", "The encoding of the Markdown text", "UTF-8", G_PARAM_READWRITE); for (i = 1 /* skip PROP_0 */; i < N_PROPERTIES; i++) { g_object_class_install_property(g_object_class, i, viewer_props[i]); } } static void markdown_viewer_finalize(GObject *object) { MarkdownViewer *self; g_return_if_fail(MARKDOWN_IS_VIEWER(object)); self = MARKDOWN_VIEWER(object); if (self->priv->conf) { g_signal_handler_disconnect(self->priv->conf, self->priv->prop_handle); g_object_unref(self->priv->conf); } if (self->priv->text) { g_string_free(self->priv->text, TRUE); } G_OBJECT_CLASS(markdown_viewer_parent_class)->finalize(object); } static void markdown_viewer_init(MarkdownViewer *self) { self->priv = G_TYPE_INSTANCE_GET_PRIVATE(self, MARKDOWN_TYPE_VIEWER, MarkdownViewerPrivate); } GtkWidget * markdown_viewer_new(MarkdownConfig *conf) { MarkdownViewer *self; self = g_object_new(MARKDOWN_TYPE_VIEWER, "config", conf, NULL); /* Cause the view to be updated whenever the config changes. */ self->priv->prop_handle = g_signal_connect_swapped(self->priv->conf, "notify", G_CALLBACK(markdown_viewer_queue_update), self); return GTK_WIDGET(self); } static void replace_all(MarkdownViewer *self, GString *haystack, const gchar *needle, const gchar *replacement) { gchar *ptr; gsize needle_len = strlen(needle); /* For each occurrence of needle in haystack */ while ((ptr = strstr(haystack->str, needle)) != NULL) { goffset offset = ptr - haystack->str; g_string_erase(haystack, offset, needle_len); g_string_insert(haystack, offset, replacement); } } static gchar * template_replace(MarkdownViewer *self, const gchar *html_text) { MarkdownConfigViewPos view_pos; guint font_point_size = 0, code_font_point_size = 0; gchar *font_name = NULL, *code_font_name = NULL; gchar *bg_color = NULL, *fg_color = NULL; gchar font_pt_size[10] = { 0 }; gchar code_font_pt_size[10] = { 0 }; GString *tmpl; { /* Read all the configuration settings into strings */ g_object_get(self->priv->conf, "view-pos", &view_pos, "font-name", &font_name, "code-font-name", &code_font_name, "font-point-size", &font_point_size, "code-font-point-size", &code_font_point_size, "bg-color", &bg_color, "fg-color", &fg_color, NULL); g_snprintf(font_pt_size, 10, "%d", font_point_size); g_snprintf(code_font_pt_size, 10, "%d", code_font_point_size); } /* Load the template into a GString to be modified in place */ tmpl = g_string_new(markdown_config_get_template_text(self->priv->conf)); replace_all(self, tmpl, "@@font_name@@", font_name); replace_all(self, tmpl, "@@code_font_name@@", code_font_name); replace_all(self, tmpl, "@@font_point_size@@", font_pt_size); replace_all(self, tmpl, "@@code_font_point_size@@", code_font_pt_size); replace_all(self, tmpl, "@@bg_color@@", bg_color); replace_all(self, tmpl, "@@fg_color@@", fg_color); replace_all(self, tmpl, "@@markdown@@", html_text); g_free(font_name); g_free(code_font_name); g_free(bg_color); g_free(fg_color); return g_string_free(tmpl, FALSE); } static gboolean push_scroll_pos(MarkdownViewer *self) { GtkWidget *parent; gboolean pushed = FALSE; parent = gtk_widget_get_parent(GTK_WIDGET(self)); if (GTK_IS_SCROLLED_WINDOW(parent)) { GtkAdjustment *adj; adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(parent)); /* Another hack to try and keep scroll position from * resetting to top while typing, just don't store the new * scroll positions if they're 0. */ if (gtk_adjustment_get_value(adj) != 0) self->priv->vscroll_pos = gtk_adjustment_get_value(adj); adj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(parent)); if (gtk_adjustment_get_value(adj) != 0) self->priv->hscroll_pos = gtk_adjustment_get_value(adj); pushed = TRUE; } return pushed; } static gboolean pop_scroll_pos(MarkdownViewer *self) { GtkWidget *parent; gboolean popped = FALSE; /* first process any pending events, like drawing of the webview */ while (gtk_events_pending()) { gtk_main_iteration(); } parent = gtk_widget_get_parent(GTK_WIDGET(self)); if (GTK_IS_SCROLLED_WINDOW(parent)) { GtkAdjustment *adj; adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(parent)); gtk_adjustment_set_value(adj, self->priv->vscroll_pos); adj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(parent)); gtk_adjustment_set_value(adj, self->priv->hscroll_pos); /* process any new events, like making sure the new scroll position * takes effect. */ while (gtk_events_pending()) { gtk_main_iteration(); } popped = TRUE; } return popped; } static void on_webview_load_status_notify(WebKitWebView *view, GParamSpec *pspec, MarkdownViewer *self) { WebKitLoadStatus load_status; g_object_get(view, "load-status", &load_status, NULL); /* When the webkit is done loading, reset the scroll position. */ if (load_status == WEBKIT_LOAD_FINISHED) { pop_scroll_pos(self); } } static gchar * markdown_viewer_get_html(MarkdownViewer *self) { gchar *md_as_html, *html = NULL; /* Ensure the internal buffer is created */ if (!self->priv->text) { update_internal_text(self, ""); } { #ifndef FULL_PRICE /* this version using Discount markdown library * is faster but may invoke endless discussions * about the GPL and licenses similar to (but the * same as) the old BSD 4-clause license being * incompatible */ MMIOT *doc; doc = mkd_string(self->priv->text->str, self->priv->text->len, 0); mkd_compile(doc, 0); if (mkd_document(doc, &md_as_html) != EOF) { html = template_replace(self, md_as_html); } mkd_cleanup(doc); #else /* this version is slower but is unquestionably GPL-friendly * and the lib also has much more readable/maintainable code */ md_as_html = markdown_to_string(self->priv->text->str, 0, HTML_FORMAT); if (md_as_html) { html = template_replace(self, md_as_html); g_free(md_as_html); /* TODO: become 100% convinced this wasn't * malloc()'d outside of GLIB functions with * libc allocator (probably same anyway). */ } #endif } return html; } static gboolean markdown_viewer_update_view(MarkdownViewer *self) { gchar *html = markdown_viewer_get_html(self); push_scroll_pos(self); if (html) { static const gchar *base_uri = "file://."; /* Connect a signal handler (only needed once) to restore the scroll * position once the webview is reloaded. */ if (self->priv->load_handle == 0) { self->priv->load_handle = g_signal_connect_swapped(WEBKIT_WEB_VIEW(self), "notify::load-status", G_CALLBACK(on_webview_load_status_notify), self); } webkit_web_view_load_string(WEBKIT_WEB_VIEW(self), html, "text/html", self->priv->enc, base_uri); g_free(html); } if (self->priv->update_handle != 0) { g_source_remove(self->priv->update_handle); } self->priv->update_handle = 0; return FALSE; /* When used as an idle handler, says to remove the source */ } void markdown_viewer_queue_update(MarkdownViewer *self) { g_return_if_fail(MARKDOWN_IS_VIEWER(self)); if (self->priv->update_handle == 0) { self->priv->update_handle = g_idle_add( (GSourceFunc) markdown_viewer_update_view, self); } } void markdown_viewer_set_markdown(MarkdownViewer *self, const gchar *text, const gchar *encoding) { g_return_if_fail(MARKDOWN_IS_VIEWER(self)); g_object_set(self, "text", text, "encoding", encoding, NULL); markdown_viewer_queue_update(self); } geany-plugins-1.27/markdown/src/Makefile.am0000644000175000017500000000156612671261352021175 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk plugin = markdown geanyplugins_LTLIBRARIES = markdown.la markdown_la_SOURCES = \ conf.c \ plugin.c \ viewer.c \ markdown-gtk-compat.c noinst_HEADERS = \ conf.h \ viewer.h \ markdown-gtk-compat.h markdown_la_CFLAGS = \ $(AM_CFLAGS) \ $(MARKDOWN_CFLAGS) \ -DMARKDOWN_DATA_DIR=PLUGINDATADIR \ -DMARKDOWN_DOC_DIR=PLUGINDOCDIR \ -DMARKDOWN_HELP_FILE=\"$(GP_DOCDIR)/$(plugin)/html/help.html\" markdown_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"Markdown\" markdown_la_LIBADD = \ $(COMMONLIBS) \ $(MARKDOWN_LIBS) if MARKDOWN_PEG_MARKDOWN markdown_la_CFLAGS += -DFULL_PRICE -I$(top_srcdir)/markdown/peg-markdown markdown_la_LIBADD += $(top_builddir)/markdown/peg-markdown/libpegmarkdown.la else markdown_la_CFLAGS += $(LIBMARKDOWN_CFLAGS) markdown_la_LIBADD += $(LIBMARKDOWN_LIBS) endif include $(top_srcdir)/build/cppcheck.mk geany-plugins-1.27/markdown/src/conf.h0000644000175000017500000000511312671261352020227 0ustar00frlanfrlan00000000000000/* * config.h - Part of the Geany Markdown plugin * * Copyright 2012 Matthew Brush * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * */ #ifndef MARKDOWN_CONF_H #define MARKDOWN_CONF_H 1 #include #include G_BEGIN_DECLS #define MARKDOWN_TYPE_CONFIG (markdown_config_get_type ()) #define MARKDOWN_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MARKDOWN_TYPE_CONFIG, MarkdownConfig)) #define MARKDOWN_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MARKDOWN_TYPE_CONFIG, MarkdownConfigClass)) #define MARKDOWN_IS_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MARKDOWN_TYPE_CONFIG)) #define MARKDOWN_IS_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MARKDOWN_TYPE_CONFIG)) #define MARKDOWN_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MARKDOWN_TYPE_CONFIG, MarkdownConfigClass)) typedef struct _MarkdownConfig MarkdownConfig; typedef struct _MarkdownConfigClass MarkdownConfigClass; typedef struct _MarkdownConfigPrivate MarkdownConfigPrivate; typedef enum { MARKDOWN_CONFIG_VIEW_POS_SIDEBAR=0, MARKDOWN_CONFIG_VIEW_POS_MSGWIN=1, MARKDOWN_CONFIG_VIEW_POS_MAX } MarkdownConfigViewPos; struct _MarkdownConfig { GObject parent; MarkdownConfigPrivate *priv; }; struct _MarkdownConfigClass { GObjectClass parent_class; }; GType markdown_config_get_type(void); MarkdownConfig *markdown_config_new(const gchar *filename); gboolean markdown_config_save(MarkdownConfig *conf); GtkWidget *markdown_config_gui(MarkdownConfig *conf, GtkDialog *dialog); const gchar *markdown_config_get_template_text(MarkdownConfig *conf); gchar *markdown_config_get_dirname(MarkdownConfig *conf); /* Property accessors */ MarkdownConfigViewPos markdown_config_get_view_pos(MarkdownConfig *conf); void markdown_config_set_view_pos(MarkdownConfig *conf, MarkdownConfigViewPos view_pos); G_END_DECLS #endif /* MARKDOWN_CONF_H */ geany-plugins-1.27/markdown/src/plugin.c0000644000175000017500000002101612671261352020573 0ustar00frlanfrlan00000000000000/* * plugin.c - Part of the Geany Markdown plugin * * Copyright 2012 Matthew Brush * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #include "config.h" #include #include "viewer.h" #include "conf.h" GeanyData *geany_data; GeanyPlugin *geany_plugin; PLUGIN_VERSION_CHECK(224) PLUGIN_SET_TRANSLATABLE_INFO(LOCALEDIR, GETTEXT_PACKAGE, "Markdown", _("Real-time Markdown preview"), "0.01", "Matthew Brush ") /* Should be defined by build system, this is just a fallback */ #ifndef MARKDOWN_DATA_DIR # define MARKDOWN_DATA_DIR "/usr/local/share/geany-plugins/markdown" #endif #ifndef MARKDOWN_DOC_DIR # define MARKDOWN_DOC_DIR "/usr/local/share/doc/geany-plugins/markdown" #endif #ifndef MARKDOWN_HELP_FILE # define MARKDOWN_HELP_FILE MARKDOWN_DOC_DIR "/html/help.html" #endif #define MARKDOWN_PREVIEW_LABEL _("Markdown Preview") /* Global data */ static MarkdownViewer *g_viewer = NULL; static GtkWidget *g_scrolled_win = NULL; /* Forward declarations */ static void update_markdown_viewer(MarkdownViewer *viewer); static gboolean on_editor_notify(GObject *obj, GeanyEditor *editor, SCNotification *notif, MarkdownViewer *viewer); static void on_document_signal(GObject *obj, GeanyDocument *doc, MarkdownViewer *viewer); static void on_document_filetype_set(GObject *obj, GeanyDocument *doc, GeanyFiletype *ft_old, MarkdownViewer *viewer); static void on_view_pos_notify(GObject *obj, GParamSpec *pspec, MarkdownViewer *viewer); /* Main plugin entry point on plugin load. */ void plugin_init(GeanyData *data) { gint page_num; gchar *conf_fn; MarkdownConfig *conf; MarkdownConfigViewPos view_pos; GtkWidget *viewer; GtkNotebook *nb; /* Setup the config object which is needed by the view. */ conf_fn = g_build_filename(geany->app->configdir, "plugins", "markdown", "markdown.conf", NULL); conf = markdown_config_new(conf_fn); g_free(conf_fn); viewer = markdown_viewer_new(conf); /* store as global for plugin_cleanup() */ g_viewer = MARKDOWN_VIEWER(viewer); view_pos = markdown_config_get_view_pos(conf); g_scrolled_win = gtk_scrolled_window_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(g_scrolled_win), viewer); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(g_scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); if (view_pos == MARKDOWN_CONFIG_VIEW_POS_MSGWIN) { nb = GTK_NOTEBOOK(geany->main_widgets->message_window_notebook); page_num = gtk_notebook_append_page(nb, g_scrolled_win, gtk_label_new(MARKDOWN_PREVIEW_LABEL)); } else { nb = GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook); page_num = gtk_notebook_append_page(nb, g_scrolled_win, gtk_label_new(MARKDOWN_PREVIEW_LABEL)); } gtk_widget_show_all(g_scrolled_win); gtk_notebook_set_current_page(nb, page_num); g_signal_connect(conf, "notify::view-pos", G_CALLBACK(on_view_pos_notify), viewer); #define MD_PSC(sig, cb) \ plugin_signal_connect(geany_plugin, NULL, (sig), TRUE, G_CALLBACK(cb), viewer) /* Geany takes care of disconnecting these for us when the plugin is unloaded, * the macro is just to make the code smaller/clearer. */ MD_PSC("editor-notify", on_editor_notify); MD_PSC("document-activate", on_document_signal); MD_PSC("document-filetype-set", on_document_filetype_set); MD_PSC("document-new", on_document_signal); MD_PSC("document-open", on_document_signal); MD_PSC("document-reload", on_document_signal); #undef MD_PSC /* Prevent segfault in plugin when it registers GTypes and gets unloaded * and when reloaded tries to re-register the GTypes. */ plugin_module_make_resident(geany_plugin); update_markdown_viewer(MARKDOWN_VIEWER(viewer)); } /* Cleanup resources on plugin unload. */ void plugin_cleanup(void) { gtk_widget_destroy(g_scrolled_win); } /* Called to show the preferences GUI. */ GtkWidget *plugin_configure(GtkDialog *dialog) { MarkdownConfig *conf = NULL; g_object_get(g_viewer, "config", &conf, NULL); return markdown_config_gui(conf, dialog); } /* Called to show the plugin's help */ void plugin_help(void) { #ifdef G_OS_WIN32 gchar *prefix = g_win32_get_package_installation_directory_of_module(NULL); #else gchar *prefix = NULL; #endif gchar *uri = g_strconcat("file://", prefix ? prefix : "", MARKDOWN_HELP_FILE, NULL); utils_open_browser(uri); g_free(uri); g_free(prefix); } /* All of the various signal handlers call this function to update the * MarkdownViewer on specific events. This causes a bunch of memory * allocations, re-compiles the Markdown to HTML, reformats the HTML * template, copies the HTML into the webview and causes it to (eventually) * be redrawn. Only call it when really needed, like when the scintilla * editor's text contents change and not on other editor events. */ static void update_markdown_viewer(MarkdownViewer *viewer) { GeanyDocument *doc = document_get_current(); if (DOC_VALID(doc) && g_strcmp0(doc->file_type->name, "Markdown") == 0) { gchar *text; text = (gchar*) scintilla_send_message(doc->editor->sci, SCI_GETCHARACTERPOINTER, 0, 0); markdown_viewer_set_markdown(viewer, text, doc->encoding); } else { markdown_viewer_set_markdown(viewer, _("The current document does not have a Markdown filetype."), "UTF-8"); } markdown_viewer_queue_update(viewer); } /* Return TRUE if event is a buffer modification that inserts or deletes * text and which caused a text changed length greater than 0. */ #define IS_MOD_NOTIF(nt) (nt->nmhdr.code == SCN_MODIFIED && \ nt->length > 0 && ( \ (nt->modificationType & SC_MOD_INSERTTEXT) || \ (nt->modificationType & SC_MOD_DELETETEXT))) /* Queue update of the markdown preview on editor text change. */ static gboolean on_editor_notify(GObject *obj, GeanyEditor *editor, SCNotification *notif, MarkdownViewer *viewer) { if (IS_MOD_NOTIF(notif)) { update_markdown_viewer(viewer); } return FALSE; /* Allow others to handle this event too */ } /* Queue update of the markdown preview on document signals (new, open, * activate, etc.) */ static void on_document_signal(GObject *obj, GeanyDocument *doc, MarkdownViewer *viewer) { update_markdown_viewer(viewer); } /* Queue update of the markdown preview when a document's filetype is set */ static void on_document_filetype_set(GObject *obj, GeanyDocument *doc, GeanyFiletype *ft_old, MarkdownViewer *viewer) { update_markdown_viewer(viewer); } /* Move the MarkdownViewer to the correct notebook when the view position * is changed. */ static void on_view_pos_notify(GObject *obj, GParamSpec *pspec, MarkdownViewer *viewer) { gint page_num; GtkNotebook *newnb; GtkNotebook *snb = GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook); GtkNotebook *mnb = GTK_NOTEBOOK(geany->main_widgets->message_window_notebook); MarkdownConfigViewPos view_pos; g_object_ref(g_scrolled_win); /* Prevent it from being destroyed */ /* Remove the tab from whichever notebook its in (sidebar or msgwin) */ page_num = gtk_notebook_page_num(snb, g_scrolled_win); if (page_num >= 0) { gtk_notebook_remove_page(snb, page_num); } else { page_num = gtk_notebook_page_num(mnb, g_scrolled_win); if (page_num >= 0) { gtk_notebook_remove_page(mnb, page_num); } else { g_warning("Unable to relocate the Markdown preview tab: not found"); } } /* Check the user preference to get the new notebook */ view_pos = markdown_config_get_view_pos(MARKDOWN_CONFIG(obj)); newnb = (view_pos == MARKDOWN_CONFIG_VIEW_POS_MSGWIN) ? mnb : snb; page_num = gtk_notebook_append_page(newnb, g_scrolled_win, gtk_label_new(MARKDOWN_PREVIEW_LABEL)); gtk_notebook_set_current_page(newnb, page_num); g_object_unref(g_scrolled_win); /* The new notebook owns it now */ update_markdown_viewer(viewer); } geany-plugins-1.27/markdown/src/markdown-gtk-compat.c0000644000175000017500000000757412671261352023200 0ustar00frlanfrlan00000000000000/* * markdown-gtk-compat.c - Part of the Geany Markdown plugin * * Copyright 2012 Matthew Brush * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * */ #include #include "markdown-gtk-compat.h" GtkWidget *markdown_gtk_table_new(guint rows, guint columns, gboolean homogeneous) { GtkWidget *table; #if !GTK_CHECK_VERSION(3, 4, 0) table = gtk_table_new(rows, columns, homogeneous); #else guint row_cnt, col_cnt; table = gtk_grid_new(); gtk_grid_set_row_homogeneous(MARKDOWN_GTK_TABLE(table), homogeneous); gtk_grid_set_column_homogeneous(MARKDOWN_GTK_TABLE(table), homogeneous); for (row_cnt=0; row_cnt < rows; row_cnt++) gtk_grid_insert_row(MARKDOWN_GTK_TABLE(table), row_cnt); for (col_cnt=0; col_cnt < columns; col_cnt++) gtk_grid_insert_column(MARKDOWN_GTK_TABLE(table), col_cnt); #endif return table; } void markdown_gtk_table_attach(MarkdownGtkTable *table, GtkWidget *child, guint left_attach, guint right_attach, guint top_attach, guint bottom_attach, GtkAttachOptions xoptions, GtkAttachOptions yoptions) { #if !GTK_CHECK_VERSION(3, 4, 0) gtk_table_attach(table, child, left_attach, right_attach, top_attach, bottom_attach, xoptions, yoptions, 0, 0); #else gtk_grid_attach(table, child, left_attach, top_attach, right_attach - left_attach, bottom_attach - top_attach); #endif } GtkWidget *markdown_gtk_color_button_new_with_color(MarkdownColor *color) { GtkWidget *btn; btn = gtk_color_button_new(); #if !GTK_CHECK_VERSION(3, 0, 0) { GdkColor clr; clr.red = color->red * 256; clr.green = color->green * 256; clr.blue = color->blue * 256; gtk_color_button_set_color(GTK_COLOR_BUTTON(btn), &clr); } #else { GdkRGBA clr; clr.red = color->red / 256.0; clr.green = color->green / 256.0; clr.blue = color->blue / 256.0; # if !GTK_CHECK_VERSION(3, 4, 0) gtk_color_button_set_rgba(GTK_COLOR_BUTTON(btn), &clr); # else gtk_color_chooser_set_rgba(GTK_COLOR_CHOOSER(btn), &clr); # endif } #endif return btn; } gboolean markdown_color_parse(const gchar *spec, MarkdownColor *color) { gboolean result; g_return_val_if_fail(spec && color, FALSE); #if !GTK_CHECK_VERSION(3, 0, 0) { GdkColor clr; result = gdk_color_parse(spec, &clr); if (result) { color->red = clr.red / 256; color->green = clr.green / 256; color->blue = clr.blue / 256; } } #else { GdkRGBA clr; result = gdk_rgba_parse(&clr, spec); if (result) { color->red = (guint8) (clr.red * 256.0); color->green = (guint8) (clr.green * 256.0); color->blue = (guint8) (clr.blue * 256.0); } } #endif return result; } void markdown_gtk_color_button_get_color(GtkColorButton *button, MarkdownColor *color) { g_return_if_fail(button); g_return_if_fail(color); #if !GTK_CHECK_VERSION(3, 0, 0) GdkColor clr; gtk_color_button_get_color(button, &clr); color->red = clr.red / 256; color->green = clr.green / 256; color->blue = clr.blue / 256; #else GdkRGBA clr; # if !GTK_CHECK_VERSION(3, 4, 0) gtk_color_button_get_rgba(button, &clr); # else gtk_color_chooser_get_rgba(GTK_COLOR_CHOOSER(button), &clr); # endif color->red = (guint8) (clr.red * 256.0); color->green = (guint8) (clr.green * 256.0); color->blue = (guint8) (clr.blue * 256.0); #endif } geany-plugins-1.27/markdown/src/conf.c0000644000175000017500000005204412671261352020227 0ustar00frlanfrlan00000000000000/* * config.c - Part of the Geany Markdown plugin * * Copyright 2012 Matthew Brush * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. * * */ #include "config.h" #include #include #include #include "conf.h" #include "markdown-gtk-compat.h" #define FONT_NAME_MAX 256 #define COLOR_CODE_MAX 8 #define DEFAULT_CONF \ "[general]\n" \ "template=\n" \ "\n" \ "[view]\n" \ "position=0\n" \ "font_name=Serif\n" \ "code_font_name=Mono\n" \ "font_point_size=12\n" \ "code_font_point_size=12\n" \ "bg_color=#fff\n" \ "fg_color=#000\n" #define MARKDOWN_HTML_TEMPLATE \ "\n" \ " \n" \ " \n" \ " \n" \ " \n" \ " @@markdown@@\n" \ " \n" \ "\n" enum { PROP_0 = 0, PROP_TEMPLATE_FILE, PROP_FONT_NAME, PROP_CODE_FONT_NAME, PROP_FONT_POINT_SIZE, PROP_CODE_FONT_POINT_SIZE, PROP_BG_COLOR, PROP_FG_COLOR, PROP_VIEW_POS, PROP_LAST }; static GParamSpec *md_props[PROP_LAST] = { NULL }; struct _MarkdownConfigPrivate { gchar *filename; GKeyFile *kf; guint handle; gulong dlg_handle; gboolean initialized; gchar *tmpl_text; gsize tmpl_text_len; struct { GtkWidget *table; GtkWidget *pos_sb_radio; GtkWidget *pos_mw_radio; GtkWidget *font_button; GtkWidget *code_font_button; GtkWidget *bg_color_button; GtkWidget *fg_color_button; GtkWidget *tmpl_file_button; } widgets; }; static void markdown_config_finalize(GObject *object); G_DEFINE_TYPE(MarkdownConfig, markdown_config, G_TYPE_OBJECT) static gboolean on_idle_timeout(MarkdownConfig *conf) { markdown_config_save(conf); conf->priv->handle = 0; return FALSE; } static void init_conf_file(MarkdownConfig *conf) { GError *error = NULL; gchar *def_tmpl, *dirn; dirn = g_path_get_dirname(conf->priv->filename); if (!g_file_test(dirn, G_FILE_TEST_IS_DIR)) { g_mkdir_with_parents(dirn, 0755); } if (!g_file_test(conf->priv->filename, G_FILE_TEST_EXISTS)) { if (!g_file_set_contents(conf->priv->filename, DEFAULT_CONF, -1, &error)) { g_warning("Unable to write default configuration file: %s", error->message); g_error_free(error); error = NULL; } } def_tmpl = g_build_filename(dirn, "template.html", NULL); if (!g_file_test(def_tmpl, G_FILE_TEST_EXISTS)) { if (!g_file_set_contents(def_tmpl, MARKDOWN_HTML_TEMPLATE, -1, &error)) { g_warning("Unable to write default template file: %s", error->message); g_error_free(error); error = NULL; } } g_free(dirn); g_free(def_tmpl); } static void markdown_config_load_template_text(MarkdownConfig *conf) { GError *error = NULL; gchar *tmpl_file = NULL; g_object_get(conf, "template-file", &tmpl_file, NULL); g_free(conf->priv->tmpl_text); conf->priv->tmpl_text = NULL; conf->priv->tmpl_text_len = 0; if (!g_file_get_contents(tmpl_file, &(conf->priv->tmpl_text), &(conf->priv->tmpl_text_len), &error)) { g_warning("Error reading template file: %s", error->message); g_error_free(error); error = NULL; } } static void markdown_config_set_property(GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec) { gboolean save_later = FALSE; MarkdownConfig *conf = MARKDOWN_CONFIG(obj); /* FIXME: Prevent writing to keyfile until it's ready */ if (!conf->priv->initialized) return; switch (prop_id) { case PROP_TEMPLATE_FILE: g_key_file_set_string(conf->priv->kf, "general", "template", g_value_get_string(value)); /*markdown_config_load_template_text(conf);*/ save_later = TRUE; break; case PROP_FONT_NAME: g_key_file_set_string(conf->priv->kf, "view", "font_name", g_value_get_string(value)); save_later = TRUE; break; case PROP_CODE_FONT_NAME: g_key_file_set_string(conf->priv->kf, "view", "code_font_name", g_value_get_string(value)); save_later = TRUE; break; case PROP_FONT_POINT_SIZE: g_key_file_set_integer(conf->priv->kf, "view", "font_point_size", (gint) g_value_get_uint(value)); save_later = TRUE; break; case PROP_CODE_FONT_POINT_SIZE: g_key_file_set_integer(conf->priv->kf, "view", "code_font_point_size", (gint) g_value_get_uint(value)); save_later = TRUE; break; case PROP_BG_COLOR: g_key_file_set_string(conf->priv->kf, "view", "bg_color", g_value_get_string(value)); save_later = TRUE; break; case PROP_FG_COLOR: g_key_file_set_string(conf->priv->kf, "view", "fg_color", g_value_get_string(value)); save_later = TRUE; break; case PROP_VIEW_POS: g_key_file_set_integer(conf->priv->kf, "view", "position", (gint) g_value_get_uint(value)); save_later = TRUE; break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); break; } if (save_later && conf->priv->handle == 0) { conf->priv->handle = g_idle_add((GSourceFunc) on_idle_timeout, conf); } } static gchar * markdown_config_get_string_key(MarkdownConfig *conf, const gchar *group, const gchar *key, const gchar *default_value) { gchar *out_str; GError *error = NULL; out_str = g_key_file_get_string(conf->priv->kf, group, key, &error); if (error) { g_debug("Config read failed: %s", error->message); g_error_free(error); error = NULL; out_str = g_strdup(default_value); } return out_str; } static guint markdown_config_get_uint_key(MarkdownConfig *conf, const gchar *group, const gchar *key, guint default_value) { guint out_uint; GError *error = NULL; out_uint = (guint) g_key_file_get_integer(conf->priv->kf, group, key, &error); if (error) { g_debug("Config read failed: %s", error->message); g_error_free(error); error = NULL; out_uint = default_value; } return out_uint; } static void markdown_config_get_property(GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec) { MarkdownConfig *conf = MARKDOWN_CONFIG(obj); switch (prop_id) { case PROP_TEMPLATE_FILE: { gchar *tmpl_file; tmpl_file = markdown_config_get_string_key(conf, "general", "template", ""); /* If empty, use default template.html file. */ if (!tmpl_file || !tmpl_file[0]) { gchar *dn; g_free(tmpl_file); dn = g_path_get_dirname(conf->priv->filename); tmpl_file = g_build_filename(dn, "template.html", NULL); g_free(dn); } g_value_set_string(value, tmpl_file); g_free(tmpl_file); break; } case PROP_FONT_NAME: { gchar *font_name; font_name = markdown_config_get_string_key(conf, "view", "font_name", "Serif"); g_value_set_string(value, font_name); g_free(font_name); break; } case PROP_CODE_FONT_NAME: { gchar *font_name; font_name = markdown_config_get_string_key(conf, "view", "code_font_name", "Monospace"); g_value_set_string(value, font_name); g_free(font_name); break; } case PROP_FONT_POINT_SIZE: { guint font_size; font_size = markdown_config_get_uint_key(conf, "view", "font_point_size", 12); g_value_set_uint(value, font_size); break; } case PROP_CODE_FONT_POINT_SIZE: { guint font_size; font_size = markdown_config_get_uint_key(conf, "view", "code_font_point_size", 12); g_value_set_uint(value, font_size); break; } case PROP_BG_COLOR: { gchar *bg_color; bg_color = markdown_config_get_string_key(conf, "view", "bg_color", "#ffffff"); g_value_set_string(value, bg_color); g_free(bg_color); break; } case PROP_FG_COLOR: { gchar *fg_color; fg_color = markdown_config_get_string_key(conf, "view", "fg_color", "#000000"); g_value_set_string(value, fg_color); g_free(fg_color); break; } case PROP_VIEW_POS: { guint view_pos; view_pos = markdown_config_get_uint_key(conf, "view", "position", 0); g_value_set_uint(value, view_pos); break; } default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); break; } } static void markdown_install_class_properties(GObjectClass *gclass, guint n_pspecs, GParamSpec **pspecs) { #if GLIB_CHECK_VERSION(2, 26, 0) g_object_class_install_properties(gclass, n_pspecs, pspecs); #else guint i; for (i = 1; i < n_pspecs; i++) g_object_class_install_property(gclass, i, pspecs[i]); #endif } static void markdown_config_class_init(MarkdownConfigClass *klass) { GObjectClass *g_object_class; g_object_class = G_OBJECT_CLASS(klass); g_object_class->finalize = markdown_config_finalize; g_object_class->set_property = markdown_config_set_property; g_object_class->get_property = markdown_config_get_property; g_type_class_add_private((gpointer)klass, sizeof(MarkdownConfigPrivate)); md_props[PROP_TEMPLATE_FILE] = g_param_spec_string("template-file", "TemplateFile", "HTML template file for preview", "", G_PARAM_READWRITE); md_props[PROP_FONT_NAME] = g_param_spec_string("font-name", "FontName", "Font family name", "Serif", G_PARAM_READWRITE); md_props[PROP_CODE_FONT_NAME] = g_param_spec_string("code-font-name", "CodeFontName", "Font family for code blocks", "Monospace", G_PARAM_READWRITE); md_props[PROP_FONT_POINT_SIZE] = g_param_spec_uint("font-point-size", "FontPointSize", "Size in points of the font", 2, 100, 12, G_PARAM_READWRITE); md_props[PROP_CODE_FONT_POINT_SIZE] = g_param_spec_uint("code-font-point-size", "CodeFontPointSize", "Size in points of the font for code blocks", 2, 100, 12, G_PARAM_CONSTRUCT | G_PARAM_READWRITE); md_props[PROP_BG_COLOR] = g_param_spec_string("bg-color", "BackgroundColor", "Background colour of the page", "#ffffff", G_PARAM_READWRITE); md_props[PROP_FG_COLOR] = g_param_spec_string("fg-color", "ForegroundColor", "Foreground colour of the page", "#000000", G_PARAM_READWRITE); md_props[PROP_VIEW_POS] = g_param_spec_uint("view-pos", "ViewPosition", "Notebook where the view will be positioned", 0, MARKDOWN_CONFIG_VIEW_POS_MAX-1, (guint) MARKDOWN_CONFIG_VIEW_POS_SIDEBAR, G_PARAM_READWRITE); markdown_install_class_properties(g_object_class, PROP_LAST, md_props); } static void markdown_config_finalize(GObject *object) { MarkdownConfig *self; g_return_if_fail(MARKDOWN_IS_CONFIG(object)); self = MARKDOWN_CONFIG(object); if (self->priv->handle != 0) { g_source_remove(self->priv->handle); markdown_config_save(self); } g_free(self->priv->filename); g_key_file_free(self->priv->kf); G_OBJECT_CLASS(markdown_config_parent_class)->finalize (object); } static void markdown_config_init(MarkdownConfig *self) { self->priv = G_TYPE_INSTANCE_GET_PRIVATE(self, MARKDOWN_TYPE_CONFIG, MarkdownConfigPrivate); } MarkdownConfig * markdown_config_new(const gchar *filename) { MarkdownConfig *conf = g_object_new(MARKDOWN_TYPE_CONFIG, NULL); GError *error = NULL; g_return_val_if_fail(filename, conf); conf->priv->filename = g_strdup(filename); init_conf_file(conf); conf->priv->kf = g_key_file_new(); if (!g_key_file_load_from_file(conf->priv->kf, conf->priv->filename, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, &error)) { g_warning("Error loading configuration file: %s", error->message); g_error_free(error); error = NULL; } conf->priv->initialized = TRUE; return conf; } gboolean markdown_config_save(MarkdownConfig *conf) { gchar *contents; gsize len; gboolean success = FALSE; GError *error = NULL; contents = g_key_file_to_data(conf->priv->kf, &len, &error); /*g_debug("Saving: %s\n%s", conf->priv->filename, contents);*/ if (error) { g_warning("Error getting config data as string: %s", error->message); g_error_free(error); error = NULL; return success; } success = g_file_set_contents(conf->priv->filename, contents, len, &error); g_free(contents); if (!success) { g_warning("Error writing config data to disk: %s", error->message); g_error_free(error); error = NULL; } return success; } static gchar * color_button_get_color(GtkColorButton *color_button) { MarkdownColor color; markdown_gtk_color_button_get_color(color_button, &color); return g_strdup_printf("#%02x%02x%02x", color.red, color.green, color.blue); } static gboolean get_font_info(const gchar *font_desc, gchar **font_name, guint *font_size) { gboolean success = FALSE; PangoFontDescription *pfd; pfd = pango_font_description_from_string(font_desc); if (pfd) { *font_name = g_strdup(pango_font_description_get_family(pfd)); *font_size = (guint) (pango_font_description_get_size(pfd) / PANGO_SCALE); success = TRUE; pango_font_description_free(pfd); } return success; } static void on_dialog_response(MarkdownConfig *conf, gint response_id, GtkDialog *dialog) { if (response_id == GTK_RESPONSE_APPLY || response_id == GTK_RESPONSE_OK) { GtkWidget *wid = conf->priv->widgets.pos_sb_radio; gboolean pos_sidebar = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(wid)); gchar *bg_color, *fg_color; gchar *tmpl_file = NULL, *fnt = NULL, *code_fnt = NULL; guint fnt_size = 0, code_fnt_size = 0; const gchar *font_desc; MarkdownConfigViewPos view_pos; view_pos = pos_sidebar ? MARKDOWN_CONFIG_VIEW_POS_SIDEBAR : MARKDOWN_CONFIG_VIEW_POS_MSGWIN; bg_color = color_button_get_color(GTK_COLOR_BUTTON(conf->priv->widgets.bg_color_button)); fg_color = color_button_get_color(GTK_COLOR_BUTTON(conf->priv->widgets.fg_color_button)); font_desc = gtk_font_button_get_font_name(GTK_FONT_BUTTON(conf->priv->widgets.font_button)); get_font_info(font_desc, &fnt, &fnt_size); font_desc = gtk_font_button_get_font_name(GTK_FONT_BUTTON(conf->priv->widgets.code_font_button)); get_font_info(font_desc, &code_fnt, &code_fnt_size); tmpl_file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(conf->priv->widgets.tmpl_file_button)); g_object_set(conf, "font-name", fnt, "font-point-size", fnt_size, "code-font-name", code_fnt, "code-font-point-size", code_fnt_size, "view-pos", view_pos, "bg-color", bg_color, "fg-color", fg_color, "template-file", tmpl_file, NULL); g_free(fnt); g_free(code_fnt); g_free(bg_color); g_free(fg_color); g_free(tmpl_file); } } GtkWidget *markdown_config_gui(MarkdownConfig *conf, GtkDialog *dialog) { GSList *grp = NULL; GtkWidget *table, *label, *hbox, *wid; gchar *tmpl_file=NULL, *fnt=NULL, *code_fnt=NULL, *bg=NULL, *fg=NULL; guint view_pos=0, fnt_sz=0, code_fnt_sz=0; g_object_get(conf, "view-pos", &view_pos, "font-name", &fnt, "code-font-name", &code_fnt, "font-point-size", &fnt_sz, "code-font-point-size", &code_fnt_sz, "bg-color", &bg, "fg-color", &fg, "template-file", &tmpl_file, NULL); table = markdown_gtk_table_new(6, 2, FALSE); markdown_gtk_table_set_col_spacing(MARKDOWN_GTK_TABLE(table), 6); markdown_gtk_table_set_row_spacing(MARKDOWN_GTK_TABLE(table), 6); conf->priv->widgets.table = table; { /* POSITION OF VIEW */ label = gtk_label_new(_("Position:")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL); hbox = gtk_hbox_new(FALSE, 6); wid = gtk_radio_button_new_with_label(grp, _("Sidebar")); grp = gtk_radio_button_get_group(GTK_RADIO_BUTTON(wid)); gtk_box_pack_start(GTK_BOX(hbox), wid, FALSE, TRUE, 0); conf->priv->widgets.pos_sb_radio = wid; if (((MarkdownConfigViewPos) view_pos) == MARKDOWN_CONFIG_VIEW_POS_SIDEBAR) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wid), TRUE); } wid = gtk_radio_button_new_with_label(grp, _("Message Window")); grp = gtk_radio_button_get_group(GTK_RADIO_BUTTON(wid)); gtk_box_pack_start(GTK_BOX(hbox), wid, FALSE, TRUE, 0); conf->priv->widgets.pos_mw_radio = wid; if (((MarkdownConfigViewPos) view_pos) == MARKDOWN_CONFIG_VIEW_POS_MSGWIN) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(wid), TRUE); } markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), hbox, 1, 2, 0, 1, GTK_FILL, GTK_FILL); } { /* FONT BUTTON */ gchar *font_desc; label = gtk_label_new(_("Font:")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL); font_desc = g_strdup_printf("%s %d", fnt, fnt_sz); wid = gtk_font_button_new_with_font(font_desc); conf->priv->widgets.font_button = wid; g_free(font_desc); markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), wid, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, GTK_FILL); g_free(fnt); } { /* CODE FONT BUTTON */ gchar *font_desc; label = gtk_label_new(_("Code Font:")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), label, 0, 1, 2, 3, GTK_FILL, GTK_FILL); font_desc = g_strdup_printf("%s %d", code_fnt, code_fnt_sz); wid = gtk_font_button_new_with_font(font_desc); conf->priv->widgets.code_font_button = wid; g_free(font_desc); markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), wid, 1, 2, 2, 3, GTK_FILL | GTK_EXPAND, GTK_FILL); g_free(code_fnt); } { /* BG COLOR */ MarkdownColor bgclr; label = gtk_label_new(_("BG Color:")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), label, 0, 1, 3, 4, GTK_FILL, GTK_FILL); markdown_color_parse(bg, &bgclr); wid = markdown_gtk_color_button_new_with_color(&bgclr); conf->priv->widgets.bg_color_button = wid; markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), wid, 1, 2, 3, 4, GTK_FILL | GTK_EXPAND, GTK_FILL); g_free(bg); } { /* FG COLOR */ MarkdownColor fgclr; label = gtk_label_new(_("FG Color:")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), label, 0, 1, 4, 5, GTK_FILL, GTK_FILL); markdown_color_parse(fg, &fgclr); wid = markdown_gtk_color_button_new_with_color(&fgclr); conf->priv->widgets.fg_color_button = wid; markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), wid, 1, 2, 4, 5, GTK_FILL | GTK_EXPAND, GTK_FILL); g_free(fg); } { /* TEMPLATE FILE */ label = gtk_label_new(_("Template:")); gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), label, 0, 1, 5, 6, GTK_FILL, GTK_FILL); wid = gtk_file_chooser_button_new(_("Select Template File"), GTK_FILE_CHOOSER_ACTION_OPEN); conf->priv->widgets.tmpl_file_button = wid; gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(wid), g_get_home_dir()); if (tmpl_file && tmpl_file[0]) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(wid), tmpl_file); } markdown_gtk_table_attach(MARKDOWN_GTK_TABLE(table), wid, 1, 2, 5, 6, GTK_FILL | GTK_EXPAND, GTK_FILL); g_free(tmpl_file); } conf->priv->dlg_handle = g_signal_connect_swapped(dialog, "response", G_CALLBACK(on_dialog_response), conf); gtk_widget_show_all(table); return table; } const gchar * markdown_config_get_template_text(MarkdownConfig *conf) { g_return_val_if_fail(conf, NULL); if (!conf->priv->tmpl_text) { markdown_config_load_template_text(conf); } return (const gchar *) conf->priv->tmpl_text; } gchar * markdown_config_get_dirname(MarkdownConfig *conf) { g_return_val_if_fail(conf, NULL); return g_path_get_dirname(conf->priv->filename); } MarkdownConfigViewPos markdown_config_get_view_pos(MarkdownConfig *conf) { guint view_pos; g_return_val_if_fail(MARKDOWN_IS_CONFIG(conf), MARKDOWN_CONFIG_VIEW_POS_SIDEBAR); g_object_get(conf, "view-pos", &view_pos, NULL); return (MarkdownConfigViewPos) view_pos; } void markdown_config_set_view_pos(MarkdownConfig *conf, MarkdownConfigViewPos view_pos) { g_return_if_fail(MARKDOWN_IS_CONFIG(conf)); g_object_set(conf, "view-pos", view_pos, NULL); } geany-plugins-1.27/markdown/peg-markdown/0000755000175000017500000000000012671261443020736 5ustar00frlanfrlan00000000000000geany-plugins-1.27/markdown/peg-markdown/Makefile.in0000644000175000017500000010655212671261402023007 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = markdown/peg-markdown ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = libpegmarkdown_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am_libpegmarkdown_la_OBJECTS = libpegmarkdown_la-markdown_lib.lo \ libpegmarkdown_la-markdown_output.lo \ libpegmarkdown_la-markdown_parser.lo libpegmarkdown_la-odf.lo \ libpegmarkdown_la-parsing_functions.lo \ libpegmarkdown_la-utility_functions.lo libpegmarkdown_la_OBJECTS = $(am_libpegmarkdown_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libpegmarkdown_la_SOURCES) DIST_SOURCES = $(libpegmarkdown_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = peg-0.1.9 noinst_LTLIBRARIES = libpegmarkdown.la libpegmarkdown_la_CPPFLAGS = $(GEANY_CFLAGS) libpegmarkdown_la_LIBADD = $(GEANY_LIBS) libpegmarkdown_la_SOURCES = \ markdown_lib.c \ markdown_lib.h \ markdown_output.c \ markdown_parser.c \ markdown_peg.h \ odf.c \ odf.h \ parsing_functions.c \ parsing_functions.h \ utility_functions.c \ utility_functions.h LEG = peg-0.1.9/leg CLEANFILES = markdown_parser.c EXTRA_DIST = markdown_parser.leg all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign markdown/peg-markdown/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign markdown/peg-markdown/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libpegmarkdown.la: $(libpegmarkdown_la_OBJECTS) $(libpegmarkdown_la_DEPENDENCIES) $(EXTRA_libpegmarkdown_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) $(libpegmarkdown_la_OBJECTS) $(libpegmarkdown_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpegmarkdown_la-markdown_lib.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpegmarkdown_la-markdown_output.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpegmarkdown_la-markdown_parser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpegmarkdown_la-odf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpegmarkdown_la-parsing_functions.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpegmarkdown_la-utility_functions.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< libpegmarkdown_la-markdown_lib.lo: markdown_lib.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpegmarkdown_la-markdown_lib.lo -MD -MP -MF $(DEPDIR)/libpegmarkdown_la-markdown_lib.Tpo -c -o libpegmarkdown_la-markdown_lib.lo `test -f 'markdown_lib.c' || echo '$(srcdir)/'`markdown_lib.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpegmarkdown_la-markdown_lib.Tpo $(DEPDIR)/libpegmarkdown_la-markdown_lib.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='markdown_lib.c' object='libpegmarkdown_la-markdown_lib.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpegmarkdown_la-markdown_lib.lo `test -f 'markdown_lib.c' || echo '$(srcdir)/'`markdown_lib.c libpegmarkdown_la-markdown_output.lo: markdown_output.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpegmarkdown_la-markdown_output.lo -MD -MP -MF $(DEPDIR)/libpegmarkdown_la-markdown_output.Tpo -c -o libpegmarkdown_la-markdown_output.lo `test -f 'markdown_output.c' || echo '$(srcdir)/'`markdown_output.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpegmarkdown_la-markdown_output.Tpo $(DEPDIR)/libpegmarkdown_la-markdown_output.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='markdown_output.c' object='libpegmarkdown_la-markdown_output.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpegmarkdown_la-markdown_output.lo `test -f 'markdown_output.c' || echo '$(srcdir)/'`markdown_output.c libpegmarkdown_la-markdown_parser.lo: markdown_parser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpegmarkdown_la-markdown_parser.lo -MD -MP -MF $(DEPDIR)/libpegmarkdown_la-markdown_parser.Tpo -c -o libpegmarkdown_la-markdown_parser.lo `test -f 'markdown_parser.c' || echo '$(srcdir)/'`markdown_parser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpegmarkdown_la-markdown_parser.Tpo $(DEPDIR)/libpegmarkdown_la-markdown_parser.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='markdown_parser.c' object='libpegmarkdown_la-markdown_parser.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpegmarkdown_la-markdown_parser.lo `test -f 'markdown_parser.c' || echo '$(srcdir)/'`markdown_parser.c libpegmarkdown_la-odf.lo: odf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpegmarkdown_la-odf.lo -MD -MP -MF $(DEPDIR)/libpegmarkdown_la-odf.Tpo -c -o libpegmarkdown_la-odf.lo `test -f 'odf.c' || echo '$(srcdir)/'`odf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpegmarkdown_la-odf.Tpo $(DEPDIR)/libpegmarkdown_la-odf.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='odf.c' object='libpegmarkdown_la-odf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpegmarkdown_la-odf.lo `test -f 'odf.c' || echo '$(srcdir)/'`odf.c libpegmarkdown_la-parsing_functions.lo: parsing_functions.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpegmarkdown_la-parsing_functions.lo -MD -MP -MF $(DEPDIR)/libpegmarkdown_la-parsing_functions.Tpo -c -o libpegmarkdown_la-parsing_functions.lo `test -f 'parsing_functions.c' || echo '$(srcdir)/'`parsing_functions.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpegmarkdown_la-parsing_functions.Tpo $(DEPDIR)/libpegmarkdown_la-parsing_functions.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parsing_functions.c' object='libpegmarkdown_la-parsing_functions.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpegmarkdown_la-parsing_functions.lo `test -f 'parsing_functions.c' || echo '$(srcdir)/'`parsing_functions.c libpegmarkdown_la-utility_functions.lo: utility_functions.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libpegmarkdown_la-utility_functions.lo -MD -MP -MF $(DEPDIR)/libpegmarkdown_la-utility_functions.Tpo -c -o libpegmarkdown_la-utility_functions.lo `test -f 'utility_functions.c' || echo '$(srcdir)/'`utility_functions.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpegmarkdown_la-utility_functions.Tpo $(DEPDIR)/libpegmarkdown_la-utility_functions.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utility_functions.c' object='libpegmarkdown_la-utility_functions.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libpegmarkdown_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libpegmarkdown_la-utility_functions.lo `test -f 'utility_functions.c' || echo '$(srcdir)/'`utility_functions.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool \ clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile $(LEG): $(MAKE) -C peg-0.1.9 leg markdown_parser.c: markdown_parser.leg $(LEG) $(AM_V_GEN)$(LEG) -o $@ $< # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/markdown/peg-markdown/markdown_peg.h0000644000175000017500000000355212671261352023570 0ustar00frlanfrlan00000000000000/* markdown_peg.h */ #ifndef MARKDOWN_PEG_H #define MARKDOWN_PEG_H #include "markdown_lib.h" #include /* Information (label, URL and title) for a link. */ struct Link { struct Element *label; char *url; char *title; }; typedef struct Link link; /* Union for contents of an Element (string, list, or link). */ union Contents { char *str; struct Link *link; }; /* Types of semantic values returned by parsers. */ enum keys { LIST, /* A generic list of values. For ordered and bullet lists, see below. */ RAW, /* Raw markdown to be processed further */ SPACE, LINEBREAK, ELLIPSIS, EMDASH, ENDASH, APOSTROPHE, SINGLEQUOTED, DOUBLEQUOTED, STR, LINK, IMAGE, CODE, HTML, EMPH, STRONG, PLAIN, PARA, LISTITEM, BULLETLIST, ORDEREDLIST, H1, H2, H3, H4, H5, H6, /* Code assumes that these are in order. */ BLOCKQUOTE, VERBATIM, HTMLBLOCK, HRULE, REFERENCE, NOTE }; /* Semantic value of a parsing action. */ struct Element { int key; union Contents contents; struct Element *children; struct Element *next; }; typedef struct Element element; element * parse_references(char *string, int extensions); element * parse_notes(char *string, int extensions, element *reference_list); element * parse_markdown(char *string, int extensions, element *reference_list, element *note_list); void free_element_list(element * elt); void free_element(element *elt); void print_element_list(GString *out, element *elt, int format, int exts); #endif geany-plugins-1.27/markdown/peg-markdown/odf.c0000644000175000017500000002530212671261352021653 0ustar00frlanfrlan00000000000000/********************************************************************** odf.c - Utility routines to enable ODF support in peg-multimarkdown. (c) 2011 Fletcher T. Penney (http://fletcherpenney.net/). This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License or the MIT license. See LICENSE for details. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ***********************************************************************/ #include "odf.h" void print_odf_header(GString *out){ /* Insert required XML header */ g_string_append_printf(out, "\n" \ "\n"); /* Font Declarations */ g_string_append_printf(out, "\n" \ " \n" \ "\n"); /* Append basic style information */ g_string_append_printf(out, "\n" \ "\n" \ " \n" \ " \n" \ "\n" \ " \n" \ " \n" \ "\n" \ "\n" \ " \n" \ "\n" \ "\n" \ " \n" \ " \n" \ "\n" \ "\n" \ " \n" \ "\n" \ "\n" \ " \n" \ " \n" \ "\n" \ "\n" \ " \n" \ " \n" \ "\n" \ "\n"); /* Automatic style information */ g_string_append_printf(out, "" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ " \n" \ "\n" \ " \n" \ "\n" \ "\n" \ " \n" \ "\n" \ "\n" \ " \n" \ "\n" \ "\n" \ "\n" \ "\n" \ "\n" \ " \n" \ "\n" \ "\n" \ "\n" \ "\n" \ " \n" \ "\n" \ "\n" \ " \n" \ "\n"); } void print_odf_footer(GString *out) { g_string_append_printf(out, "\n\n"); } geany-plugins-1.27/markdown/peg-markdown/markdown_lib.h0000644000175000017500000000105312671261352023555 0ustar00frlanfrlan00000000000000#ifndef MARKDOWN_LIB_H #define MARKDOWN_LIB_H #include #include #include enum markdown_extensions { EXT_SMART = 0x01, EXT_NOTES = 0x02, EXT_FILTER_HTML = 0x04, EXT_FILTER_STYLES = 0x08 }; enum markdown_formats { HTML_FORMAT, LATEX_FORMAT, GROFF_MM_FORMAT, ODF_FORMAT }; GString * markdown_to_g_string(char *text, int extensions, int output_format); char * markdown_to_string(char *text, int extensions, int output_format); /* vim: set ts=4 sw=4 : */ #endif geany-plugins-1.27/markdown/peg-markdown/odf.h0000644000175000017500000000025112671261352021654 0ustar00frlanfrlan00000000000000#ifndef ODF_H #define ODF_H #include #include #include void print_odf_header(GString *out); void print_odf_footer(GString *out); #endif geany-plugins-1.27/markdown/peg-markdown/Makefile.am0000644000175000017500000000110212671261352022763 0ustar00frlanfrlan00000000000000SUBDIRS = peg-0.1.9 noinst_LTLIBRARIES = libpegmarkdown.la libpegmarkdown_la_CPPFLAGS = $(GEANY_CFLAGS) libpegmarkdown_la_LIBADD = $(GEANY_LIBS) libpegmarkdown_la_SOURCES = \ markdown_lib.c \ markdown_lib.h \ markdown_output.c \ markdown_parser.c \ markdown_peg.h \ odf.c \ odf.h \ parsing_functions.c \ parsing_functions.h \ utility_functions.c \ utility_functions.h LEG = peg-0.1.9/leg $(LEG): $(MAKE) -C peg-0.1.9 leg markdown_parser.c: markdown_parser.leg $(LEG) $(AM_V_GEN)$(LEG) -o $@ $< CLEANFILES = markdown_parser.c EXTRA_DIST = markdown_parser.leg geany-plugins-1.27/markdown/peg-markdown/parsing_functions.c0000644000175000017500000000545212671261352024642 0ustar00frlanfrlan00000000000000/* parsing_functions.c - Functions for parsing markdown and * freeing element lists. */ /* These yy_* functions come from markdown_parser.c which is * generated from markdown_parser.leg * */ typedef int (*yyrule)(); extern int yyparse(); extern int yyparsefrom(yyrule); extern int yy_References(); extern int yy_Notes(); extern int yy_Doc(); #include "utility_functions.h" #include "parsing_functions.h" #include "markdown_peg.h" static void free_element_contents(element elt); /* free_element_list - free list of elements recursively */ void free_element_list(element * elt) { element * next = NULL; while (elt != NULL) { next = elt->next; free_element_contents(*elt); if (elt->children != NULL) { free_element_list(elt->children); elt->children = NULL; } free(elt); elt = next; } } /* free_element_contents - free element contents depending on type */ static void free_element_contents(element elt) { switch (elt.key) { case STR: case SPACE: case RAW: case HTMLBLOCK: case HTML: case VERBATIM: case CODE: case NOTE: free(elt.contents.str); elt.contents.str = NULL; break; case LINK: case IMAGE: case REFERENCE: free(elt.contents.link->url); elt.contents.link->url = NULL; free(elt.contents.link->title); elt.contents.link->title = NULL; free_element_list(elt.contents.link->label); free(elt.contents.link); elt.contents.link = NULL; break; default: ; } } /* free_element - free element and contents */ void free_element(element *elt) { free_element_contents(*elt); free(elt); } element * parse_references(char *string, int extensions) { char *oldcharbuf; syntax_extensions = extensions; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_References); /* first pass, just to collect references */ charbuf = oldcharbuf; return references; } element * parse_notes(char *string, int extensions, element *reference_list) { char *oldcharbuf; notes = NULL; syntax_extensions = extensions; if (extension(EXT_NOTES)) { references = reference_list; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_Notes); /* second pass for notes */ charbuf = oldcharbuf; } return notes; } element * parse_markdown(char *string, int extensions, element *reference_list, element *note_list) { char *oldcharbuf; syntax_extensions = extensions; references = reference_list; notes = note_list; oldcharbuf = charbuf; charbuf = string; yyparsefrom(yy_Doc); charbuf = oldcharbuf; /* restore charbuf to original value */ return parse_result; } geany-plugins-1.27/markdown/peg-markdown/utility_functions.c0000644000175000017500000001402312671261352024674 0ustar00frlanfrlan00000000000000/* utility_functions.c - List manipulation functions, element * constructors, and macro definitions for leg markdown parser. */ #include "utility_functions.h" #include "markdown_peg.h" #include #include /********************************************************************** List manipulation functions ***********************************************************************/ /* cons - cons an element onto a list, returning pointer to new head */ element * cons(element *new, element *list) { assert(new != NULL); new->next = list; return new; } /* reverse - reverse a list, returning pointer to new list */ element *reverse(element *list) { element *new = NULL; element *next = NULL; while (list != NULL) { next = list->next; new = cons(list, new); list = next; } return new; } /* concat_string_list - concatenates string contents of list of STR elements. * Frees STR elements as they are added to the concatenation. */ GString *concat_string_list(element *list) { GString *result; element *next; result = g_string_new(""); while (list != NULL) { assert(list->key == STR); assert(list->contents.str != NULL); g_string_append(result, list->contents.str); next = list->next; free_element(list); list = next; } return result; } /********************************************************************** Global variables used in parsing ***********************************************************************/ char *charbuf = ""; /* Buffer of characters to be parsed. */ element *references = NULL; /* List of link references found. */ element *notes = NULL; /* List of footnotes found. */ element *parse_result; /* Results of parse. */ int syntax_extensions; /* Syntax extensions selected. */ /********************************************************************** Auxiliary functions for parsing actions. These make it easier to build up data structures (including lists) in the parsing actions. ***********************************************************************/ /* mk_element - generic constructor for element */ element * mk_element(int key) { element *result = malloc(sizeof(element)); result->key = key; result->children = NULL; result->next = NULL; result->contents.str = NULL; return result; } /* mk_str - constructor for STR element */ element * mk_str(char *string) { element *result; assert(string != NULL); result = mk_element(STR); result->contents.str = strdup(string); return result; } /* mk_str_from_list - makes STR element by concatenating a * reversed list of strings, adding optional extra newline */ element * mk_str_from_list(element *list, bool extra_newline) { element *result; GString *c = concat_string_list(reverse(list)); if (extra_newline) g_string_append(c, "\n"); result = mk_element(STR); result->contents.str = c->str; g_string_free(c, false); return result; } /* mk_list - makes new list with key 'key' and children the reverse of 'lst'. * This is designed to be used with cons to build lists in a parser action. * The reversing is necessary because cons adds to the head of a list. */ element * mk_list(int key, element *lst) { element *result; result = mk_element(key); result->children = reverse(lst); return result; } /* mk_link - constructor for LINK element */ element * mk_link(element *label, char *url, char *title) { element *result; result = mk_element(LINK); result->contents.link = malloc(sizeof(link)); result->contents.link->label = label; result->contents.link->url = strdup(url); result->contents.link->title = strdup(title); return result; } /* extension = returns true if extension is selected */ bool extension(int ext) { return (syntax_extensions & ext); } /* match_inlines - returns true if inline lists match (case-insensitive...) */ bool match_inlines(element *l1, element *l2) { while (l1 != NULL && l2 != NULL) { if (l1->key != l2->key) return false; switch (l1->key) { case SPACE: case LINEBREAK: case ELLIPSIS: case EMDASH: case ENDASH: case APOSTROPHE: break; case CODE: case STR: case HTML: if (strcasecmp(l1->contents.str, l2->contents.str) == 0) break; else return false; case EMPH: case STRONG: case LIST: case SINGLEQUOTED: case DOUBLEQUOTED: if (match_inlines(l1->children, l2->children)) break; else return false; case LINK: case IMAGE: return false; /* No links or images within links */ default: fprintf(stderr, "match_inlines encountered unknown key = %d\n", l1->key); exit(EXIT_FAILURE); break; } l1 = l1->next; l2 = l2->next; } return (l1 == NULL && l2 == NULL); /* return true if both lists exhausted */ } /* find_reference - return true if link found in references matching label. * 'link' is modified with the matching url and title. */ bool find_reference(link *result, element *label) { element *cur = references; /* pointer to walk up list of references */ link *curitem; while (cur != NULL) { curitem = cur->contents.link; if (match_inlines(label, curitem->label)) { *result = *curitem; return true; } else cur = cur->next; } return false; } /* find_note - return true if note found in notes matching label. if found, 'result' is set to point to matched note. */ bool find_note(element **result, char *label) { element *cur = notes; /* pointer to walk up list of notes */ while (cur != NULL) { if (strcmp(label, cur->contents.str) == 0) { *result = cur; return true; } else cur = cur->next; } return false; } geany-plugins-1.27/markdown/peg-markdown/markdown_parser.c0000644000175000017500000123531212671261413024304 0ustar00frlanfrlan00000000000000/* A recursive-descent parser generated by peg 0.1.9 */ #include #include #include #define YYRULECOUNT 240 /********************************************************************** markdown_parser.leg - markdown parser in C using a PEG grammar. (c) 2008 John MacFarlane (jgm at berkeley dot edu). This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License or the MIT license. See LICENSE for details. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ***********************************************************************/ #include #include #include "markdown_peg.h" #include "utility_functions.h" /********************************************************************** Definitions for leg parser generator. YY_INPUT is the function the parser calls to get new input. We take all new input from (static) charbuf. ***********************************************************************/ # define YYSTYPE element * #ifdef __DEBUG__ # define YY_DEBUG 1 #endif #define YY_INPUT(buf, result, max_size) \ { \ int yyc; \ if (charbuf && *charbuf != '\0') { \ yyc= *charbuf++; \ } else { \ yyc= EOF; \ } \ result= (EOF == yyc) ? 0 : (*(buf)= yyc, 1); \ } #define YY_RULE(T) T /********************************************************************** PEG grammar and parser actions for markdown syntax. ***********************************************************************/ #ifndef YY_LOCAL #define YY_LOCAL(T) static T #endif #ifndef YY_ACTION #define YY_ACTION(T) static T #endif #ifndef YY_RULE #define YY_RULE(T) static T #endif #ifndef YY_PARSE #define YY_PARSE(T) T #endif #ifndef YYPARSE #define YYPARSE yyparse #endif #ifndef YYPARSEFROM #define YYPARSEFROM yyparsefrom #endif #ifndef YY_INPUT #define YY_INPUT(buf, result, max_size) \ { \ int yyc= getchar(); \ result= (EOF == yyc) ? 0 : (*(buf)= yyc, 1); \ yyprintf((stderr, "<%c>", yyc)); \ } #endif #ifndef YY_BEGIN #define YY_BEGIN ( ctx->begin= ctx->pos, 1) #endif #ifndef YY_END #define YY_END ( ctx->end= ctx->pos, 1) #endif #ifdef YY_DEBUG # define yyprintf(args) fprintf args #else # define yyprintf(args) #endif #ifndef YYSTYPE #define YYSTYPE int #endif #ifndef YY_PART typedef struct _yycontext yycontext; typedef void (*yyaction)(yycontext *ctx, char *yytext, int yyleng); typedef struct _yythunk { int begin, end; yyaction action; struct _yythunk *next; } yythunk; struct _yycontext { char *buf; int buflen; int pos; int limit; char *text; int textlen; int begin; int end; int textmax; yythunk *thunks; int thunkslen; int thunkpos; YYSTYPE yy; YYSTYPE *val; YYSTYPE *vals; int valslen; #ifdef YY_CTX_MEMBERS YY_CTX_MEMBERS #endif }; #ifdef YY_CTX_LOCAL #define YY_CTX_PARAM_ yycontext *yyctx, #define YY_CTX_PARAM yycontext *yyctx #define YY_CTX_ARG_ yyctx, #define YY_CTX_ARG yyctx #else #define YY_CTX_PARAM_ #define YY_CTX_PARAM #define YY_CTX_ARG_ #define YY_CTX_ARG yycontext yyctx0; yycontext *yyctx= &yyctx0; #endif YY_LOCAL(int) yyrefill(yycontext *ctx) { int yyn; while (ctx->buflen - ctx->pos < 512) { ctx->buflen *= 2; ctx->buf= (char *)realloc(ctx->buf, ctx->buflen); } YY_INPUT((ctx->buf + ctx->pos), yyn, (ctx->buflen - ctx->pos)); if (!yyn) return 0; ctx->limit += yyn; return 1; } YY_LOCAL(int) yymatchDot(yycontext *ctx) { if (ctx->pos >= ctx->limit && !yyrefill(ctx)) return 0; ++ctx->pos; return 1; } YY_LOCAL(int) yymatchChar(yycontext *ctx, int c) { if (ctx->pos >= ctx->limit && !yyrefill(ctx)) return 0; if ((unsigned char)ctx->buf[ctx->pos] == c) { ++ctx->pos; yyprintf((stderr, " ok yymatchChar(ctx, %c) @ %s\n", c, ctx->buf+ctx->pos)); return 1; } yyprintf((stderr, " fail yymatchChar(ctx, %c) @ %s\n", c, ctx->buf+ctx->pos)); return 0; } YY_LOCAL(int) yymatchString(yycontext *ctx, char *s) { int yysav= ctx->pos; while (*s) { if (ctx->pos >= ctx->limit && !yyrefill(ctx)) return 0; if (ctx->buf[ctx->pos] != *s) { ctx->pos= yysav; return 0; } ++s; ++ctx->pos; } return 1; } YY_LOCAL(int) yymatchClass(yycontext *ctx, unsigned char *bits) { int c; if (ctx->pos >= ctx->limit && !yyrefill(ctx)) return 0; c= (unsigned char)ctx->buf[ctx->pos]; if (bits[c >> 3] & (1 << (c & 7))) { ++ctx->pos; yyprintf((stderr, " ok yymatchClass @ %s\n", ctx->buf+ctx->pos)); return 1; } yyprintf((stderr, " fail yymatchClass @ %s\n", ctx->buf+ctx->pos)); return 0; } YY_LOCAL(void) yyDo(yycontext *ctx, yyaction action, int begin, int end) { while (ctx->thunkpos >= ctx->thunkslen) { ctx->thunkslen *= 2; ctx->thunks= (yythunk *)realloc(ctx->thunks, sizeof(yythunk) * ctx->thunkslen); } ctx->thunks[ctx->thunkpos].begin= begin; ctx->thunks[ctx->thunkpos].end= end; ctx->thunks[ctx->thunkpos].action= action; ++ctx->thunkpos; } YY_LOCAL(int) yyText(yycontext *ctx, int begin, int end) { int yyleng= end - begin; if (yyleng <= 0) yyleng= 0; else { while (ctx->textlen < (yyleng + 1)) { ctx->textlen *= 2; ctx->text= (char *)realloc(ctx->text, ctx->textlen); } memcpy(ctx->text, ctx->buf + begin, yyleng); } ctx->text[yyleng]= '\0'; return yyleng; } YY_LOCAL(void) yyDone(yycontext *ctx) { int pos; for (pos= 0; pos < ctx->thunkpos; ++pos) { yythunk *thunk= &ctx->thunks[pos]; int yyleng= thunk->end ? yyText(ctx, thunk->begin, thunk->end) : thunk->begin; yyprintf((stderr, "DO [%d] %p %s\n", pos, thunk->action, ctx->text)); thunk->action(ctx, ctx->text, yyleng); } ctx->thunkpos= 0; } YY_LOCAL(void) yyCommit(yycontext *ctx) { if ((ctx->limit -= ctx->pos)) { memmove(ctx->buf, ctx->buf + ctx->pos, ctx->limit); } ctx->begin -= ctx->pos; ctx->end -= ctx->pos; ctx->pos= ctx->thunkpos= 0; } YY_LOCAL(int) yyAccept(yycontext *ctx, int tp0) { if (tp0) { fprintf(stderr, "accept denied at %d\n", tp0); return 0; } else { yyDone(ctx); yyCommit(ctx); } return 1; } YY_LOCAL(void) yyPush(yycontext *ctx, char *text, int count) { ctx->val += count; } YY_LOCAL(void) yyPop(yycontext *ctx, char *text, int count) { ctx->val -= count; } YY_LOCAL(void) yySet(yycontext *ctx, char *text, int count) { ctx->val[count]= ctx->yy; } #endif /* YY_PART */ #define YYACCEPT yyAccept(ctx, yythunkpos0) YY_RULE(int) yy_Notes(yycontext *ctx); /* 240 */ YY_RULE(int) yy_RawNoteBlock(yycontext *ctx); /* 239 */ YY_RULE(int) yy_RawNoteReference(yycontext *ctx); /* 238 */ YY_RULE(int) yy_DoubleQuoteEnd(yycontext *ctx); /* 237 */ YY_RULE(int) yy_DoubleQuoteStart(yycontext *ctx); /* 236 */ YY_RULE(int) yy_SingleQuoteEnd(yycontext *ctx); /* 235 */ YY_RULE(int) yy_SingleQuoteStart(yycontext *ctx); /* 234 */ YY_RULE(int) yy_EnDash(yycontext *ctx); /* 233 */ YY_RULE(int) yy_EmDash(yycontext *ctx); /* 232 */ YY_RULE(int) yy_Apostrophe(yycontext *ctx); /* 231 */ YY_RULE(int) yy_DoubleQuoted(yycontext *ctx); /* 230 */ YY_RULE(int) yy_SingleQuoted(yycontext *ctx); /* 229 */ YY_RULE(int) yy_Dash(yycontext *ctx); /* 228 */ YY_RULE(int) yy_Ellipsis(yycontext *ctx); /* 227 */ YY_RULE(int) yy_Digit(yycontext *ctx); /* 226 */ YY_RULE(int) yy_ExtendedSpecialChar(yycontext *ctx); /* 225 */ YY_RULE(int) yy_AlphanumericAscii(yycontext *ctx); /* 224 */ YY_RULE(int) yy_Quoted(yycontext *ctx); /* 223 */ YY_RULE(int) yy_HtmlTag(yycontext *ctx); /* 222 */ YY_RULE(int) yy_Ticks5(yycontext *ctx); /* 221 */ YY_RULE(int) yy_Ticks4(yycontext *ctx); /* 220 */ YY_RULE(int) yy_Ticks3(yycontext *ctx); /* 219 */ YY_RULE(int) yy_Ticks2(yycontext *ctx); /* 218 */ YY_RULE(int) yy_Ticks1(yycontext *ctx); /* 217 */ YY_RULE(int) yy_SkipBlock(yycontext *ctx); /* 216 */ YY_RULE(int) yy_References(yycontext *ctx); /* 215 */ YY_RULE(int) yy_EmptyTitle(yycontext *ctx); /* 214 */ YY_RULE(int) yy_RefTitleParens(yycontext *ctx); /* 213 */ YY_RULE(int) yy_RefTitleDouble(yycontext *ctx); /* 212 */ YY_RULE(int) yy_RefTitleSingle(yycontext *ctx); /* 211 */ YY_RULE(int) yy_RefTitle(yycontext *ctx); /* 210 */ YY_RULE(int) yy_RefSrc(yycontext *ctx); /* 209 */ YY_RULE(int) yy_AutoLinkEmail(yycontext *ctx); /* 208 */ YY_RULE(int) yy_AutoLinkUrl(yycontext *ctx); /* 207 */ YY_RULE(int) yy_TitleDouble(yycontext *ctx); /* 206 */ YY_RULE(int) yy_TitleSingle(yycontext *ctx); /* 205 */ YY_RULE(int) yy_Nonspacechar(yycontext *ctx); /* 204 */ YY_RULE(int) yy_SourceContents(yycontext *ctx); /* 203 */ YY_RULE(int) yy_Title(yycontext *ctx); /* 202 */ YY_RULE(int) yy_Source(yycontext *ctx); /* 201 */ YY_RULE(int) yy_Label(yycontext *ctx); /* 200 */ YY_RULE(int) yy_ReferenceLinkSingle(yycontext *ctx); /* 199 */ YY_RULE(int) yy_ReferenceLinkDouble(yycontext *ctx); /* 198 */ YY_RULE(int) yy_AutoLink(yycontext *ctx); /* 197 */ YY_RULE(int) yy_ReferenceLink(yycontext *ctx); /* 196 */ YY_RULE(int) yy_ExplicitLink(yycontext *ctx); /* 195 */ YY_RULE(int) yy_StrongUl(yycontext *ctx); /* 194 */ YY_RULE(int) yy_StrongStar(yycontext *ctx); /* 193 */ YY_RULE(int) yy_Whitespace(yycontext *ctx); /* 192 */ YY_RULE(int) yy_EmphUl(yycontext *ctx); /* 191 */ YY_RULE(int) yy_EmphStar(yycontext *ctx); /* 190 */ YY_RULE(int) yy_StarLine(yycontext *ctx); /* 189 */ YY_RULE(int) yy_UlLine(yycontext *ctx); /* 188 */ YY_RULE(int) yy_SpecialChar(yycontext *ctx); /* 187 */ YY_RULE(int) yy_Eof(yycontext *ctx); /* 186 */ YY_RULE(int) yy_NormalEndline(yycontext *ctx); /* 185 */ YY_RULE(int) yy_TerminalEndline(yycontext *ctx); /* 184 */ YY_RULE(int) yy_LineBreak(yycontext *ctx); /* 183 */ YY_RULE(int) yy_CharEntity(yycontext *ctx); /* 182 */ YY_RULE(int) yy_DecEntity(yycontext *ctx); /* 181 */ YY_RULE(int) yy_HexEntity(yycontext *ctx); /* 180 */ YY_RULE(int) yy_AposChunk(yycontext *ctx); /* 179 */ YY_RULE(int) yy_Alphanumeric(yycontext *ctx); /* 178 */ YY_RULE(int) yy_StrChunk(yycontext *ctx); /* 177 */ YY_RULE(int) yy_NormalChar(yycontext *ctx); /* 176 */ YY_RULE(int) yy_Symbol(yycontext *ctx); /* 175 */ YY_RULE(int) yy_Smart(yycontext *ctx); /* 174 */ YY_RULE(int) yy_EscapedChar(yycontext *ctx); /* 173 */ YY_RULE(int) yy_Entity(yycontext *ctx); /* 172 */ YY_RULE(int) yy_RawHtml(yycontext *ctx); /* 171 */ YY_RULE(int) yy_Code(yycontext *ctx); /* 170 */ YY_RULE(int) yy_InlineNote(yycontext *ctx); /* 169 */ YY_RULE(int) yy_NoteReference(yycontext *ctx); /* 168 */ YY_RULE(int) yy_Link(yycontext *ctx); /* 167 */ YY_RULE(int) yy_Image(yycontext *ctx); /* 166 */ YY_RULE(int) yy_Emph(yycontext *ctx); /* 165 */ YY_RULE(int) yy_Strong(yycontext *ctx); /* 164 */ YY_RULE(int) yy_Space(yycontext *ctx); /* 163 */ YY_RULE(int) yy_UlOrStarLine(yycontext *ctx); /* 162 */ YY_RULE(int) yy_Str(yycontext *ctx); /* 161 */ YY_RULE(int) yy_InStyleTags(yycontext *ctx); /* 160 */ YY_RULE(int) yy_StyleClose(yycontext *ctx); /* 159 */ YY_RULE(int) yy_StyleOpen(yycontext *ctx); /* 158 */ YY_RULE(int) yy_HtmlBlockType(yycontext *ctx); /* 157 */ YY_RULE(int) yy_HtmlBlockSelfClosing(yycontext *ctx); /* 156 */ YY_RULE(int) yy_HtmlComment(yycontext *ctx); /* 155 */ YY_RULE(int) yy_HtmlBlockInTags(yycontext *ctx); /* 154 */ YY_RULE(int) yy_HtmlBlockHead(yycontext *ctx); /* 153 */ YY_RULE(int) yy_HtmlBlockCloseHead(yycontext *ctx); /* 152 */ YY_RULE(int) yy_HtmlBlockOpenHead(yycontext *ctx); /* 151 */ YY_RULE(int) yy_HtmlBlockScript(yycontext *ctx); /* 150 */ YY_RULE(int) yy_HtmlBlockCloseScript(yycontext *ctx); /* 149 */ YY_RULE(int) yy_HtmlBlockOpenScript(yycontext *ctx); /* 148 */ YY_RULE(int) yy_HtmlBlockTr(yycontext *ctx); /* 147 */ YY_RULE(int) yy_HtmlBlockCloseTr(yycontext *ctx); /* 146 */ YY_RULE(int) yy_HtmlBlockOpenTr(yycontext *ctx); /* 145 */ YY_RULE(int) yy_HtmlBlockThead(yycontext *ctx); /* 144 */ YY_RULE(int) yy_HtmlBlockCloseThead(yycontext *ctx); /* 143 */ YY_RULE(int) yy_HtmlBlockOpenThead(yycontext *ctx); /* 142 */ YY_RULE(int) yy_HtmlBlockTh(yycontext *ctx); /* 141 */ YY_RULE(int) yy_HtmlBlockCloseTh(yycontext *ctx); /* 140 */ YY_RULE(int) yy_HtmlBlockOpenTh(yycontext *ctx); /* 139 */ YY_RULE(int) yy_HtmlBlockTfoot(yycontext *ctx); /* 138 */ YY_RULE(int) yy_HtmlBlockCloseTfoot(yycontext *ctx); /* 137 */ YY_RULE(int) yy_HtmlBlockOpenTfoot(yycontext *ctx); /* 136 */ YY_RULE(int) yy_HtmlBlockTd(yycontext *ctx); /* 135 */ YY_RULE(int) yy_HtmlBlockCloseTd(yycontext *ctx); /* 134 */ YY_RULE(int) yy_HtmlBlockOpenTd(yycontext *ctx); /* 133 */ YY_RULE(int) yy_HtmlBlockTbody(yycontext *ctx); /* 132 */ YY_RULE(int) yy_HtmlBlockCloseTbody(yycontext *ctx); /* 131 */ YY_RULE(int) yy_HtmlBlockOpenTbody(yycontext *ctx); /* 130 */ YY_RULE(int) yy_HtmlBlockLi(yycontext *ctx); /* 129 */ YY_RULE(int) yy_HtmlBlockCloseLi(yycontext *ctx); /* 128 */ YY_RULE(int) yy_HtmlBlockOpenLi(yycontext *ctx); /* 127 */ YY_RULE(int) yy_HtmlBlockFrameset(yycontext *ctx); /* 126 */ YY_RULE(int) yy_HtmlBlockCloseFrameset(yycontext *ctx); /* 125 */ YY_RULE(int) yy_HtmlBlockOpenFrameset(yycontext *ctx); /* 124 */ YY_RULE(int) yy_HtmlBlockDt(yycontext *ctx); /* 123 */ YY_RULE(int) yy_HtmlBlockCloseDt(yycontext *ctx); /* 122 */ YY_RULE(int) yy_HtmlBlockOpenDt(yycontext *ctx); /* 121 */ YY_RULE(int) yy_HtmlBlockDd(yycontext *ctx); /* 120 */ YY_RULE(int) yy_HtmlBlockCloseDd(yycontext *ctx); /* 119 */ YY_RULE(int) yy_HtmlBlockOpenDd(yycontext *ctx); /* 118 */ YY_RULE(int) yy_HtmlBlockUl(yycontext *ctx); /* 117 */ YY_RULE(int) yy_HtmlBlockCloseUl(yycontext *ctx); /* 116 */ YY_RULE(int) yy_HtmlBlockOpenUl(yycontext *ctx); /* 115 */ YY_RULE(int) yy_HtmlBlockTable(yycontext *ctx); /* 114 */ YY_RULE(int) yy_HtmlBlockCloseTable(yycontext *ctx); /* 113 */ YY_RULE(int) yy_HtmlBlockOpenTable(yycontext *ctx); /* 112 */ YY_RULE(int) yy_HtmlBlockPre(yycontext *ctx); /* 111 */ YY_RULE(int) yy_HtmlBlockClosePre(yycontext *ctx); /* 110 */ YY_RULE(int) yy_HtmlBlockOpenPre(yycontext *ctx); /* 109 */ YY_RULE(int) yy_HtmlBlockP(yycontext *ctx); /* 108 */ YY_RULE(int) yy_HtmlBlockCloseP(yycontext *ctx); /* 107 */ YY_RULE(int) yy_HtmlBlockOpenP(yycontext *ctx); /* 106 */ YY_RULE(int) yy_HtmlBlockOl(yycontext *ctx); /* 105 */ YY_RULE(int) yy_HtmlBlockCloseOl(yycontext *ctx); /* 104 */ YY_RULE(int) yy_HtmlBlockOpenOl(yycontext *ctx); /* 103 */ YY_RULE(int) yy_HtmlBlockNoscript(yycontext *ctx); /* 102 */ YY_RULE(int) yy_HtmlBlockCloseNoscript(yycontext *ctx); /* 101 */ YY_RULE(int) yy_HtmlBlockOpenNoscript(yycontext *ctx); /* 100 */ YY_RULE(int) yy_HtmlBlockNoframes(yycontext *ctx); /* 99 */ YY_RULE(int) yy_HtmlBlockCloseNoframes(yycontext *ctx); /* 98 */ YY_RULE(int) yy_HtmlBlockOpenNoframes(yycontext *ctx); /* 97 */ YY_RULE(int) yy_HtmlBlockMenu(yycontext *ctx); /* 96 */ YY_RULE(int) yy_HtmlBlockCloseMenu(yycontext *ctx); /* 95 */ YY_RULE(int) yy_HtmlBlockOpenMenu(yycontext *ctx); /* 94 */ YY_RULE(int) yy_HtmlBlockH6(yycontext *ctx); /* 93 */ YY_RULE(int) yy_HtmlBlockCloseH6(yycontext *ctx); /* 92 */ YY_RULE(int) yy_HtmlBlockOpenH6(yycontext *ctx); /* 91 */ YY_RULE(int) yy_HtmlBlockH5(yycontext *ctx); /* 90 */ YY_RULE(int) yy_HtmlBlockCloseH5(yycontext *ctx); /* 89 */ YY_RULE(int) yy_HtmlBlockOpenH5(yycontext *ctx); /* 88 */ YY_RULE(int) yy_HtmlBlockH4(yycontext *ctx); /* 87 */ YY_RULE(int) yy_HtmlBlockCloseH4(yycontext *ctx); /* 86 */ YY_RULE(int) yy_HtmlBlockOpenH4(yycontext *ctx); /* 85 */ YY_RULE(int) yy_HtmlBlockH3(yycontext *ctx); /* 84 */ YY_RULE(int) yy_HtmlBlockCloseH3(yycontext *ctx); /* 83 */ YY_RULE(int) yy_HtmlBlockOpenH3(yycontext *ctx); /* 82 */ YY_RULE(int) yy_HtmlBlockH2(yycontext *ctx); /* 81 */ YY_RULE(int) yy_HtmlBlockCloseH2(yycontext *ctx); /* 80 */ YY_RULE(int) yy_HtmlBlockOpenH2(yycontext *ctx); /* 79 */ YY_RULE(int) yy_HtmlBlockH1(yycontext *ctx); /* 78 */ YY_RULE(int) yy_HtmlBlockCloseH1(yycontext *ctx); /* 77 */ YY_RULE(int) yy_HtmlBlockOpenH1(yycontext *ctx); /* 76 */ YY_RULE(int) yy_HtmlBlockForm(yycontext *ctx); /* 75 */ YY_RULE(int) yy_HtmlBlockCloseForm(yycontext *ctx); /* 74 */ YY_RULE(int) yy_HtmlBlockOpenForm(yycontext *ctx); /* 73 */ YY_RULE(int) yy_HtmlBlockFieldset(yycontext *ctx); /* 72 */ YY_RULE(int) yy_HtmlBlockCloseFieldset(yycontext *ctx); /* 71 */ YY_RULE(int) yy_HtmlBlockOpenFieldset(yycontext *ctx); /* 70 */ YY_RULE(int) yy_HtmlBlockDl(yycontext *ctx); /* 69 */ YY_RULE(int) yy_HtmlBlockCloseDl(yycontext *ctx); /* 68 */ YY_RULE(int) yy_HtmlBlockOpenDl(yycontext *ctx); /* 67 */ YY_RULE(int) yy_HtmlBlockDiv(yycontext *ctx); /* 66 */ YY_RULE(int) yy_HtmlBlockCloseDiv(yycontext *ctx); /* 65 */ YY_RULE(int) yy_HtmlBlockOpenDiv(yycontext *ctx); /* 64 */ YY_RULE(int) yy_HtmlBlockDir(yycontext *ctx); /* 63 */ YY_RULE(int) yy_HtmlBlockCloseDir(yycontext *ctx); /* 62 */ YY_RULE(int) yy_HtmlBlockOpenDir(yycontext *ctx); /* 61 */ YY_RULE(int) yy_HtmlBlockCenter(yycontext *ctx); /* 60 */ YY_RULE(int) yy_HtmlBlockCloseCenter(yycontext *ctx); /* 59 */ YY_RULE(int) yy_HtmlBlockOpenCenter(yycontext *ctx); /* 58 */ YY_RULE(int) yy_HtmlBlockBlockquote(yycontext *ctx); /* 57 */ YY_RULE(int) yy_HtmlBlockCloseBlockquote(yycontext *ctx); /* 56 */ YY_RULE(int) yy_HtmlBlockOpenBlockquote(yycontext *ctx); /* 55 */ YY_RULE(int) yy_HtmlBlockAddress(yycontext *ctx); /* 54 */ YY_RULE(int) yy_HtmlBlockCloseAddress(yycontext *ctx); /* 53 */ YY_RULE(int) yy_HtmlAttribute(yycontext *ctx); /* 52 */ YY_RULE(int) yy_Spnl(yycontext *ctx); /* 51 */ YY_RULE(int) yy_HtmlBlockOpenAddress(yycontext *ctx); /* 50 */ YY_RULE(int) yy_OptionallyIndentedLine(yycontext *ctx); /* 49 */ YY_RULE(int) yy_Indent(yycontext *ctx); /* 48 */ YY_RULE(int) yy_ListBlockLine(yycontext *ctx); /* 47 */ YY_RULE(int) yy_ListContinuationBlock(yycontext *ctx); /* 46 */ YY_RULE(int) yy_ListBlock(yycontext *ctx); /* 45 */ YY_RULE(int) yy_ListItem(yycontext *ctx); /* 44 */ YY_RULE(int) yy_Enumerator(yycontext *ctx); /* 43 */ YY_RULE(int) yy_ListItemTight(yycontext *ctx); /* 42 */ YY_RULE(int) yy_ListLoose(yycontext *ctx); /* 41 */ YY_RULE(int) yy_ListTight(yycontext *ctx); /* 40 */ YY_RULE(int) yy_Spacechar(yycontext *ctx); /* 39 */ YY_RULE(int) yy_Bullet(yycontext *ctx); /* 38 */ YY_RULE(int) yy_VerbatimChunk(yycontext *ctx); /* 37 */ YY_RULE(int) yy_IndentedLine(yycontext *ctx); /* 36 */ YY_RULE(int) yy_NonblankIndentedLine(yycontext *ctx); /* 35 */ YY_RULE(int) yy_Line(yycontext *ctx); /* 34 */ YY_RULE(int) yy_BlockQuoteRaw(yycontext *ctx); /* 33 */ YY_RULE(int) yy_Endline(yycontext *ctx); /* 32 */ YY_RULE(int) yy_RawLine(yycontext *ctx); /* 31 */ YY_RULE(int) yy_SetextBottom2(yycontext *ctx); /* 30 */ YY_RULE(int) yy_SetextBottom1(yycontext *ctx); /* 29 */ YY_RULE(int) yy_SetextHeading2(yycontext *ctx); /* 28 */ YY_RULE(int) yy_SetextHeading1(yycontext *ctx); /* 27 */ YY_RULE(int) yy_SetextHeading(yycontext *ctx); /* 26 */ YY_RULE(int) yy_AtxHeading(yycontext *ctx); /* 25 */ YY_RULE(int) yy_AtxStart(yycontext *ctx); /* 24 */ YY_RULE(int) yy_Inline(yycontext *ctx); /* 23 */ YY_RULE(int) yy_Sp(yycontext *ctx); /* 22 */ YY_RULE(int) yy_Newline(yycontext *ctx); /* 21 */ YY_RULE(int) yy_AtxInline(yycontext *ctx); /* 20 */ YY_RULE(int) yy_Inlines(yycontext *ctx); /* 19 */ YY_RULE(int) yy_NonindentSpace(yycontext *ctx); /* 18 */ YY_RULE(int) yy_Plain(yycontext *ctx); /* 17 */ YY_RULE(int) yy_Para(yycontext *ctx); /* 16 */ YY_RULE(int) yy_StyleBlock(yycontext *ctx); /* 15 */ YY_RULE(int) yy_HtmlBlock(yycontext *ctx); /* 14 */ YY_RULE(int) yy_BulletList(yycontext *ctx); /* 13 */ YY_RULE(int) yy_OrderedList(yycontext *ctx); /* 12 */ YY_RULE(int) yy_Heading(yycontext *ctx); /* 11 */ YY_RULE(int) yy_HorizontalRule(yycontext *ctx); /* 10 */ YY_RULE(int) yy_Reference(yycontext *ctx); /* 9 */ YY_RULE(int) yy_Note(yycontext *ctx); /* 8 */ YY_RULE(int) yy_Verbatim(yycontext *ctx); /* 7 */ YY_RULE(int) yy_BlockQuote(yycontext *ctx); /* 6 */ YY_RULE(int) yy_BlankLine(yycontext *ctx); /* 5 */ YY_RULE(int) yy_Block(yycontext *ctx); /* 4 */ YY_RULE(int) yy_StartList(yycontext *ctx); /* 3 */ YY_RULE(int) yy_BOM(yycontext *ctx); /* 2 */ YY_RULE(int) yy_Doc(yycontext *ctx); /* 1 */ YY_ACTION(void) yy_3_RawNoteBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_RawNoteBlock\n")); yy = mk_str_from_list(a, true); yy->key = RAW; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_RawNoteBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_RawNoteBlock\n")); a = cons(mk_str(yytext), a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_RawNoteBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_RawNoteBlock\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_Notes(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_Notes\n")); notes = reverse(a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_Notes(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Notes\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_2_InlineNote(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_InlineNote\n")); yy = mk_list(NOTE, a); yy->contents.str = 0; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_InlineNote(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_InlineNote\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_3_Note(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define ref ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_Note\n")); yy = mk_list(NOTE, a); yy->contents.str = strdup(ref->contents.str); ; #undef yythunkpos #undef yypos #undef yy #undef a #undef ref } YY_ACTION(void) yy_2_Note(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define ref ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_Note\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a #undef ref } YY_ACTION(void) yy_1_Note(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define ref ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Note\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a #undef ref } YY_ACTION(void) yy_1_RawNoteReference(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_RawNoteReference\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_NoteReference(yycontext *ctx, char *yytext, int yyleng) { #define ref ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_NoteReference\n")); element *match; if (find_note(&match, ref->contents.str)) { yy = mk_element(NOTE); assert(match->children != NULL); yy->children = match->children; yy->contents.str = 0; } else { char *s; s = malloc(strlen(ref->contents.str) + 4); sprintf(s, "[^%s]", ref->contents.str); yy = mk_str(s); free(s); } ; #undef yythunkpos #undef yypos #undef yy #undef ref } YY_ACTION(void) yy_2_DoubleQuoted(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_DoubleQuoted\n")); yy = mk_list(DOUBLEQUOTED, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_DoubleQuoted(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_DoubleQuoted\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_2_SingleQuoted(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_SingleQuoted\n")); yy = mk_list(SINGLEQUOTED, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_SingleQuoted(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_SingleQuoted\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_EmDash(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_EmDash\n")); yy = mk_element(EMDASH); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_EnDash(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_EnDash\n")); yy = mk_element(ENDASH); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Ellipsis(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Ellipsis\n")); yy = mk_element(ELLIPSIS); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Apostrophe(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Apostrophe\n")); yy = mk_element(APOSTROPHE); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Line(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Line\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_StartList(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_StartList\n")); yy = NULL; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_RawHtml(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_RawHtml\n")); if (extension(EXT_FILTER_HTML)) { yy = mk_list(LIST, NULL); } else { yy = mk_str(yytext); yy->key = HTML; } ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Code(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Code\n")); yy = mk_str(yytext); yy->key = CODE; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_2_References(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_References\n")); references = reverse(a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_References(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_References\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_RefTitle(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_RefTitle\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_RefSrc(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_RefSrc\n")); yy = mk_str(yytext); yy->key = HTML; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_2_Label(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_Label\n")); yy = mk_list(LIST, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_Label(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Label\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_Reference(yycontext *ctx, char *yytext, int yyleng) { #define t ctx->val[-1] #define s ctx->val[-2] #define l ctx->val[-3] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Reference\n")); yy = mk_link(l->children, s->contents.str, t->contents.str); free_element(s); free_element(t); free(l); yy->key = REFERENCE; ; #undef yythunkpos #undef yypos #undef yy #undef t #undef s #undef l } YY_ACTION(void) yy_1_AutoLinkEmail(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_AutoLinkEmail\n")); char *mailto = malloc(strlen(yytext) + 8); sprintf(mailto, "mailto:%s", yytext); yy = mk_link(mk_str(yytext), mailto, ""); free(mailto); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_AutoLinkUrl(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_AutoLinkUrl\n")); yy = mk_link(mk_str(yytext), yytext, ""); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Title(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Title\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Source(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Source\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_ExplicitLink(yycontext *ctx, char *yytext, int yyleng) { #define t ctx->val[-1] #define s ctx->val[-2] #define l ctx->val[-3] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ExplicitLink\n")); yy = mk_link(l->children, s->contents.str, t->contents.str); free_element(s); free_element(t); free(l); ; #undef yythunkpos #undef yypos #undef yy #undef t #undef s #undef l } YY_ACTION(void) yy_1_ReferenceLinkSingle(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ReferenceLinkSingle\n")); link match; if (find_reference(&match, a->children)) { yy = mk_link(a->children, match.url, match.title); free(a); } else { element *result; result = mk_element(LIST); result->children = cons(mk_str("["), cons(a, cons(mk_str("]"), mk_str(yytext)))); yy = result; } ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_ReferenceLinkDouble(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ReferenceLinkDouble\n")); link match; if (find_reference(&match, b->children)) { yy = mk_link(a->children, match.url, match.title); free(a); free_element_list(b); } else { element *result; result = mk_element(LIST); result->children = cons(mk_str("["), cons(a, cons(mk_str("]"), cons(mk_str(yytext), cons(mk_str("["), cons(b, mk_str("]"))))))); yy = result; } ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_Image(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Image\n")); if (yy->key == LINK) { yy->key = IMAGE; } else { element *result; result = yy; yy->children = cons(mk_str("!"), result->children); } ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_2_StrongUl(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_StrongUl\n")); yy = mk_list(STRONG, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_StrongUl(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_StrongUl\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_2_StrongStar(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_StrongStar\n")); yy = mk_list(STRONG, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_StrongStar(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_StrongStar\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_3_EmphUl(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_EmphUl\n")); yy = mk_list(EMPH, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_2_EmphUl(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_EmphUl\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_EmphUl(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_EmphUl\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_3_EmphStar(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_EmphStar\n")); yy = mk_list(EMPH, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_2_EmphStar(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_EmphStar\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_EmphStar(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_EmphStar\n")); a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_UlOrStarLine(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_UlOrStarLine\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Symbol(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Symbol\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_LineBreak(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_LineBreak\n")); yy = mk_element(LINEBREAK); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_TerminalEndline(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_TerminalEndline\n")); yy = NULL; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_NormalEndline(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_NormalEndline\n")); yy = mk_str("\n"); yy->key = SPACE; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Entity(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Entity\n")); yy = mk_str(yytext); yy->key = HTML; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_EscapedChar(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_EscapedChar\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_AposChunk(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_AposChunk\n")); yy = mk_element(APOSTROPHE); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_StrChunk(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_StrChunk\n")); yy = mk_str(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_3_Str(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_Str\n")); if (a->next == NULL) { yy = a; } else { yy = mk_list(LIST, a); } ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_Str(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_Str\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_Str(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Str\n")); a = cons(mk_str(yytext), a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_Space(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Space\n")); yy = mk_str(" "); yy->key = SPACE; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_3_Inlines(yycontext *ctx, char *yytext, int yyleng) { #define c ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_Inlines\n")); yy = mk_list(LIST, a); ; #undef yythunkpos #undef yypos #undef yy #undef c #undef a } YY_ACTION(void) yy_2_Inlines(yycontext *ctx, char *yytext, int yyleng) { #define c ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_Inlines\n")); a = cons(c, a); ; #undef yythunkpos #undef yypos #undef yy #undef c #undef a } YY_ACTION(void) yy_1_Inlines(yycontext *ctx, char *yytext, int yyleng) { #define c ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Inlines\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef c #undef a } YY_ACTION(void) yy_1_StyleBlock(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_StyleBlock\n")); if (extension(EXT_FILTER_STYLES)) { yy = mk_list(LIST, NULL); } else { yy = mk_str(yytext); yy->key = HTMLBLOCK; } ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_HtmlBlock(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_HtmlBlock\n")); if (extension(EXT_FILTER_HTML)) { yy = mk_list(LIST, NULL); } else { yy = mk_str(yytext); yy->key = HTMLBLOCK; } ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_OrderedList(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_OrderedList\n")); yy->key = ORDEREDLIST; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_3_ListContinuationBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_ListContinuationBlock\n")); yy = mk_str_from_list(a, false); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_ListContinuationBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_ListContinuationBlock\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_ListContinuationBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ListContinuationBlock\n")); if (strlen(yytext) == 0) a = cons(mk_str("\001"), a); /* block separator */ else a = cons(mk_str(yytext), a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_3_ListBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_ListBlock\n")); yy = mk_str_from_list(a, false); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_ListBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_ListBlock\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_ListBlock(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ListBlock\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_3_ListItemTight(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_ListItemTight\n")); element *raw; raw = mk_str_from_list(a, false); raw->key = RAW; yy = mk_element(LISTITEM); yy->children = raw; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_ListItemTight(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_ListItemTight\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_ListItemTight(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ListItemTight\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_3_ListItem(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_ListItem\n")); element *raw; raw = mk_str_from_list(a, false); raw->key = RAW; yy = mk_element(LISTITEM); yy->children = raw; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_ListItem(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_ListItem\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_ListItem(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ListItem\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_ListLoose(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_ListLoose\n")); yy = mk_list(LIST, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_1_ListLoose(yycontext *ctx, char *yytext, int yyleng) { #define b ctx->val[-1] #define a ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ListLoose\n")); element *li; li = b->children; li->contents.str = realloc(li->contents.str, strlen(li->contents.str) + 3); strcat(li->contents.str, "\n\n"); /* In loose list, \n\n added to end of each element */ a = cons(b, a); ; #undef yythunkpos #undef yypos #undef yy #undef b #undef a } YY_ACTION(void) yy_2_ListTight(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_ListTight\n")); yy = mk_list(LIST, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_ListTight(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_ListTight\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_BulletList(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_BulletList\n")); yy->key = BULLETLIST; ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_HorizontalRule(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_HorizontalRule\n")); yy = mk_element(HRULE); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_2_Verbatim(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_Verbatim\n")); yy = mk_str_from_list(a, false); yy->key = VERBATIM; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_Verbatim(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Verbatim\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_3_VerbatimChunk(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_VerbatimChunk\n")); yy = mk_str_from_list(a, false); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_VerbatimChunk(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_VerbatimChunk\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_VerbatimChunk(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_VerbatimChunk\n")); a = cons(mk_str("\n"), a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_4_BlockQuoteRaw(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_4_BlockQuoteRaw\n")); yy = mk_str_from_list(a, true); yy->key = RAW; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_3_BlockQuoteRaw(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_BlockQuoteRaw\n")); a = cons(mk_str("\n"), a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_BlockQuoteRaw(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_BlockQuoteRaw\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_BlockQuoteRaw(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_BlockQuoteRaw\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_BlockQuote(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_BlockQuote\n")); yy = mk_element(BLOCKQUOTE); yy->children = a; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_SetextHeading2(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_SetextHeading2\n")); yy = mk_list(H2, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_SetextHeading2(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_SetextHeading2\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_SetextHeading1(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_SetextHeading1\n")); yy = mk_list(H1, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_SetextHeading1(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_SetextHeading1\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_AtxHeading(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define s ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_AtxHeading\n")); yy = mk_list(s->key, a); free(s); ; #undef yythunkpos #undef yypos #undef yy #undef a #undef s } YY_ACTION(void) yy_1_AtxHeading(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define s ctx->val[-2] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_AtxHeading\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a #undef s } YY_ACTION(void) yy_1_AtxStart(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_AtxStart\n")); yy = mk_element(H1 + (strlen(yytext) - 1)); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_Plain(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Plain\n")); yy = a; yy->key = PLAIN; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_Para(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Para\n")); yy = a; yy->key = PARA; ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_2_Doc(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_Doc\n")); parse_result = reverse(a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_ACTION(void) yy_1_Doc(yycontext *ctx, char *yytext, int yyleng) { #define a ctx->val[-1] #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_Doc\n")); a = cons(yy, a); ; #undef yythunkpos #undef yypos #undef yy #undef a } YY_RULE(int) yy_Notes(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "Notes")); if (!yy_StartList(ctx)) goto l1; yyDo(ctx, yySet, -2, 0); l2:; { int yypos3= ctx->pos, yythunkpos3= ctx->thunkpos; { int yypos4= ctx->pos, yythunkpos4= ctx->thunkpos; if (!yy_Note(ctx)) goto l5; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_Notes, ctx->begin, ctx->end); goto l4; l5:; ctx->pos= yypos4; ctx->thunkpos= yythunkpos4; if (!yy_SkipBlock(ctx)) goto l3; } l4:; goto l2; l3:; ctx->pos= yypos3; ctx->thunkpos= yythunkpos3; } yyDo(ctx, yy_2_Notes, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Notes", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l1:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Notes", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RawNoteBlock(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "RawNoteBlock")); if (!yy_StartList(ctx)) goto l6; yyDo(ctx, yySet, -1, 0); { int yypos9= ctx->pos, yythunkpos9= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l9; goto l6; l9:; ctx->pos= yypos9; ctx->thunkpos= yythunkpos9; } if (!yy_OptionallyIndentedLine(ctx)) goto l6; yyDo(ctx, yy_1_RawNoteBlock, ctx->begin, ctx->end); l7:; { int yypos8= ctx->pos, yythunkpos8= ctx->thunkpos; { int yypos10= ctx->pos, yythunkpos10= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l10; goto l8; l10:; ctx->pos= yypos10; ctx->thunkpos= yythunkpos10; } if (!yy_OptionallyIndentedLine(ctx)) goto l8; yyDo(ctx, yy_1_RawNoteBlock, ctx->begin, ctx->end); goto l7; l8:; ctx->pos= yypos8; ctx->thunkpos= yythunkpos8; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l6; l11:; { int yypos12= ctx->pos, yythunkpos12= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l12; goto l11; l12:; ctx->pos= yypos12; ctx->thunkpos= yythunkpos12; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l6; yyDo(ctx, yy_2_RawNoteBlock, ctx->begin, ctx->end); yyDo(ctx, yy_3_RawNoteBlock, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "RawNoteBlock", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l6:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RawNoteBlock", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RawNoteReference(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RawNoteReference")); if (!yymatchString(ctx, "[^")) goto l13; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l13; { int yypos16= ctx->pos, yythunkpos16= ctx->thunkpos; if (!yy_Newline(ctx)) goto l16; goto l13; l16:; ctx->pos= yypos16; ctx->thunkpos= yythunkpos16; } { int yypos17= ctx->pos, yythunkpos17= ctx->thunkpos; if (!yymatchChar(ctx, ']')) goto l17; goto l13; l17:; ctx->pos= yypos17; ctx->thunkpos= yythunkpos17; } if (!yymatchDot(ctx)) goto l13; l14:; { int yypos15= ctx->pos, yythunkpos15= ctx->thunkpos; { int yypos18= ctx->pos, yythunkpos18= ctx->thunkpos; if (!yy_Newline(ctx)) goto l18; goto l15; l18:; ctx->pos= yypos18; ctx->thunkpos= yythunkpos18; } { int yypos19= ctx->pos, yythunkpos19= ctx->thunkpos; if (!yymatchChar(ctx, ']')) goto l19; goto l15; l19:; ctx->pos= yypos19; ctx->thunkpos= yythunkpos19; } if (!yymatchDot(ctx)) goto l15; goto l14; l15:; ctx->pos= yypos15; ctx->thunkpos= yythunkpos15; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l13; if (!yymatchChar(ctx, ']')) goto l13; yyDo(ctx, yy_1_RawNoteReference, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "RawNoteReference", ctx->buf+ctx->pos)); return 1; l13:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RawNoteReference", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_DoubleQuoteEnd(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "DoubleQuoteEnd")); if (!yymatchChar(ctx, '"')) goto l20; yyprintf((stderr, " ok %s @ %s\n", "DoubleQuoteEnd", ctx->buf+ctx->pos)); return 1; l20:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "DoubleQuoteEnd", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_DoubleQuoteStart(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "DoubleQuoteStart")); if (!yymatchChar(ctx, '"')) goto l21; yyprintf((stderr, " ok %s @ %s\n", "DoubleQuoteStart", ctx->buf+ctx->pos)); return 1; l21:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "DoubleQuoteStart", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SingleQuoteEnd(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "SingleQuoteEnd")); if (!yymatchChar(ctx, '\'')) goto l22; { int yypos23= ctx->pos, yythunkpos23= ctx->thunkpos; if (!yy_Alphanumeric(ctx)) goto l23; goto l22; l23:; ctx->pos= yypos23; ctx->thunkpos= yythunkpos23; } yyprintf((stderr, " ok %s @ %s\n", "SingleQuoteEnd", ctx->buf+ctx->pos)); return 1; l22:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SingleQuoteEnd", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SingleQuoteStart(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "SingleQuoteStart")); if (!yymatchChar(ctx, '\'')) goto l24; { int yypos25= ctx->pos, yythunkpos25= ctx->thunkpos; { int yypos26= ctx->pos, yythunkpos26= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l27; goto l26; l27:; ctx->pos= yypos26; ctx->thunkpos= yythunkpos26; if (!yy_Newline(ctx)) goto l25; } l26:; goto l24; l25:; ctx->pos= yypos25; ctx->thunkpos= yythunkpos25; } yyprintf((stderr, " ok %s @ %s\n", "SingleQuoteStart", ctx->buf+ctx->pos)); return 1; l24:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SingleQuoteStart", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_EnDash(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "EnDash")); if (!yymatchChar(ctx, '-')) goto l28; { int yypos29= ctx->pos, yythunkpos29= ctx->thunkpos; if (!yy_Digit(ctx)) goto l28; ctx->pos= yypos29; ctx->thunkpos= yythunkpos29; } yyDo(ctx, yy_1_EnDash, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "EnDash", ctx->buf+ctx->pos)); return 1; l28:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "EnDash", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_EmDash(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "EmDash")); { int yypos31= ctx->pos, yythunkpos31= ctx->thunkpos; if (!yymatchString(ctx, "---")) goto l32; goto l31; l32:; ctx->pos= yypos31; ctx->thunkpos= yythunkpos31; if (!yymatchString(ctx, "--")) goto l30; } l31:; yyDo(ctx, yy_1_EmDash, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "EmDash", ctx->buf+ctx->pos)); return 1; l30:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "EmDash", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Apostrophe(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Apostrophe")); if (!yymatchChar(ctx, '\'')) goto l33; yyDo(ctx, yy_1_Apostrophe, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Apostrophe", ctx->buf+ctx->pos)); return 1; l33:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Apostrophe", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_DoubleQuoted(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "DoubleQuoted")); if (!yy_DoubleQuoteStart(ctx)) goto l34; if (!yy_StartList(ctx)) goto l34; yyDo(ctx, yySet, -2, 0); { int yypos37= ctx->pos, yythunkpos37= ctx->thunkpos; if (!yy_DoubleQuoteEnd(ctx)) goto l37; goto l34; l37:; ctx->pos= yypos37; ctx->thunkpos= yythunkpos37; } if (!yy_Inline(ctx)) goto l34; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_DoubleQuoted, ctx->begin, ctx->end); l35:; { int yypos36= ctx->pos, yythunkpos36= ctx->thunkpos; { int yypos38= ctx->pos, yythunkpos38= ctx->thunkpos; if (!yy_DoubleQuoteEnd(ctx)) goto l38; goto l36; l38:; ctx->pos= yypos38; ctx->thunkpos= yythunkpos38; } if (!yy_Inline(ctx)) goto l36; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_DoubleQuoted, ctx->begin, ctx->end); goto l35; l36:; ctx->pos= yypos36; ctx->thunkpos= yythunkpos36; } if (!yy_DoubleQuoteEnd(ctx)) goto l34; yyDo(ctx, yy_2_DoubleQuoted, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "DoubleQuoted", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l34:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "DoubleQuoted", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SingleQuoted(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "SingleQuoted")); if (!yy_SingleQuoteStart(ctx)) goto l39; if (!yy_StartList(ctx)) goto l39; yyDo(ctx, yySet, -2, 0); { int yypos42= ctx->pos, yythunkpos42= ctx->thunkpos; if (!yy_SingleQuoteEnd(ctx)) goto l42; goto l39; l42:; ctx->pos= yypos42; ctx->thunkpos= yythunkpos42; } if (!yy_Inline(ctx)) goto l39; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_SingleQuoted, ctx->begin, ctx->end); l40:; { int yypos41= ctx->pos, yythunkpos41= ctx->thunkpos; { int yypos43= ctx->pos, yythunkpos43= ctx->thunkpos; if (!yy_SingleQuoteEnd(ctx)) goto l43; goto l41; l43:; ctx->pos= yypos43; ctx->thunkpos= yythunkpos43; } if (!yy_Inline(ctx)) goto l41; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_SingleQuoted, ctx->begin, ctx->end); goto l40; l41:; ctx->pos= yypos41; ctx->thunkpos= yythunkpos41; } if (!yy_SingleQuoteEnd(ctx)) goto l39; yyDo(ctx, yy_2_SingleQuoted, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "SingleQuoted", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l39:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SingleQuoted", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Dash(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Dash")); { int yypos45= ctx->pos, yythunkpos45= ctx->thunkpos; if (!yy_EmDash(ctx)) goto l46; goto l45; l46:; ctx->pos= yypos45; ctx->thunkpos= yythunkpos45; if (!yy_EnDash(ctx)) goto l44; } l45:; yyprintf((stderr, " ok %s @ %s\n", "Dash", ctx->buf+ctx->pos)); return 1; l44:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Dash", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Ellipsis(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Ellipsis")); { int yypos48= ctx->pos, yythunkpos48= ctx->thunkpos; if (!yymatchString(ctx, "...")) goto l49; goto l48; l49:; ctx->pos= yypos48; ctx->thunkpos= yythunkpos48; if (!yymatchString(ctx, ". . .")) goto l47; } l48:; yyDo(ctx, yy_1_Ellipsis, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Ellipsis", ctx->buf+ctx->pos)); return 1; l47:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Ellipsis", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Digit(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Digit")); if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l50; yyprintf((stderr, " ok %s @ %s\n", "Digit", ctx->buf+ctx->pos)); return 1; l50:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Digit", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ExtendedSpecialChar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "ExtendedSpecialChar")); { int yypos52= ctx->pos, yythunkpos52= ctx->thunkpos; yyText(ctx, ctx->begin, ctx->end); if (!( extension(EXT_SMART) )) goto l53; { int yypos54= ctx->pos, yythunkpos54= ctx->thunkpos; if (!yymatchChar(ctx, '.')) goto l55; goto l54; l55:; ctx->pos= yypos54; ctx->thunkpos= yythunkpos54; if (!yymatchChar(ctx, '-')) goto l56; goto l54; l56:; ctx->pos= yypos54; ctx->thunkpos= yythunkpos54; if (!yymatchChar(ctx, '\'')) goto l57; goto l54; l57:; ctx->pos= yypos54; ctx->thunkpos= yythunkpos54; if (!yymatchChar(ctx, '"')) goto l53; } l54:; goto l52; l53:; ctx->pos= yypos52; ctx->thunkpos= yythunkpos52; yyText(ctx, ctx->begin, ctx->end); if (!( extension(EXT_NOTES) )) goto l51; if (!yymatchChar(ctx, '^')) goto l51; } l52:; yyprintf((stderr, " ok %s @ %s\n", "ExtendedSpecialChar", ctx->buf+ctx->pos)); return 1; l51:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ExtendedSpecialChar", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AlphanumericAscii(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "AlphanumericAscii")); if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l58; yyprintf((stderr, " ok %s @ %s\n", "AlphanumericAscii", ctx->buf+ctx->pos)); return 1; l58:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AlphanumericAscii", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Quoted(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Quoted")); { int yypos60= ctx->pos, yythunkpos60= ctx->thunkpos; if (!yymatchChar(ctx, '"')) goto l61; l62:; { int yypos63= ctx->pos, yythunkpos63= ctx->thunkpos; { int yypos64= ctx->pos, yythunkpos64= ctx->thunkpos; if (!yymatchChar(ctx, '"')) goto l64; goto l63; l64:; ctx->pos= yypos64; ctx->thunkpos= yythunkpos64; } if (!yymatchDot(ctx)) goto l63; goto l62; l63:; ctx->pos= yypos63; ctx->thunkpos= yythunkpos63; } if (!yymatchChar(ctx, '"')) goto l61; goto l60; l61:; ctx->pos= yypos60; ctx->thunkpos= yythunkpos60; if (!yymatchChar(ctx, '\'')) goto l59; l65:; { int yypos66= ctx->pos, yythunkpos66= ctx->thunkpos; { int yypos67= ctx->pos, yythunkpos67= ctx->thunkpos; if (!yymatchChar(ctx, '\'')) goto l67; goto l66; l67:; ctx->pos= yypos67; ctx->thunkpos= yythunkpos67; } if (!yymatchDot(ctx)) goto l66; goto l65; l66:; ctx->pos= yypos66; ctx->thunkpos= yythunkpos66; } if (!yymatchChar(ctx, '\'')) goto l59; } l60:; yyprintf((stderr, " ok %s @ %s\n", "Quoted", ctx->buf+ctx->pos)); return 1; l59:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Quoted", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlTag(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlTag")); if (!yymatchChar(ctx, '<')) goto l68; if (!yy_Spnl(ctx)) goto l68; { int yypos69= ctx->pos, yythunkpos69= ctx->thunkpos; if (!yymatchChar(ctx, '/')) goto l69; goto l70; l69:; ctx->pos= yypos69; ctx->thunkpos= yythunkpos69; } l70:; if (!yy_AlphanumericAscii(ctx)) goto l68; l71:; { int yypos72= ctx->pos, yythunkpos72= ctx->thunkpos; if (!yy_AlphanumericAscii(ctx)) goto l72; goto l71; l72:; ctx->pos= yypos72; ctx->thunkpos= yythunkpos72; } if (!yy_Spnl(ctx)) goto l68; l73:; { int yypos74= ctx->pos, yythunkpos74= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l74; goto l73; l74:; ctx->pos= yypos74; ctx->thunkpos= yythunkpos74; } { int yypos75= ctx->pos, yythunkpos75= ctx->thunkpos; if (!yymatchChar(ctx, '/')) goto l75; goto l76; l75:; ctx->pos= yypos75; ctx->thunkpos= yythunkpos75; } l76:; if (!yy_Spnl(ctx)) goto l68; if (!yymatchChar(ctx, '>')) goto l68; yyprintf((stderr, " ok %s @ %s\n", "HtmlTag", ctx->buf+ctx->pos)); return 1; l68:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlTag", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Ticks5(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Ticks5")); if (!yymatchString(ctx, "`````")) goto l77; { int yypos78= ctx->pos, yythunkpos78= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l78; goto l77; l78:; ctx->pos= yypos78; ctx->thunkpos= yythunkpos78; } yyprintf((stderr, " ok %s @ %s\n", "Ticks5", ctx->buf+ctx->pos)); return 1; l77:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Ticks5", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Ticks4(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Ticks4")); if (!yymatchString(ctx, "````")) goto l79; { int yypos80= ctx->pos, yythunkpos80= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l80; goto l79; l80:; ctx->pos= yypos80; ctx->thunkpos= yythunkpos80; } yyprintf((stderr, " ok %s @ %s\n", "Ticks4", ctx->buf+ctx->pos)); return 1; l79:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Ticks4", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Ticks3(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Ticks3")); if (!yymatchString(ctx, "```")) goto l81; { int yypos82= ctx->pos, yythunkpos82= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l82; goto l81; l82:; ctx->pos= yypos82; ctx->thunkpos= yythunkpos82; } yyprintf((stderr, " ok %s @ %s\n", "Ticks3", ctx->buf+ctx->pos)); return 1; l81:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Ticks3", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Ticks2(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Ticks2")); if (!yymatchString(ctx, "``")) goto l83; { int yypos84= ctx->pos, yythunkpos84= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l84; goto l83; l84:; ctx->pos= yypos84; ctx->thunkpos= yythunkpos84; } yyprintf((stderr, " ok %s @ %s\n", "Ticks2", ctx->buf+ctx->pos)); return 1; l83:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Ticks2", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Ticks1(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Ticks1")); if (!yymatchChar(ctx, '`')) goto l85; { int yypos86= ctx->pos, yythunkpos86= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l86; goto l85; l86:; ctx->pos= yypos86; ctx->thunkpos= yythunkpos86; } yyprintf((stderr, " ok %s @ %s\n", "Ticks1", ctx->buf+ctx->pos)); return 1; l85:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Ticks1", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SkipBlock(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "SkipBlock")); { int yypos88= ctx->pos, yythunkpos88= ctx->thunkpos; if (!yy_HtmlBlock(ctx)) goto l89; goto l88; l89:; ctx->pos= yypos88; ctx->thunkpos= yythunkpos88; { int yypos93= ctx->pos, yythunkpos93= ctx->thunkpos; if (!yymatchChar(ctx, '#')) goto l93; goto l90; l93:; ctx->pos= yypos93; ctx->thunkpos= yythunkpos93; } { int yypos94= ctx->pos, yythunkpos94= ctx->thunkpos; if (!yy_SetextBottom1(ctx)) goto l94; goto l90; l94:; ctx->pos= yypos94; ctx->thunkpos= yythunkpos94; } { int yypos95= ctx->pos, yythunkpos95= ctx->thunkpos; if (!yy_SetextBottom2(ctx)) goto l95; goto l90; l95:; ctx->pos= yypos95; ctx->thunkpos= yythunkpos95; } { int yypos96= ctx->pos, yythunkpos96= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l96; goto l90; l96:; ctx->pos= yypos96; ctx->thunkpos= yythunkpos96; } if (!yy_RawLine(ctx)) goto l90; l91:; { int yypos92= ctx->pos, yythunkpos92= ctx->thunkpos; { int yypos97= ctx->pos, yythunkpos97= ctx->thunkpos; if (!yymatchChar(ctx, '#')) goto l97; goto l92; l97:; ctx->pos= yypos97; ctx->thunkpos= yythunkpos97; } { int yypos98= ctx->pos, yythunkpos98= ctx->thunkpos; if (!yy_SetextBottom1(ctx)) goto l98; goto l92; l98:; ctx->pos= yypos98; ctx->thunkpos= yythunkpos98; } { int yypos99= ctx->pos, yythunkpos99= ctx->thunkpos; if (!yy_SetextBottom2(ctx)) goto l99; goto l92; l99:; ctx->pos= yypos99; ctx->thunkpos= yythunkpos99; } { int yypos100= ctx->pos, yythunkpos100= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l100; goto l92; l100:; ctx->pos= yypos100; ctx->thunkpos= yythunkpos100; } if (!yy_RawLine(ctx)) goto l92; goto l91; l92:; ctx->pos= yypos92; ctx->thunkpos= yythunkpos92; } l101:; { int yypos102= ctx->pos, yythunkpos102= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l102; goto l101; l102:; ctx->pos= yypos102; ctx->thunkpos= yythunkpos102; } goto l88; l90:; ctx->pos= yypos88; ctx->thunkpos= yythunkpos88; if (!yy_BlankLine(ctx)) goto l103; l104:; { int yypos105= ctx->pos, yythunkpos105= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l105; goto l104; l105:; ctx->pos= yypos105; ctx->thunkpos= yythunkpos105; } goto l88; l103:; ctx->pos= yypos88; ctx->thunkpos= yythunkpos88; if (!yy_RawLine(ctx)) goto l87; } l88:; yyprintf((stderr, " ok %s @ %s\n", "SkipBlock", ctx->buf+ctx->pos)); return 1; l87:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SkipBlock", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_References(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "References")); if (!yy_StartList(ctx)) goto l106; yyDo(ctx, yySet, -2, 0); l107:; { int yypos108= ctx->pos, yythunkpos108= ctx->thunkpos; { int yypos109= ctx->pos, yythunkpos109= ctx->thunkpos; if (!yy_Reference(ctx)) goto l110; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_References, ctx->begin, ctx->end); goto l109; l110:; ctx->pos= yypos109; ctx->thunkpos= yythunkpos109; if (!yy_SkipBlock(ctx)) goto l108; } l109:; goto l107; l108:; ctx->pos= yypos108; ctx->thunkpos= yythunkpos108; } yyDo(ctx, yy_2_References, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "References", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l106:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "References", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_EmptyTitle(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "EmptyTitle")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l111; if (!yymatchString(ctx, "")) goto l111; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l111; yyprintf((stderr, " ok %s @ %s\n", "EmptyTitle", ctx->buf+ctx->pos)); return 1; l111:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "EmptyTitle", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RefTitleParens(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RefTitleParens")); if (!yy_Spnl(ctx)) goto l112; if (!yymatchChar(ctx, '(')) goto l112; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l112; l113:; { int yypos114= ctx->pos, yythunkpos114= ctx->thunkpos; { int yypos115= ctx->pos, yythunkpos115= ctx->thunkpos; { int yypos116= ctx->pos, yythunkpos116= ctx->thunkpos; if (!yymatchChar(ctx, ')')) goto l117; if (!yy_Sp(ctx)) goto l117; if (!yy_Newline(ctx)) goto l117; goto l116; l117:; ctx->pos= yypos116; ctx->thunkpos= yythunkpos116; if (!yy_Newline(ctx)) goto l115; } l116:; goto l114; l115:; ctx->pos= yypos115; ctx->thunkpos= yythunkpos115; } if (!yymatchDot(ctx)) goto l114; goto l113; l114:; ctx->pos= yypos114; ctx->thunkpos= yythunkpos114; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l112; if (!yymatchChar(ctx, ')')) goto l112; yyprintf((stderr, " ok %s @ %s\n", "RefTitleParens", ctx->buf+ctx->pos)); return 1; l112:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RefTitleParens", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RefTitleDouble(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RefTitleDouble")); if (!yy_Spnl(ctx)) goto l118; if (!yymatchChar(ctx, '"')) goto l118; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l118; l119:; { int yypos120= ctx->pos, yythunkpos120= ctx->thunkpos; { int yypos121= ctx->pos, yythunkpos121= ctx->thunkpos; { int yypos122= ctx->pos, yythunkpos122= ctx->thunkpos; if (!yymatchChar(ctx, '"')) goto l123; if (!yy_Sp(ctx)) goto l123; if (!yy_Newline(ctx)) goto l123; goto l122; l123:; ctx->pos= yypos122; ctx->thunkpos= yythunkpos122; if (!yy_Newline(ctx)) goto l121; } l122:; goto l120; l121:; ctx->pos= yypos121; ctx->thunkpos= yythunkpos121; } if (!yymatchDot(ctx)) goto l120; goto l119; l120:; ctx->pos= yypos120; ctx->thunkpos= yythunkpos120; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l118; if (!yymatchChar(ctx, '"')) goto l118; yyprintf((stderr, " ok %s @ %s\n", "RefTitleDouble", ctx->buf+ctx->pos)); return 1; l118:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RefTitleDouble", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RefTitleSingle(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RefTitleSingle")); if (!yy_Spnl(ctx)) goto l124; if (!yymatchChar(ctx, '\'')) goto l124; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l124; l125:; { int yypos126= ctx->pos, yythunkpos126= ctx->thunkpos; { int yypos127= ctx->pos, yythunkpos127= ctx->thunkpos; { int yypos128= ctx->pos, yythunkpos128= ctx->thunkpos; if (!yymatchChar(ctx, '\'')) goto l129; if (!yy_Sp(ctx)) goto l129; if (!yy_Newline(ctx)) goto l129; goto l128; l129:; ctx->pos= yypos128; ctx->thunkpos= yythunkpos128; if (!yy_Newline(ctx)) goto l127; } l128:; goto l126; l127:; ctx->pos= yypos127; ctx->thunkpos= yythunkpos127; } if (!yymatchDot(ctx)) goto l126; goto l125; l126:; ctx->pos= yypos126; ctx->thunkpos= yythunkpos126; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l124; if (!yymatchChar(ctx, '\'')) goto l124; yyprintf((stderr, " ok %s @ %s\n", "RefTitleSingle", ctx->buf+ctx->pos)); return 1; l124:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RefTitleSingle", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RefTitle(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RefTitle")); { int yypos131= ctx->pos, yythunkpos131= ctx->thunkpos; if (!yy_RefTitleSingle(ctx)) goto l132; goto l131; l132:; ctx->pos= yypos131; ctx->thunkpos= yythunkpos131; if (!yy_RefTitleDouble(ctx)) goto l133; goto l131; l133:; ctx->pos= yypos131; ctx->thunkpos= yythunkpos131; if (!yy_RefTitleParens(ctx)) goto l134; goto l131; l134:; ctx->pos= yypos131; ctx->thunkpos= yythunkpos131; if (!yy_EmptyTitle(ctx)) goto l130; } l131:; yyDo(ctx, yy_1_RefTitle, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "RefTitle", ctx->buf+ctx->pos)); return 1; l130:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RefTitle", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RefSrc(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RefSrc")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l135; if (!yy_Nonspacechar(ctx)) goto l135; l136:; { int yypos137= ctx->pos, yythunkpos137= ctx->thunkpos; if (!yy_Nonspacechar(ctx)) goto l137; goto l136; l137:; ctx->pos= yypos137; ctx->thunkpos= yythunkpos137; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l135; yyDo(ctx, yy_1_RefSrc, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "RefSrc", ctx->buf+ctx->pos)); return 1; l135:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RefSrc", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AutoLinkEmail(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "AutoLinkEmail")); if (!yymatchChar(ctx, '<')) goto l138; { int yypos139= ctx->pos, yythunkpos139= ctx->thunkpos; if (!yymatchString(ctx, "mailto:")) goto l139; goto l140; l139:; ctx->pos= yypos139; ctx->thunkpos= yythunkpos139; } l140:; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l138; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\062\350\377\003\376\377\377\207\376\377\377\107\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l138; l141:; { int yypos142= ctx->pos, yythunkpos142= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\062\350\377\003\376\377\377\207\376\377\377\107\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l142; goto l141; l142:; ctx->pos= yypos142; ctx->thunkpos= yythunkpos142; } if (!yymatchChar(ctx, '@')) goto l138; { int yypos145= ctx->pos, yythunkpos145= ctx->thunkpos; if (!yy_Newline(ctx)) goto l145; goto l138; l145:; ctx->pos= yypos145; ctx->thunkpos= yythunkpos145; } { int yypos146= ctx->pos, yythunkpos146= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l146; goto l138; l146:; ctx->pos= yypos146; ctx->thunkpos= yythunkpos146; } if (!yymatchDot(ctx)) goto l138; l143:; { int yypos144= ctx->pos, yythunkpos144= ctx->thunkpos; { int yypos147= ctx->pos, yythunkpos147= ctx->thunkpos; if (!yy_Newline(ctx)) goto l147; goto l144; l147:; ctx->pos= yypos147; ctx->thunkpos= yythunkpos147; } { int yypos148= ctx->pos, yythunkpos148= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l148; goto l144; l148:; ctx->pos= yypos148; ctx->thunkpos= yythunkpos148; } if (!yymatchDot(ctx)) goto l144; goto l143; l144:; ctx->pos= yypos144; ctx->thunkpos= yythunkpos144; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l138; if (!yymatchChar(ctx, '>')) goto l138; yyDo(ctx, yy_1_AutoLinkEmail, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "AutoLinkEmail", ctx->buf+ctx->pos)); return 1; l138:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AutoLinkEmail", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AutoLinkUrl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "AutoLinkUrl")); if (!yymatchChar(ctx, '<')) goto l149; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l149; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\000\000\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l149; l150:; { int yypos151= ctx->pos, yythunkpos151= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\000\000\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l151; goto l150; l151:; ctx->pos= yypos151; ctx->thunkpos= yythunkpos151; } if (!yymatchString(ctx, "://")) goto l149; { int yypos154= ctx->pos, yythunkpos154= ctx->thunkpos; if (!yy_Newline(ctx)) goto l154; goto l149; l154:; ctx->pos= yypos154; ctx->thunkpos= yythunkpos154; } { int yypos155= ctx->pos, yythunkpos155= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l155; goto l149; l155:; ctx->pos= yypos155; ctx->thunkpos= yythunkpos155; } if (!yymatchDot(ctx)) goto l149; l152:; { int yypos153= ctx->pos, yythunkpos153= ctx->thunkpos; { int yypos156= ctx->pos, yythunkpos156= ctx->thunkpos; if (!yy_Newline(ctx)) goto l156; goto l153; l156:; ctx->pos= yypos156; ctx->thunkpos= yythunkpos156; } { int yypos157= ctx->pos, yythunkpos157= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l157; goto l153; l157:; ctx->pos= yypos157; ctx->thunkpos= yythunkpos157; } if (!yymatchDot(ctx)) goto l153; goto l152; l153:; ctx->pos= yypos153; ctx->thunkpos= yythunkpos153; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l149; if (!yymatchChar(ctx, '>')) goto l149; yyDo(ctx, yy_1_AutoLinkUrl, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "AutoLinkUrl", ctx->buf+ctx->pos)); return 1; l149:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AutoLinkUrl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_TitleDouble(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "TitleDouble")); if (!yymatchChar(ctx, '"')) goto l158; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l158; l159:; { int yypos160= ctx->pos, yythunkpos160= ctx->thunkpos; { int yypos161= ctx->pos, yythunkpos161= ctx->thunkpos; if (!yymatchChar(ctx, '"')) goto l161; if (!yy_Sp(ctx)) goto l161; { int yypos162= ctx->pos, yythunkpos162= ctx->thunkpos; if (!yymatchChar(ctx, ')')) goto l163; goto l162; l163:; ctx->pos= yypos162; ctx->thunkpos= yythunkpos162; if (!yy_Newline(ctx)) goto l161; } l162:; goto l160; l161:; ctx->pos= yypos161; ctx->thunkpos= yythunkpos161; } if (!yymatchDot(ctx)) goto l160; goto l159; l160:; ctx->pos= yypos160; ctx->thunkpos= yythunkpos160; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l158; if (!yymatchChar(ctx, '"')) goto l158; yyprintf((stderr, " ok %s @ %s\n", "TitleDouble", ctx->buf+ctx->pos)); return 1; l158:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "TitleDouble", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_TitleSingle(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "TitleSingle")); if (!yymatchChar(ctx, '\'')) goto l164; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l164; l165:; { int yypos166= ctx->pos, yythunkpos166= ctx->thunkpos; { int yypos167= ctx->pos, yythunkpos167= ctx->thunkpos; if (!yymatchChar(ctx, '\'')) goto l167; if (!yy_Sp(ctx)) goto l167; { int yypos168= ctx->pos, yythunkpos168= ctx->thunkpos; if (!yymatchChar(ctx, ')')) goto l169; goto l168; l169:; ctx->pos= yypos168; ctx->thunkpos= yythunkpos168; if (!yy_Newline(ctx)) goto l167; } l168:; goto l166; l167:; ctx->pos= yypos167; ctx->thunkpos= yythunkpos167; } if (!yymatchDot(ctx)) goto l166; goto l165; l166:; ctx->pos= yypos166; ctx->thunkpos= yythunkpos166; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l164; if (!yymatchChar(ctx, '\'')) goto l164; yyprintf((stderr, " ok %s @ %s\n", "TitleSingle", ctx->buf+ctx->pos)); return 1; l164:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "TitleSingle", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Nonspacechar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Nonspacechar")); { int yypos171= ctx->pos, yythunkpos171= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l171; goto l170; l171:; ctx->pos= yypos171; ctx->thunkpos= yythunkpos171; } { int yypos172= ctx->pos, yythunkpos172= ctx->thunkpos; if (!yy_Newline(ctx)) goto l172; goto l170; l172:; ctx->pos= yypos172; ctx->thunkpos= yythunkpos172; } if (!yymatchDot(ctx)) goto l170; yyprintf((stderr, " ok %s @ %s\n", "Nonspacechar", ctx->buf+ctx->pos)); return 1; l170:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Nonspacechar", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SourceContents(yycontext *ctx) { yyprintf((stderr, "%s\n", "SourceContents")); l174:; { int yypos175= ctx->pos, yythunkpos175= ctx->thunkpos; { int yypos176= ctx->pos, yythunkpos176= ctx->thunkpos; { int yypos180= ctx->pos, yythunkpos180= ctx->thunkpos; if (!yymatchChar(ctx, '(')) goto l180; goto l177; l180:; ctx->pos= yypos180; ctx->thunkpos= yythunkpos180; } { int yypos181= ctx->pos, yythunkpos181= ctx->thunkpos; if (!yymatchChar(ctx, ')')) goto l181; goto l177; l181:; ctx->pos= yypos181; ctx->thunkpos= yythunkpos181; } { int yypos182= ctx->pos, yythunkpos182= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l182; goto l177; l182:; ctx->pos= yypos182; ctx->thunkpos= yythunkpos182; } if (!yy_Nonspacechar(ctx)) goto l177; l178:; { int yypos179= ctx->pos, yythunkpos179= ctx->thunkpos; { int yypos183= ctx->pos, yythunkpos183= ctx->thunkpos; if (!yymatchChar(ctx, '(')) goto l183; goto l179; l183:; ctx->pos= yypos183; ctx->thunkpos= yythunkpos183; } { int yypos184= ctx->pos, yythunkpos184= ctx->thunkpos; if (!yymatchChar(ctx, ')')) goto l184; goto l179; l184:; ctx->pos= yypos184; ctx->thunkpos= yythunkpos184; } { int yypos185= ctx->pos, yythunkpos185= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l185; goto l179; l185:; ctx->pos= yypos185; ctx->thunkpos= yythunkpos185; } if (!yy_Nonspacechar(ctx)) goto l179; goto l178; l179:; ctx->pos= yypos179; ctx->thunkpos= yythunkpos179; } goto l176; l177:; ctx->pos= yypos176; ctx->thunkpos= yythunkpos176; if (!yymatchChar(ctx, '(')) goto l175; if (!yy_SourceContents(ctx)) goto l175; if (!yymatchChar(ctx, ')')) goto l175; } l176:; goto l174; l175:; ctx->pos= yypos175; ctx->thunkpos= yythunkpos175; } yyprintf((stderr, " ok %s @ %s\n", "SourceContents", ctx->buf+ctx->pos)); return 1; } YY_RULE(int) yy_Title(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Title")); { int yypos187= ctx->pos, yythunkpos187= ctx->thunkpos; if (!yy_TitleSingle(ctx)) goto l188; goto l187; l188:; ctx->pos= yypos187; ctx->thunkpos= yythunkpos187; if (!yy_TitleDouble(ctx)) goto l189; goto l187; l189:; ctx->pos= yypos187; ctx->thunkpos= yythunkpos187; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l186; if (!yymatchString(ctx, "")) goto l186; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l186; } l187:; yyDo(ctx, yy_1_Title, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Title", ctx->buf+ctx->pos)); return 1; l186:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Title", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Source(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Source")); { int yypos191= ctx->pos, yythunkpos191= ctx->thunkpos; if (!yymatchChar(ctx, '<')) goto l192; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l192; if (!yy_SourceContents(ctx)) goto l192; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l192; if (!yymatchChar(ctx, '>')) goto l192; goto l191; l192:; ctx->pos= yypos191; ctx->thunkpos= yythunkpos191; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l190; if (!yy_SourceContents(ctx)) goto l190; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l190; } l191:; yyDo(ctx, yy_1_Source, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Source", ctx->buf+ctx->pos)); return 1; l190:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Source", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Label(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "Label")); if (!yymatchChar(ctx, '[')) goto l193; { int yypos194= ctx->pos, yythunkpos194= ctx->thunkpos; { int yypos196= ctx->pos, yythunkpos196= ctx->thunkpos; if (!yymatchChar(ctx, '^')) goto l196; goto l195; l196:; ctx->pos= yypos196; ctx->thunkpos= yythunkpos196; } yyText(ctx, ctx->begin, ctx->end); if (!( extension(EXT_NOTES) )) goto l195; goto l194; l195:; ctx->pos= yypos194; ctx->thunkpos= yythunkpos194; { int yypos197= ctx->pos, yythunkpos197= ctx->thunkpos; if (!yymatchDot(ctx)) goto l193; ctx->pos= yypos197; ctx->thunkpos= yythunkpos197; } yyText(ctx, ctx->begin, ctx->end); if (!( !extension(EXT_NOTES) )) goto l193; } l194:; if (!yy_StartList(ctx)) goto l193; yyDo(ctx, yySet, -1, 0); l198:; { int yypos199= ctx->pos, yythunkpos199= ctx->thunkpos; { int yypos200= ctx->pos, yythunkpos200= ctx->thunkpos; if (!yymatchChar(ctx, ']')) goto l200; goto l199; l200:; ctx->pos= yypos200; ctx->thunkpos= yythunkpos200; } if (!yy_Inline(ctx)) goto l199; yyDo(ctx, yy_1_Label, ctx->begin, ctx->end); goto l198; l199:; ctx->pos= yypos199; ctx->thunkpos= yythunkpos199; } if (!yymatchChar(ctx, ']')) goto l193; yyDo(ctx, yy_2_Label, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Label", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l193:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Label", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ReferenceLinkSingle(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "ReferenceLinkSingle")); if (!yy_Label(ctx)) goto l201; yyDo(ctx, yySet, -1, 0); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l201; { int yypos202= ctx->pos, yythunkpos202= ctx->thunkpos; if (!yy_Spnl(ctx)) goto l202; if (!yymatchString(ctx, "[]")) goto l202; goto l203; l202:; ctx->pos= yypos202; ctx->thunkpos= yythunkpos202; } l203:; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l201; yyDo(ctx, yy_1_ReferenceLinkSingle, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ReferenceLinkSingle", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l201:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ReferenceLinkSingle", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ReferenceLinkDouble(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "ReferenceLinkDouble")); if (!yy_Label(ctx)) goto l204; yyDo(ctx, yySet, -2, 0); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l204; if (!yy_Spnl(ctx)) goto l204; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l204; { int yypos205= ctx->pos, yythunkpos205= ctx->thunkpos; if (!yymatchString(ctx, "[]")) goto l205; goto l204; l205:; ctx->pos= yypos205; ctx->thunkpos= yythunkpos205; } if (!yy_Label(ctx)) goto l204; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_ReferenceLinkDouble, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ReferenceLinkDouble", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l204:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ReferenceLinkDouble", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AutoLink(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "AutoLink")); { int yypos207= ctx->pos, yythunkpos207= ctx->thunkpos; if (!yy_AutoLinkUrl(ctx)) goto l208; goto l207; l208:; ctx->pos= yypos207; ctx->thunkpos= yythunkpos207; if (!yy_AutoLinkEmail(ctx)) goto l206; } l207:; yyprintf((stderr, " ok %s @ %s\n", "AutoLink", ctx->buf+ctx->pos)); return 1; l206:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AutoLink", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ReferenceLink(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "ReferenceLink")); { int yypos210= ctx->pos, yythunkpos210= ctx->thunkpos; if (!yy_ReferenceLinkDouble(ctx)) goto l211; goto l210; l211:; ctx->pos= yypos210; ctx->thunkpos= yythunkpos210; if (!yy_ReferenceLinkSingle(ctx)) goto l209; } l210:; yyprintf((stderr, " ok %s @ %s\n", "ReferenceLink", ctx->buf+ctx->pos)); return 1; l209:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ReferenceLink", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ExplicitLink(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 3, 0); yyprintf((stderr, "%s\n", "ExplicitLink")); if (!yy_Label(ctx)) goto l212; yyDo(ctx, yySet, -3, 0); if (!yymatchChar(ctx, '(')) goto l212; if (!yy_Sp(ctx)) goto l212; if (!yy_Source(ctx)) goto l212; yyDo(ctx, yySet, -2, 0); if (!yy_Spnl(ctx)) goto l212; if (!yy_Title(ctx)) goto l212; yyDo(ctx, yySet, -1, 0); if (!yy_Sp(ctx)) goto l212; if (!yymatchChar(ctx, ')')) goto l212; yyDo(ctx, yy_1_ExplicitLink, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ExplicitLink", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 3, 0); return 1; l212:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ExplicitLink", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_StrongUl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "StrongUl")); if (!yymatchString(ctx, "__")) goto l213; { int yypos214= ctx->pos, yythunkpos214= ctx->thunkpos; if (!yy_Whitespace(ctx)) goto l214; goto l213; l214:; ctx->pos= yypos214; ctx->thunkpos= yythunkpos214; } if (!yy_StartList(ctx)) goto l213; yyDo(ctx, yySet, -2, 0); { int yypos217= ctx->pos, yythunkpos217= ctx->thunkpos; if (!yymatchString(ctx, "__")) goto l217; goto l213; l217:; ctx->pos= yypos217; ctx->thunkpos= yythunkpos217; } if (!yy_Inline(ctx)) goto l213; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_StrongUl, ctx->begin, ctx->end); l215:; { int yypos216= ctx->pos, yythunkpos216= ctx->thunkpos; { int yypos218= ctx->pos, yythunkpos218= ctx->thunkpos; if (!yymatchString(ctx, "__")) goto l218; goto l216; l218:; ctx->pos= yypos218; ctx->thunkpos= yythunkpos218; } if (!yy_Inline(ctx)) goto l216; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_StrongUl, ctx->begin, ctx->end); goto l215; l216:; ctx->pos= yypos216; ctx->thunkpos= yythunkpos216; } if (!yymatchString(ctx, "__")) goto l213; yyDo(ctx, yy_2_StrongUl, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "StrongUl", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l213:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StrongUl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_StrongStar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "StrongStar")); if (!yymatchString(ctx, "**")) goto l219; { int yypos220= ctx->pos, yythunkpos220= ctx->thunkpos; if (!yy_Whitespace(ctx)) goto l220; goto l219; l220:; ctx->pos= yypos220; ctx->thunkpos= yythunkpos220; } if (!yy_StartList(ctx)) goto l219; yyDo(ctx, yySet, -2, 0); { int yypos223= ctx->pos, yythunkpos223= ctx->thunkpos; if (!yymatchString(ctx, "**")) goto l223; goto l219; l223:; ctx->pos= yypos223; ctx->thunkpos= yythunkpos223; } if (!yy_Inline(ctx)) goto l219; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_StrongStar, ctx->begin, ctx->end); l221:; { int yypos222= ctx->pos, yythunkpos222= ctx->thunkpos; { int yypos224= ctx->pos, yythunkpos224= ctx->thunkpos; if (!yymatchString(ctx, "**")) goto l224; goto l222; l224:; ctx->pos= yypos224; ctx->thunkpos= yythunkpos224; } if (!yy_Inline(ctx)) goto l222; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_StrongStar, ctx->begin, ctx->end); goto l221; l222:; ctx->pos= yypos222; ctx->thunkpos= yythunkpos222; } if (!yymatchString(ctx, "**")) goto l219; yyDo(ctx, yy_2_StrongStar, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "StrongStar", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l219:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StrongStar", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Whitespace(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Whitespace")); { int yypos226= ctx->pos, yythunkpos226= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l227; goto l226; l227:; ctx->pos= yypos226; ctx->thunkpos= yythunkpos226; if (!yy_Newline(ctx)) goto l225; } l226:; yyprintf((stderr, " ok %s @ %s\n", "Whitespace", ctx->buf+ctx->pos)); return 1; l225:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Whitespace", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_EmphUl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "EmphUl")); if (!yymatchChar(ctx, '_')) goto l228; { int yypos229= ctx->pos, yythunkpos229= ctx->thunkpos; if (!yy_Whitespace(ctx)) goto l229; goto l228; l229:; ctx->pos= yypos229; ctx->thunkpos= yythunkpos229; } if (!yy_StartList(ctx)) goto l228; yyDo(ctx, yySet, -2, 0); { int yypos232= ctx->pos, yythunkpos232= ctx->thunkpos; { int yypos234= ctx->pos, yythunkpos234= ctx->thunkpos; if (!yymatchChar(ctx, '_')) goto l234; goto l233; l234:; ctx->pos= yypos234; ctx->thunkpos= yythunkpos234; } if (!yy_Inline(ctx)) goto l233; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_EmphUl, ctx->begin, ctx->end); goto l232; l233:; ctx->pos= yypos232; ctx->thunkpos= yythunkpos232; if (!yy_StrongUl(ctx)) goto l228; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_2_EmphUl, ctx->begin, ctx->end); } l232:; l230:; { int yypos231= ctx->pos, yythunkpos231= ctx->thunkpos; { int yypos235= ctx->pos, yythunkpos235= ctx->thunkpos; { int yypos237= ctx->pos, yythunkpos237= ctx->thunkpos; if (!yymatchChar(ctx, '_')) goto l237; goto l236; l237:; ctx->pos= yypos237; ctx->thunkpos= yythunkpos237; } if (!yy_Inline(ctx)) goto l236; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_EmphUl, ctx->begin, ctx->end); goto l235; l236:; ctx->pos= yypos235; ctx->thunkpos= yythunkpos235; if (!yy_StrongUl(ctx)) goto l231; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_2_EmphUl, ctx->begin, ctx->end); } l235:; goto l230; l231:; ctx->pos= yypos231; ctx->thunkpos= yythunkpos231; } if (!yymatchChar(ctx, '_')) goto l228; yyDo(ctx, yy_3_EmphUl, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "EmphUl", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l228:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "EmphUl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_EmphStar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "EmphStar")); if (!yymatchChar(ctx, '*')) goto l238; { int yypos239= ctx->pos, yythunkpos239= ctx->thunkpos; if (!yy_Whitespace(ctx)) goto l239; goto l238; l239:; ctx->pos= yypos239; ctx->thunkpos= yythunkpos239; } if (!yy_StartList(ctx)) goto l238; yyDo(ctx, yySet, -2, 0); { int yypos242= ctx->pos, yythunkpos242= ctx->thunkpos; { int yypos244= ctx->pos, yythunkpos244= ctx->thunkpos; if (!yymatchChar(ctx, '*')) goto l244; goto l243; l244:; ctx->pos= yypos244; ctx->thunkpos= yythunkpos244; } if (!yy_Inline(ctx)) goto l243; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_EmphStar, ctx->begin, ctx->end); goto l242; l243:; ctx->pos= yypos242; ctx->thunkpos= yythunkpos242; if (!yy_StrongStar(ctx)) goto l238; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_2_EmphStar, ctx->begin, ctx->end); } l242:; l240:; { int yypos241= ctx->pos, yythunkpos241= ctx->thunkpos; { int yypos245= ctx->pos, yythunkpos245= ctx->thunkpos; { int yypos247= ctx->pos, yythunkpos247= ctx->thunkpos; if (!yymatchChar(ctx, '*')) goto l247; goto l246; l247:; ctx->pos= yypos247; ctx->thunkpos= yythunkpos247; } if (!yy_Inline(ctx)) goto l246; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_EmphStar, ctx->begin, ctx->end); goto l245; l246:; ctx->pos= yypos245; ctx->thunkpos= yythunkpos245; if (!yy_StrongStar(ctx)) goto l241; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_2_EmphStar, ctx->begin, ctx->end); } l245:; goto l240; l241:; ctx->pos= yypos241; ctx->thunkpos= yythunkpos241; } if (!yymatchChar(ctx, '*')) goto l238; yyDo(ctx, yy_3_EmphStar, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "EmphStar", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l238:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "EmphStar", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_StarLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "StarLine")); { int yypos249= ctx->pos, yythunkpos249= ctx->thunkpos; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l250; if (!yymatchString(ctx, "****")) goto l250; l251:; { int yypos252= ctx->pos, yythunkpos252= ctx->thunkpos; if (!yymatchChar(ctx, '*')) goto l252; goto l251; l252:; ctx->pos= yypos252; ctx->thunkpos= yythunkpos252; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l250; goto l249; l250:; ctx->pos= yypos249; ctx->thunkpos= yythunkpos249; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l248; if (!yy_Spacechar(ctx)) goto l248; if (!yymatchChar(ctx, '*')) goto l248; l253:; { int yypos254= ctx->pos, yythunkpos254= ctx->thunkpos; if (!yymatchChar(ctx, '*')) goto l254; goto l253; l254:; ctx->pos= yypos254; ctx->thunkpos= yythunkpos254; } { int yypos255= ctx->pos, yythunkpos255= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l248; ctx->pos= yypos255; ctx->thunkpos= yythunkpos255; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l248; } l249:; yyprintf((stderr, " ok %s @ %s\n", "StarLine", ctx->buf+ctx->pos)); return 1; l248:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StarLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_UlLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "UlLine")); { int yypos257= ctx->pos, yythunkpos257= ctx->thunkpos; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l258; if (!yymatchString(ctx, "____")) goto l258; l259:; { int yypos260= ctx->pos, yythunkpos260= ctx->thunkpos; if (!yymatchChar(ctx, '_')) goto l260; goto l259; l260:; ctx->pos= yypos260; ctx->thunkpos= yythunkpos260; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l258; goto l257; l258:; ctx->pos= yypos257; ctx->thunkpos= yythunkpos257; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l256; if (!yy_Spacechar(ctx)) goto l256; if (!yymatchChar(ctx, '_')) goto l256; l261:; { int yypos262= ctx->pos, yythunkpos262= ctx->thunkpos; if (!yymatchChar(ctx, '_')) goto l262; goto l261; l262:; ctx->pos= yypos262; ctx->thunkpos= yythunkpos262; } { int yypos263= ctx->pos, yythunkpos263= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l256; ctx->pos= yypos263; ctx->thunkpos= yythunkpos263; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l256; } l257:; yyprintf((stderr, " ok %s @ %s\n", "UlLine", ctx->buf+ctx->pos)); return 1; l256:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "UlLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SpecialChar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "SpecialChar")); { int yypos265= ctx->pos, yythunkpos265= ctx->thunkpos; if (!yymatchChar(ctx, '*')) goto l266; goto l265; l266:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '_')) goto l267; goto l265; l267:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '`')) goto l268; goto l265; l268:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '&')) goto l269; goto l265; l269:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '[')) goto l270; goto l265; l270:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, ']')) goto l271; goto l265; l271:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '(')) goto l272; goto l265; l272:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, ')')) goto l273; goto l265; l273:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '<')) goto l274; goto l265; l274:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '!')) goto l275; goto l265; l275:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '#')) goto l276; goto l265; l276:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '\\')) goto l277; goto l265; l277:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '\'')) goto l278; goto l265; l278:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yymatchChar(ctx, '"')) goto l279; goto l265; l279:; ctx->pos= yypos265; ctx->thunkpos= yythunkpos265; if (!yy_ExtendedSpecialChar(ctx)) goto l264; } l265:; yyprintf((stderr, " ok %s @ %s\n", "SpecialChar", ctx->buf+ctx->pos)); return 1; l264:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SpecialChar", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Eof(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Eof")); { int yypos281= ctx->pos, yythunkpos281= ctx->thunkpos; if (!yymatchDot(ctx)) goto l281; goto l280; l281:; ctx->pos= yypos281; ctx->thunkpos= yythunkpos281; } yyprintf((stderr, " ok %s @ %s\n", "Eof", ctx->buf+ctx->pos)); return 1; l280:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Eof", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_NormalEndline(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "NormalEndline")); if (!yy_Sp(ctx)) goto l282; if (!yy_Newline(ctx)) goto l282; { int yypos283= ctx->pos, yythunkpos283= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l283; goto l282; l283:; ctx->pos= yypos283; ctx->thunkpos= yythunkpos283; } { int yypos284= ctx->pos, yythunkpos284= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l284; goto l282; l284:; ctx->pos= yypos284; ctx->thunkpos= yythunkpos284; } { int yypos285= ctx->pos, yythunkpos285= ctx->thunkpos; if (!yy_AtxStart(ctx)) goto l285; goto l282; l285:; ctx->pos= yypos285; ctx->thunkpos= yythunkpos285; } { int yypos286= ctx->pos, yythunkpos286= ctx->thunkpos; if (!yy_Line(ctx)) goto l286; { int yypos287= ctx->pos, yythunkpos287= ctx->thunkpos; if (!yymatchChar(ctx, '=')) goto l288; l289:; { int yypos290= ctx->pos, yythunkpos290= ctx->thunkpos; if (!yymatchChar(ctx, '=')) goto l290; goto l289; l290:; ctx->pos= yypos290; ctx->thunkpos= yythunkpos290; } goto l287; l288:; ctx->pos= yypos287; ctx->thunkpos= yythunkpos287; if (!yymatchChar(ctx, '-')) goto l286; l291:; { int yypos292= ctx->pos, yythunkpos292= ctx->thunkpos; if (!yymatchChar(ctx, '-')) goto l292; goto l291; l292:; ctx->pos= yypos292; ctx->thunkpos= yythunkpos292; } } l287:; if (!yy_Newline(ctx)) goto l286; goto l282; l286:; ctx->pos= yypos286; ctx->thunkpos= yythunkpos286; } yyDo(ctx, yy_1_NormalEndline, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "NormalEndline", ctx->buf+ctx->pos)); return 1; l282:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "NormalEndline", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_TerminalEndline(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "TerminalEndline")); if (!yy_Sp(ctx)) goto l293; if (!yy_Newline(ctx)) goto l293; if (!yy_Eof(ctx)) goto l293; yyDo(ctx, yy_1_TerminalEndline, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "TerminalEndline", ctx->buf+ctx->pos)); return 1; l293:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "TerminalEndline", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_LineBreak(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "LineBreak")); if (!yymatchString(ctx, " ")) goto l294; if (!yy_NormalEndline(ctx)) goto l294; yyDo(ctx, yy_1_LineBreak, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "LineBreak", ctx->buf+ctx->pos)); return 1; l294:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "LineBreak", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_CharEntity(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "CharEntity")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l295; if (!yymatchChar(ctx, '&')) goto l295; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l295; l296:; { int yypos297= ctx->pos, yythunkpos297= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l297; goto l296; l297:; ctx->pos= yypos297; ctx->thunkpos= yythunkpos297; } if (!yymatchChar(ctx, ';')) goto l295; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l295; yyprintf((stderr, " ok %s @ %s\n", "CharEntity", ctx->buf+ctx->pos)); return 1; l295:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "CharEntity", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_DecEntity(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "DecEntity")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l298; if (!yymatchChar(ctx, '&')) goto l298; if (!yymatchChar(ctx, '#')) goto l298; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l298; l299:; { int yypos300= ctx->pos, yythunkpos300= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l300; goto l299; l300:; ctx->pos= yypos300; ctx->thunkpos= yythunkpos300; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l298; if (!yymatchChar(ctx, ';')) goto l298; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l298; yyprintf((stderr, " ok %s @ %s\n", "DecEntity", ctx->buf+ctx->pos)); return 1; l298:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "DecEntity", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HexEntity(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HexEntity")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l301; if (!yymatchChar(ctx, '&')) goto l301; if (!yymatchChar(ctx, '#')) goto l301; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l301; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\176\000\000\000\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l301; l302:; { int yypos303= ctx->pos, yythunkpos303= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\176\000\000\000\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l303; goto l302; l303:; ctx->pos= yypos303; ctx->thunkpos= yythunkpos303; } if (!yymatchChar(ctx, ';')) goto l301; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l301; yyprintf((stderr, " ok %s @ %s\n", "HexEntity", ctx->buf+ctx->pos)); return 1; l301:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HexEntity", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AposChunk(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "AposChunk")); yyText(ctx, ctx->begin, ctx->end); if (!( extension(EXT_SMART) )) goto l304; if (!yymatchChar(ctx, '\'')) goto l304; { int yypos305= ctx->pos, yythunkpos305= ctx->thunkpos; if (!yy_Alphanumeric(ctx)) goto l304; ctx->pos= yypos305; ctx->thunkpos= yythunkpos305; } yyDo(ctx, yy_1_AposChunk, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "AposChunk", ctx->buf+ctx->pos)); return 1; l304:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AposChunk", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Alphanumeric(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Alphanumeric")); { int yypos307= ctx->pos, yythunkpos307= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\376\377\377\007\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l308; goto l307; l308:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\200")) goto l309; goto l307; l309:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\201")) goto l310; goto l307; l310:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\202")) goto l311; goto l307; l311:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\203")) goto l312; goto l307; l312:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\204")) goto l313; goto l307; l313:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\205")) goto l314; goto l307; l314:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\206")) goto l315; goto l307; l315:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\207")) goto l316; goto l307; l316:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\210")) goto l317; goto l307; l317:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\211")) goto l318; goto l307; l318:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\212")) goto l319; goto l307; l319:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\213")) goto l320; goto l307; l320:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\214")) goto l321; goto l307; l321:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\215")) goto l322; goto l307; l322:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\216")) goto l323; goto l307; l323:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\217")) goto l324; goto l307; l324:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\220")) goto l325; goto l307; l325:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\221")) goto l326; goto l307; l326:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\222")) goto l327; goto l307; l327:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\223")) goto l328; goto l307; l328:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\224")) goto l329; goto l307; l329:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\225")) goto l330; goto l307; l330:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\226")) goto l331; goto l307; l331:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\227")) goto l332; goto l307; l332:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\230")) goto l333; goto l307; l333:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\231")) goto l334; goto l307; l334:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\232")) goto l335; goto l307; l335:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\233")) goto l336; goto l307; l336:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\234")) goto l337; goto l307; l337:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\235")) goto l338; goto l307; l338:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\236")) goto l339; goto l307; l339:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\237")) goto l340; goto l307; l340:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\240")) goto l341; goto l307; l341:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\241")) goto l342; goto l307; l342:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\242")) goto l343; goto l307; l343:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\243")) goto l344; goto l307; l344:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\244")) goto l345; goto l307; l345:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\245")) goto l346; goto l307; l346:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\246")) goto l347; goto l307; l347:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\247")) goto l348; goto l307; l348:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\250")) goto l349; goto l307; l349:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\251")) goto l350; goto l307; l350:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\252")) goto l351; goto l307; l351:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\253")) goto l352; goto l307; l352:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\254")) goto l353; goto l307; l353:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\255")) goto l354; goto l307; l354:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\256")) goto l355; goto l307; l355:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\257")) goto l356; goto l307; l356:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\260")) goto l357; goto l307; l357:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\261")) goto l358; goto l307; l358:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\262")) goto l359; goto l307; l359:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\263")) goto l360; goto l307; l360:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\264")) goto l361; goto l307; l361:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\265")) goto l362; goto l307; l362:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\266")) goto l363; goto l307; l363:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\267")) goto l364; goto l307; l364:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\270")) goto l365; goto l307; l365:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\271")) goto l366; goto l307; l366:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\272")) goto l367; goto l307; l367:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\273")) goto l368; goto l307; l368:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\274")) goto l369; goto l307; l369:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\275")) goto l370; goto l307; l370:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\276")) goto l371; goto l307; l371:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\277")) goto l372; goto l307; l372:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\300")) goto l373; goto l307; l373:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\301")) goto l374; goto l307; l374:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\302")) goto l375; goto l307; l375:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\303")) goto l376; goto l307; l376:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\304")) goto l377; goto l307; l377:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\305")) goto l378; goto l307; l378:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\306")) goto l379; goto l307; l379:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\307")) goto l380; goto l307; l380:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\310")) goto l381; goto l307; l381:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\311")) goto l382; goto l307; l382:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\312")) goto l383; goto l307; l383:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\313")) goto l384; goto l307; l384:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\314")) goto l385; goto l307; l385:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\315")) goto l386; goto l307; l386:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\316")) goto l387; goto l307; l387:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\317")) goto l388; goto l307; l388:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\320")) goto l389; goto l307; l389:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\321")) goto l390; goto l307; l390:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\322")) goto l391; goto l307; l391:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\323")) goto l392; goto l307; l392:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\324")) goto l393; goto l307; l393:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\325")) goto l394; goto l307; l394:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\326")) goto l395; goto l307; l395:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\327")) goto l396; goto l307; l396:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\330")) goto l397; goto l307; l397:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\331")) goto l398; goto l307; l398:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\332")) goto l399; goto l307; l399:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\333")) goto l400; goto l307; l400:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\334")) goto l401; goto l307; l401:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\335")) goto l402; goto l307; l402:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\336")) goto l403; goto l307; l403:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\337")) goto l404; goto l307; l404:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\340")) goto l405; goto l307; l405:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\341")) goto l406; goto l307; l406:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\342")) goto l407; goto l307; l407:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\343")) goto l408; goto l307; l408:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\344")) goto l409; goto l307; l409:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\345")) goto l410; goto l307; l410:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\346")) goto l411; goto l307; l411:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\347")) goto l412; goto l307; l412:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\350")) goto l413; goto l307; l413:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\351")) goto l414; goto l307; l414:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\352")) goto l415; goto l307; l415:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\353")) goto l416; goto l307; l416:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\354")) goto l417; goto l307; l417:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\355")) goto l418; goto l307; l418:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\356")) goto l419; goto l307; l419:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\357")) goto l420; goto l307; l420:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\360")) goto l421; goto l307; l421:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\361")) goto l422; goto l307; l422:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\362")) goto l423; goto l307; l423:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\363")) goto l424; goto l307; l424:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\364")) goto l425; goto l307; l425:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\365")) goto l426; goto l307; l426:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\366")) goto l427; goto l307; l427:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\367")) goto l428; goto l307; l428:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\370")) goto l429; goto l307; l429:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\371")) goto l430; goto l307; l430:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\372")) goto l431; goto l307; l431:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\373")) goto l432; goto l307; l432:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\374")) goto l433; goto l307; l433:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\375")) goto l434; goto l307; l434:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\376")) goto l435; goto l307; l435:; ctx->pos= yypos307; ctx->thunkpos= yythunkpos307; if (!yymatchString(ctx, "\377")) goto l306; } l307:; yyprintf((stderr, " ok %s @ %s\n", "Alphanumeric", ctx->buf+ctx->pos)); return 1; l306:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Alphanumeric", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_StrChunk(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "StrChunk")); { int yypos437= ctx->pos, yythunkpos437= ctx->thunkpos; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l438; { int yypos441= ctx->pos, yythunkpos441= ctx->thunkpos; if (!yy_NormalChar(ctx)) goto l442; goto l441; l442:; ctx->pos= yypos441; ctx->thunkpos= yythunkpos441; if (!yymatchChar(ctx, '_')) goto l438; l443:; { int yypos444= ctx->pos, yythunkpos444= ctx->thunkpos; if (!yymatchChar(ctx, '_')) goto l444; goto l443; l444:; ctx->pos= yypos444; ctx->thunkpos= yythunkpos444; } { int yypos445= ctx->pos, yythunkpos445= ctx->thunkpos; if (!yy_Alphanumeric(ctx)) goto l438; ctx->pos= yypos445; ctx->thunkpos= yythunkpos445; } } l441:; l439:; { int yypos440= ctx->pos, yythunkpos440= ctx->thunkpos; { int yypos446= ctx->pos, yythunkpos446= ctx->thunkpos; if (!yy_NormalChar(ctx)) goto l447; goto l446; l447:; ctx->pos= yypos446; ctx->thunkpos= yythunkpos446; if (!yymatchChar(ctx, '_')) goto l440; l448:; { int yypos449= ctx->pos, yythunkpos449= ctx->thunkpos; if (!yymatchChar(ctx, '_')) goto l449; goto l448; l449:; ctx->pos= yypos449; ctx->thunkpos= yythunkpos449; } { int yypos450= ctx->pos, yythunkpos450= ctx->thunkpos; if (!yy_Alphanumeric(ctx)) goto l440; ctx->pos= yypos450; ctx->thunkpos= yythunkpos450; } } l446:; goto l439; l440:; ctx->pos= yypos440; ctx->thunkpos= yythunkpos440; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l438; yyDo(ctx, yy_1_StrChunk, ctx->begin, ctx->end); goto l437; l438:; ctx->pos= yypos437; ctx->thunkpos= yythunkpos437; if (!yy_AposChunk(ctx)) goto l436; } l437:; yyprintf((stderr, " ok %s @ %s\n", "StrChunk", ctx->buf+ctx->pos)); return 1; l436:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StrChunk", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_NormalChar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "NormalChar")); { int yypos452= ctx->pos, yythunkpos452= ctx->thunkpos; { int yypos453= ctx->pos, yythunkpos453= ctx->thunkpos; if (!yy_SpecialChar(ctx)) goto l454; goto l453; l454:; ctx->pos= yypos453; ctx->thunkpos= yythunkpos453; if (!yy_Spacechar(ctx)) goto l455; goto l453; l455:; ctx->pos= yypos453; ctx->thunkpos= yythunkpos453; if (!yy_Newline(ctx)) goto l452; } l453:; goto l451; l452:; ctx->pos= yypos452; ctx->thunkpos= yythunkpos452; } if (!yymatchDot(ctx)) goto l451; yyprintf((stderr, " ok %s @ %s\n", "NormalChar", ctx->buf+ctx->pos)); return 1; l451:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "NormalChar", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Symbol(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Symbol")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l456; if (!yy_SpecialChar(ctx)) goto l456; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l456; yyDo(ctx, yy_1_Symbol, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Symbol", ctx->buf+ctx->pos)); return 1; l456:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Symbol", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Smart(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Smart")); yyText(ctx, ctx->begin, ctx->end); if (!( extension(EXT_SMART) )) goto l457; { int yypos458= ctx->pos, yythunkpos458= ctx->thunkpos; if (!yy_Ellipsis(ctx)) goto l459; goto l458; l459:; ctx->pos= yypos458; ctx->thunkpos= yythunkpos458; if (!yy_Dash(ctx)) goto l460; goto l458; l460:; ctx->pos= yypos458; ctx->thunkpos= yythunkpos458; if (!yy_SingleQuoted(ctx)) goto l461; goto l458; l461:; ctx->pos= yypos458; ctx->thunkpos= yythunkpos458; if (!yy_DoubleQuoted(ctx)) goto l462; goto l458; l462:; ctx->pos= yypos458; ctx->thunkpos= yythunkpos458; if (!yy_Apostrophe(ctx)) goto l457; } l458:; yyprintf((stderr, " ok %s @ %s\n", "Smart", ctx->buf+ctx->pos)); return 1; l457:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Smart", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_EscapedChar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "EscapedChar")); if (!yymatchChar(ctx, '\\')) goto l463; { int yypos464= ctx->pos, yythunkpos464= ctx->thunkpos; if (!yy_Newline(ctx)) goto l464; goto l463; l464:; ctx->pos= yypos464; ctx->thunkpos= yythunkpos464; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l463; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\012\157\000\120\000\000\000\270\001\000\000\070\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l463; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l463; yyDo(ctx, yy_1_EscapedChar, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "EscapedChar", ctx->buf+ctx->pos)); return 1; l463:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "EscapedChar", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Entity(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Entity")); { int yypos466= ctx->pos, yythunkpos466= ctx->thunkpos; if (!yy_HexEntity(ctx)) goto l467; goto l466; l467:; ctx->pos= yypos466; ctx->thunkpos= yythunkpos466; if (!yy_DecEntity(ctx)) goto l468; goto l466; l468:; ctx->pos= yypos466; ctx->thunkpos= yythunkpos466; if (!yy_CharEntity(ctx)) goto l465; } l466:; yyDo(ctx, yy_1_Entity, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Entity", ctx->buf+ctx->pos)); return 1; l465:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Entity", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RawHtml(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RawHtml")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l469; { int yypos470= ctx->pos, yythunkpos470= ctx->thunkpos; if (!yy_HtmlComment(ctx)) goto l471; goto l470; l471:; ctx->pos= yypos470; ctx->thunkpos= yythunkpos470; if (!yy_HtmlBlockScript(ctx)) goto l472; goto l470; l472:; ctx->pos= yypos470; ctx->thunkpos= yythunkpos470; if (!yy_HtmlTag(ctx)) goto l469; } l470:; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l469; yyDo(ctx, yy_1_RawHtml, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "RawHtml", ctx->buf+ctx->pos)); return 1; l469:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RawHtml", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Code(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Code")); { int yypos474= ctx->pos, yythunkpos474= ctx->thunkpos; if (!yy_Ticks1(ctx)) goto l475; if (!yy_Sp(ctx)) goto l475; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l475; { int yypos478= ctx->pos, yythunkpos478= ctx->thunkpos; { int yypos482= ctx->pos, yythunkpos482= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l482; goto l479; l482:; ctx->pos= yypos482; ctx->thunkpos= yythunkpos482; } if (!yy_Nonspacechar(ctx)) goto l479; l480:; { int yypos481= ctx->pos, yythunkpos481= ctx->thunkpos; { int yypos483= ctx->pos, yythunkpos483= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l483; goto l481; l483:; ctx->pos= yypos483; ctx->thunkpos= yythunkpos483; } if (!yy_Nonspacechar(ctx)) goto l481; goto l480; l481:; ctx->pos= yypos481; ctx->thunkpos= yythunkpos481; } goto l478; l479:; ctx->pos= yypos478; ctx->thunkpos= yythunkpos478; { int yypos485= ctx->pos, yythunkpos485= ctx->thunkpos; if (!yy_Ticks1(ctx)) goto l485; goto l484; l485:; ctx->pos= yypos485; ctx->thunkpos= yythunkpos485; } if (!yymatchChar(ctx, '`')) goto l484; l486:; { int yypos487= ctx->pos, yythunkpos487= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l487; goto l486; l487:; ctx->pos= yypos487; ctx->thunkpos= yythunkpos487; } goto l478; l484:; ctx->pos= yypos478; ctx->thunkpos= yythunkpos478; { int yypos488= ctx->pos, yythunkpos488= ctx->thunkpos; if (!yy_Sp(ctx)) goto l488; if (!yy_Ticks1(ctx)) goto l488; goto l475; l488:; ctx->pos= yypos488; ctx->thunkpos= yythunkpos488; } { int yypos489= ctx->pos, yythunkpos489= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l490; goto l489; l490:; ctx->pos= yypos489; ctx->thunkpos= yythunkpos489; if (!yy_Newline(ctx)) goto l475; { int yypos491= ctx->pos, yythunkpos491= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l491; goto l475; l491:; ctx->pos= yypos491; ctx->thunkpos= yythunkpos491; } } l489:; } l478:; l476:; { int yypos477= ctx->pos, yythunkpos477= ctx->thunkpos; { int yypos492= ctx->pos, yythunkpos492= ctx->thunkpos; { int yypos496= ctx->pos, yythunkpos496= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l496; goto l493; l496:; ctx->pos= yypos496; ctx->thunkpos= yythunkpos496; } if (!yy_Nonspacechar(ctx)) goto l493; l494:; { int yypos495= ctx->pos, yythunkpos495= ctx->thunkpos; { int yypos497= ctx->pos, yythunkpos497= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l497; goto l495; l497:; ctx->pos= yypos497; ctx->thunkpos= yythunkpos497; } if (!yy_Nonspacechar(ctx)) goto l495; goto l494; l495:; ctx->pos= yypos495; ctx->thunkpos= yythunkpos495; } goto l492; l493:; ctx->pos= yypos492; ctx->thunkpos= yythunkpos492; { int yypos499= ctx->pos, yythunkpos499= ctx->thunkpos; if (!yy_Ticks1(ctx)) goto l499; goto l498; l499:; ctx->pos= yypos499; ctx->thunkpos= yythunkpos499; } if (!yymatchChar(ctx, '`')) goto l498; l500:; { int yypos501= ctx->pos, yythunkpos501= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l501; goto l500; l501:; ctx->pos= yypos501; ctx->thunkpos= yythunkpos501; } goto l492; l498:; ctx->pos= yypos492; ctx->thunkpos= yythunkpos492; { int yypos502= ctx->pos, yythunkpos502= ctx->thunkpos; if (!yy_Sp(ctx)) goto l502; if (!yy_Ticks1(ctx)) goto l502; goto l477; l502:; ctx->pos= yypos502; ctx->thunkpos= yythunkpos502; } { int yypos503= ctx->pos, yythunkpos503= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l504; goto l503; l504:; ctx->pos= yypos503; ctx->thunkpos= yythunkpos503; if (!yy_Newline(ctx)) goto l477; { int yypos505= ctx->pos, yythunkpos505= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l505; goto l477; l505:; ctx->pos= yypos505; ctx->thunkpos= yythunkpos505; } } l503:; } l492:; goto l476; l477:; ctx->pos= yypos477; ctx->thunkpos= yythunkpos477; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l475; if (!yy_Sp(ctx)) goto l475; if (!yy_Ticks1(ctx)) goto l475; goto l474; l475:; ctx->pos= yypos474; ctx->thunkpos= yythunkpos474; if (!yy_Ticks2(ctx)) goto l506; if (!yy_Sp(ctx)) goto l506; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l506; { int yypos509= ctx->pos, yythunkpos509= ctx->thunkpos; { int yypos513= ctx->pos, yythunkpos513= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l513; goto l510; l513:; ctx->pos= yypos513; ctx->thunkpos= yythunkpos513; } if (!yy_Nonspacechar(ctx)) goto l510; l511:; { int yypos512= ctx->pos, yythunkpos512= ctx->thunkpos; { int yypos514= ctx->pos, yythunkpos514= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l514; goto l512; l514:; ctx->pos= yypos514; ctx->thunkpos= yythunkpos514; } if (!yy_Nonspacechar(ctx)) goto l512; goto l511; l512:; ctx->pos= yypos512; ctx->thunkpos= yythunkpos512; } goto l509; l510:; ctx->pos= yypos509; ctx->thunkpos= yythunkpos509; { int yypos516= ctx->pos, yythunkpos516= ctx->thunkpos; if (!yy_Ticks2(ctx)) goto l516; goto l515; l516:; ctx->pos= yypos516; ctx->thunkpos= yythunkpos516; } if (!yymatchChar(ctx, '`')) goto l515; l517:; { int yypos518= ctx->pos, yythunkpos518= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l518; goto l517; l518:; ctx->pos= yypos518; ctx->thunkpos= yythunkpos518; } goto l509; l515:; ctx->pos= yypos509; ctx->thunkpos= yythunkpos509; { int yypos519= ctx->pos, yythunkpos519= ctx->thunkpos; if (!yy_Sp(ctx)) goto l519; if (!yy_Ticks2(ctx)) goto l519; goto l506; l519:; ctx->pos= yypos519; ctx->thunkpos= yythunkpos519; } { int yypos520= ctx->pos, yythunkpos520= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l521; goto l520; l521:; ctx->pos= yypos520; ctx->thunkpos= yythunkpos520; if (!yy_Newline(ctx)) goto l506; { int yypos522= ctx->pos, yythunkpos522= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l522; goto l506; l522:; ctx->pos= yypos522; ctx->thunkpos= yythunkpos522; } } l520:; } l509:; l507:; { int yypos508= ctx->pos, yythunkpos508= ctx->thunkpos; { int yypos523= ctx->pos, yythunkpos523= ctx->thunkpos; { int yypos527= ctx->pos, yythunkpos527= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l527; goto l524; l527:; ctx->pos= yypos527; ctx->thunkpos= yythunkpos527; } if (!yy_Nonspacechar(ctx)) goto l524; l525:; { int yypos526= ctx->pos, yythunkpos526= ctx->thunkpos; { int yypos528= ctx->pos, yythunkpos528= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l528; goto l526; l528:; ctx->pos= yypos528; ctx->thunkpos= yythunkpos528; } if (!yy_Nonspacechar(ctx)) goto l526; goto l525; l526:; ctx->pos= yypos526; ctx->thunkpos= yythunkpos526; } goto l523; l524:; ctx->pos= yypos523; ctx->thunkpos= yythunkpos523; { int yypos530= ctx->pos, yythunkpos530= ctx->thunkpos; if (!yy_Ticks2(ctx)) goto l530; goto l529; l530:; ctx->pos= yypos530; ctx->thunkpos= yythunkpos530; } if (!yymatchChar(ctx, '`')) goto l529; l531:; { int yypos532= ctx->pos, yythunkpos532= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l532; goto l531; l532:; ctx->pos= yypos532; ctx->thunkpos= yythunkpos532; } goto l523; l529:; ctx->pos= yypos523; ctx->thunkpos= yythunkpos523; { int yypos533= ctx->pos, yythunkpos533= ctx->thunkpos; if (!yy_Sp(ctx)) goto l533; if (!yy_Ticks2(ctx)) goto l533; goto l508; l533:; ctx->pos= yypos533; ctx->thunkpos= yythunkpos533; } { int yypos534= ctx->pos, yythunkpos534= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l535; goto l534; l535:; ctx->pos= yypos534; ctx->thunkpos= yythunkpos534; if (!yy_Newline(ctx)) goto l508; { int yypos536= ctx->pos, yythunkpos536= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l536; goto l508; l536:; ctx->pos= yypos536; ctx->thunkpos= yythunkpos536; } } l534:; } l523:; goto l507; l508:; ctx->pos= yypos508; ctx->thunkpos= yythunkpos508; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l506; if (!yy_Sp(ctx)) goto l506; if (!yy_Ticks2(ctx)) goto l506; goto l474; l506:; ctx->pos= yypos474; ctx->thunkpos= yythunkpos474; if (!yy_Ticks3(ctx)) goto l537; if (!yy_Sp(ctx)) goto l537; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l537; { int yypos540= ctx->pos, yythunkpos540= ctx->thunkpos; { int yypos544= ctx->pos, yythunkpos544= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l544; goto l541; l544:; ctx->pos= yypos544; ctx->thunkpos= yythunkpos544; } if (!yy_Nonspacechar(ctx)) goto l541; l542:; { int yypos543= ctx->pos, yythunkpos543= ctx->thunkpos; { int yypos545= ctx->pos, yythunkpos545= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l545; goto l543; l545:; ctx->pos= yypos545; ctx->thunkpos= yythunkpos545; } if (!yy_Nonspacechar(ctx)) goto l543; goto l542; l543:; ctx->pos= yypos543; ctx->thunkpos= yythunkpos543; } goto l540; l541:; ctx->pos= yypos540; ctx->thunkpos= yythunkpos540; { int yypos547= ctx->pos, yythunkpos547= ctx->thunkpos; if (!yy_Ticks3(ctx)) goto l547; goto l546; l547:; ctx->pos= yypos547; ctx->thunkpos= yythunkpos547; } if (!yymatchChar(ctx, '`')) goto l546; l548:; { int yypos549= ctx->pos, yythunkpos549= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l549; goto l548; l549:; ctx->pos= yypos549; ctx->thunkpos= yythunkpos549; } goto l540; l546:; ctx->pos= yypos540; ctx->thunkpos= yythunkpos540; { int yypos550= ctx->pos, yythunkpos550= ctx->thunkpos; if (!yy_Sp(ctx)) goto l550; if (!yy_Ticks3(ctx)) goto l550; goto l537; l550:; ctx->pos= yypos550; ctx->thunkpos= yythunkpos550; } { int yypos551= ctx->pos, yythunkpos551= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l552; goto l551; l552:; ctx->pos= yypos551; ctx->thunkpos= yythunkpos551; if (!yy_Newline(ctx)) goto l537; { int yypos553= ctx->pos, yythunkpos553= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l553; goto l537; l553:; ctx->pos= yypos553; ctx->thunkpos= yythunkpos553; } } l551:; } l540:; l538:; { int yypos539= ctx->pos, yythunkpos539= ctx->thunkpos; { int yypos554= ctx->pos, yythunkpos554= ctx->thunkpos; { int yypos558= ctx->pos, yythunkpos558= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l558; goto l555; l558:; ctx->pos= yypos558; ctx->thunkpos= yythunkpos558; } if (!yy_Nonspacechar(ctx)) goto l555; l556:; { int yypos557= ctx->pos, yythunkpos557= ctx->thunkpos; { int yypos559= ctx->pos, yythunkpos559= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l559; goto l557; l559:; ctx->pos= yypos559; ctx->thunkpos= yythunkpos559; } if (!yy_Nonspacechar(ctx)) goto l557; goto l556; l557:; ctx->pos= yypos557; ctx->thunkpos= yythunkpos557; } goto l554; l555:; ctx->pos= yypos554; ctx->thunkpos= yythunkpos554; { int yypos561= ctx->pos, yythunkpos561= ctx->thunkpos; if (!yy_Ticks3(ctx)) goto l561; goto l560; l561:; ctx->pos= yypos561; ctx->thunkpos= yythunkpos561; } if (!yymatchChar(ctx, '`')) goto l560; l562:; { int yypos563= ctx->pos, yythunkpos563= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l563; goto l562; l563:; ctx->pos= yypos563; ctx->thunkpos= yythunkpos563; } goto l554; l560:; ctx->pos= yypos554; ctx->thunkpos= yythunkpos554; { int yypos564= ctx->pos, yythunkpos564= ctx->thunkpos; if (!yy_Sp(ctx)) goto l564; if (!yy_Ticks3(ctx)) goto l564; goto l539; l564:; ctx->pos= yypos564; ctx->thunkpos= yythunkpos564; } { int yypos565= ctx->pos, yythunkpos565= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l566; goto l565; l566:; ctx->pos= yypos565; ctx->thunkpos= yythunkpos565; if (!yy_Newline(ctx)) goto l539; { int yypos567= ctx->pos, yythunkpos567= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l567; goto l539; l567:; ctx->pos= yypos567; ctx->thunkpos= yythunkpos567; } } l565:; } l554:; goto l538; l539:; ctx->pos= yypos539; ctx->thunkpos= yythunkpos539; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l537; if (!yy_Sp(ctx)) goto l537; if (!yy_Ticks3(ctx)) goto l537; goto l474; l537:; ctx->pos= yypos474; ctx->thunkpos= yythunkpos474; if (!yy_Ticks4(ctx)) goto l568; if (!yy_Sp(ctx)) goto l568; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l568; { int yypos571= ctx->pos, yythunkpos571= ctx->thunkpos; { int yypos575= ctx->pos, yythunkpos575= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l575; goto l572; l575:; ctx->pos= yypos575; ctx->thunkpos= yythunkpos575; } if (!yy_Nonspacechar(ctx)) goto l572; l573:; { int yypos574= ctx->pos, yythunkpos574= ctx->thunkpos; { int yypos576= ctx->pos, yythunkpos576= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l576; goto l574; l576:; ctx->pos= yypos576; ctx->thunkpos= yythunkpos576; } if (!yy_Nonspacechar(ctx)) goto l574; goto l573; l574:; ctx->pos= yypos574; ctx->thunkpos= yythunkpos574; } goto l571; l572:; ctx->pos= yypos571; ctx->thunkpos= yythunkpos571; { int yypos578= ctx->pos, yythunkpos578= ctx->thunkpos; if (!yy_Ticks4(ctx)) goto l578; goto l577; l578:; ctx->pos= yypos578; ctx->thunkpos= yythunkpos578; } if (!yymatchChar(ctx, '`')) goto l577; l579:; { int yypos580= ctx->pos, yythunkpos580= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l580; goto l579; l580:; ctx->pos= yypos580; ctx->thunkpos= yythunkpos580; } goto l571; l577:; ctx->pos= yypos571; ctx->thunkpos= yythunkpos571; { int yypos581= ctx->pos, yythunkpos581= ctx->thunkpos; if (!yy_Sp(ctx)) goto l581; if (!yy_Ticks4(ctx)) goto l581; goto l568; l581:; ctx->pos= yypos581; ctx->thunkpos= yythunkpos581; } { int yypos582= ctx->pos, yythunkpos582= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l583; goto l582; l583:; ctx->pos= yypos582; ctx->thunkpos= yythunkpos582; if (!yy_Newline(ctx)) goto l568; { int yypos584= ctx->pos, yythunkpos584= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l584; goto l568; l584:; ctx->pos= yypos584; ctx->thunkpos= yythunkpos584; } } l582:; } l571:; l569:; { int yypos570= ctx->pos, yythunkpos570= ctx->thunkpos; { int yypos585= ctx->pos, yythunkpos585= ctx->thunkpos; { int yypos589= ctx->pos, yythunkpos589= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l589; goto l586; l589:; ctx->pos= yypos589; ctx->thunkpos= yythunkpos589; } if (!yy_Nonspacechar(ctx)) goto l586; l587:; { int yypos588= ctx->pos, yythunkpos588= ctx->thunkpos; { int yypos590= ctx->pos, yythunkpos590= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l590; goto l588; l590:; ctx->pos= yypos590; ctx->thunkpos= yythunkpos590; } if (!yy_Nonspacechar(ctx)) goto l588; goto l587; l588:; ctx->pos= yypos588; ctx->thunkpos= yythunkpos588; } goto l585; l586:; ctx->pos= yypos585; ctx->thunkpos= yythunkpos585; { int yypos592= ctx->pos, yythunkpos592= ctx->thunkpos; if (!yy_Ticks4(ctx)) goto l592; goto l591; l592:; ctx->pos= yypos592; ctx->thunkpos= yythunkpos592; } if (!yymatchChar(ctx, '`')) goto l591; l593:; { int yypos594= ctx->pos, yythunkpos594= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l594; goto l593; l594:; ctx->pos= yypos594; ctx->thunkpos= yythunkpos594; } goto l585; l591:; ctx->pos= yypos585; ctx->thunkpos= yythunkpos585; { int yypos595= ctx->pos, yythunkpos595= ctx->thunkpos; if (!yy_Sp(ctx)) goto l595; if (!yy_Ticks4(ctx)) goto l595; goto l570; l595:; ctx->pos= yypos595; ctx->thunkpos= yythunkpos595; } { int yypos596= ctx->pos, yythunkpos596= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l597; goto l596; l597:; ctx->pos= yypos596; ctx->thunkpos= yythunkpos596; if (!yy_Newline(ctx)) goto l570; { int yypos598= ctx->pos, yythunkpos598= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l598; goto l570; l598:; ctx->pos= yypos598; ctx->thunkpos= yythunkpos598; } } l596:; } l585:; goto l569; l570:; ctx->pos= yypos570; ctx->thunkpos= yythunkpos570; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l568; if (!yy_Sp(ctx)) goto l568; if (!yy_Ticks4(ctx)) goto l568; goto l474; l568:; ctx->pos= yypos474; ctx->thunkpos= yythunkpos474; if (!yy_Ticks5(ctx)) goto l473; if (!yy_Sp(ctx)) goto l473; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l473; { int yypos601= ctx->pos, yythunkpos601= ctx->thunkpos; { int yypos605= ctx->pos, yythunkpos605= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l605; goto l602; l605:; ctx->pos= yypos605; ctx->thunkpos= yythunkpos605; } if (!yy_Nonspacechar(ctx)) goto l602; l603:; { int yypos604= ctx->pos, yythunkpos604= ctx->thunkpos; { int yypos606= ctx->pos, yythunkpos606= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l606; goto l604; l606:; ctx->pos= yypos606; ctx->thunkpos= yythunkpos606; } if (!yy_Nonspacechar(ctx)) goto l604; goto l603; l604:; ctx->pos= yypos604; ctx->thunkpos= yythunkpos604; } goto l601; l602:; ctx->pos= yypos601; ctx->thunkpos= yythunkpos601; { int yypos608= ctx->pos, yythunkpos608= ctx->thunkpos; if (!yy_Ticks5(ctx)) goto l608; goto l607; l608:; ctx->pos= yypos608; ctx->thunkpos= yythunkpos608; } if (!yymatchChar(ctx, '`')) goto l607; l609:; { int yypos610= ctx->pos, yythunkpos610= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l610; goto l609; l610:; ctx->pos= yypos610; ctx->thunkpos= yythunkpos610; } goto l601; l607:; ctx->pos= yypos601; ctx->thunkpos= yythunkpos601; { int yypos611= ctx->pos, yythunkpos611= ctx->thunkpos; if (!yy_Sp(ctx)) goto l611; if (!yy_Ticks5(ctx)) goto l611; goto l473; l611:; ctx->pos= yypos611; ctx->thunkpos= yythunkpos611; } { int yypos612= ctx->pos, yythunkpos612= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l613; goto l612; l613:; ctx->pos= yypos612; ctx->thunkpos= yythunkpos612; if (!yy_Newline(ctx)) goto l473; { int yypos614= ctx->pos, yythunkpos614= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l614; goto l473; l614:; ctx->pos= yypos614; ctx->thunkpos= yythunkpos614; } } l612:; } l601:; l599:; { int yypos600= ctx->pos, yythunkpos600= ctx->thunkpos; { int yypos615= ctx->pos, yythunkpos615= ctx->thunkpos; { int yypos619= ctx->pos, yythunkpos619= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l619; goto l616; l619:; ctx->pos= yypos619; ctx->thunkpos= yythunkpos619; } if (!yy_Nonspacechar(ctx)) goto l616; l617:; { int yypos618= ctx->pos, yythunkpos618= ctx->thunkpos; { int yypos620= ctx->pos, yythunkpos620= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l620; goto l618; l620:; ctx->pos= yypos620; ctx->thunkpos= yythunkpos620; } if (!yy_Nonspacechar(ctx)) goto l618; goto l617; l618:; ctx->pos= yypos618; ctx->thunkpos= yythunkpos618; } goto l615; l616:; ctx->pos= yypos615; ctx->thunkpos= yythunkpos615; { int yypos622= ctx->pos, yythunkpos622= ctx->thunkpos; if (!yy_Ticks5(ctx)) goto l622; goto l621; l622:; ctx->pos= yypos622; ctx->thunkpos= yythunkpos622; } if (!yymatchChar(ctx, '`')) goto l621; l623:; { int yypos624= ctx->pos, yythunkpos624= ctx->thunkpos; if (!yymatchChar(ctx, '`')) goto l624; goto l623; l624:; ctx->pos= yypos624; ctx->thunkpos= yythunkpos624; } goto l615; l621:; ctx->pos= yypos615; ctx->thunkpos= yythunkpos615; { int yypos625= ctx->pos, yythunkpos625= ctx->thunkpos; if (!yy_Sp(ctx)) goto l625; if (!yy_Ticks5(ctx)) goto l625; goto l600; l625:; ctx->pos= yypos625; ctx->thunkpos= yythunkpos625; } { int yypos626= ctx->pos, yythunkpos626= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l627; goto l626; l627:; ctx->pos= yypos626; ctx->thunkpos= yythunkpos626; if (!yy_Newline(ctx)) goto l600; { int yypos628= ctx->pos, yythunkpos628= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l628; goto l600; l628:; ctx->pos= yypos628; ctx->thunkpos= yythunkpos628; } } l626:; } l615:; goto l599; l600:; ctx->pos= yypos600; ctx->thunkpos= yythunkpos600; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l473; if (!yy_Sp(ctx)) goto l473; if (!yy_Ticks5(ctx)) goto l473; } l474:; yyDo(ctx, yy_1_Code, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Code", ctx->buf+ctx->pos)); return 1; l473:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Code", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_InlineNote(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "InlineNote")); yyText(ctx, ctx->begin, ctx->end); if (!( extension(EXT_NOTES) )) goto l629; if (!yymatchString(ctx, "^[")) goto l629; if (!yy_StartList(ctx)) goto l629; yyDo(ctx, yySet, -1, 0); { int yypos632= ctx->pos, yythunkpos632= ctx->thunkpos; if (!yymatchChar(ctx, ']')) goto l632; goto l629; l632:; ctx->pos= yypos632; ctx->thunkpos= yythunkpos632; } if (!yy_Inline(ctx)) goto l629; yyDo(ctx, yy_1_InlineNote, ctx->begin, ctx->end); l630:; { int yypos631= ctx->pos, yythunkpos631= ctx->thunkpos; { int yypos633= ctx->pos, yythunkpos633= ctx->thunkpos; if (!yymatchChar(ctx, ']')) goto l633; goto l631; l633:; ctx->pos= yypos633; ctx->thunkpos= yythunkpos633; } if (!yy_Inline(ctx)) goto l631; yyDo(ctx, yy_1_InlineNote, ctx->begin, ctx->end); goto l630; l631:; ctx->pos= yypos631; ctx->thunkpos= yythunkpos631; } if (!yymatchChar(ctx, ']')) goto l629; yyDo(ctx, yy_2_InlineNote, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "InlineNote", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l629:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "InlineNote", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_NoteReference(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "NoteReference")); yyText(ctx, ctx->begin, ctx->end); if (!( extension(EXT_NOTES) )) goto l634; if (!yy_RawNoteReference(ctx)) goto l634; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_NoteReference, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "NoteReference", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l634:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "NoteReference", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Link(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Link")); { int yypos636= ctx->pos, yythunkpos636= ctx->thunkpos; if (!yy_ExplicitLink(ctx)) goto l637; goto l636; l637:; ctx->pos= yypos636; ctx->thunkpos= yythunkpos636; if (!yy_ReferenceLink(ctx)) goto l638; goto l636; l638:; ctx->pos= yypos636; ctx->thunkpos= yythunkpos636; if (!yy_AutoLink(ctx)) goto l635; } l636:; yyprintf((stderr, " ok %s @ %s\n", "Link", ctx->buf+ctx->pos)); return 1; l635:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Link", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Image(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Image")); if (!yymatchChar(ctx, '!')) goto l639; { int yypos640= ctx->pos, yythunkpos640= ctx->thunkpos; if (!yy_ExplicitLink(ctx)) goto l641; goto l640; l641:; ctx->pos= yypos640; ctx->thunkpos= yythunkpos640; if (!yy_ReferenceLink(ctx)) goto l639; } l640:; yyDo(ctx, yy_1_Image, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Image", ctx->buf+ctx->pos)); return 1; l639:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Image", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Emph(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Emph")); { int yypos643= ctx->pos, yythunkpos643= ctx->thunkpos; if (!yy_EmphStar(ctx)) goto l644; goto l643; l644:; ctx->pos= yypos643; ctx->thunkpos= yythunkpos643; if (!yy_EmphUl(ctx)) goto l642; } l643:; yyprintf((stderr, " ok %s @ %s\n", "Emph", ctx->buf+ctx->pos)); return 1; l642:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Emph", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Strong(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Strong")); { int yypos646= ctx->pos, yythunkpos646= ctx->thunkpos; if (!yy_StrongStar(ctx)) goto l647; goto l646; l647:; ctx->pos= yypos646; ctx->thunkpos= yythunkpos646; if (!yy_StrongUl(ctx)) goto l645; } l646:; yyprintf((stderr, " ok %s @ %s\n", "Strong", ctx->buf+ctx->pos)); return 1; l645:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Strong", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Space(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Space")); if (!yy_Spacechar(ctx)) goto l648; l649:; { int yypos650= ctx->pos, yythunkpos650= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l650; goto l649; l650:; ctx->pos= yypos650; ctx->thunkpos= yythunkpos650; } yyDo(ctx, yy_1_Space, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Space", ctx->buf+ctx->pos)); return 1; l648:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Space", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_UlOrStarLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "UlOrStarLine")); { int yypos652= ctx->pos, yythunkpos652= ctx->thunkpos; if (!yy_UlLine(ctx)) goto l653; goto l652; l653:; ctx->pos= yypos652; ctx->thunkpos= yythunkpos652; if (!yy_StarLine(ctx)) goto l651; } l652:; yyDo(ctx, yy_1_UlOrStarLine, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "UlOrStarLine", ctx->buf+ctx->pos)); return 1; l651:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "UlOrStarLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Str(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "Str")); if (!yy_StartList(ctx)) goto l654; yyDo(ctx, yySet, -1, 0); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l654; if (!yy_NormalChar(ctx)) goto l654; l655:; { int yypos656= ctx->pos, yythunkpos656= ctx->thunkpos; if (!yy_NormalChar(ctx)) goto l656; goto l655; l656:; ctx->pos= yypos656; ctx->thunkpos= yythunkpos656; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l654; yyDo(ctx, yy_1_Str, ctx->begin, ctx->end); l657:; { int yypos658= ctx->pos, yythunkpos658= ctx->thunkpos; if (!yy_StrChunk(ctx)) goto l658; yyDo(ctx, yy_2_Str, ctx->begin, ctx->end); goto l657; l658:; ctx->pos= yypos658; ctx->thunkpos= yythunkpos658; } yyDo(ctx, yy_3_Str, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Str", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l654:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Str", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_InStyleTags(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "InStyleTags")); if (!yy_StyleOpen(ctx)) goto l659; l660:; { int yypos661= ctx->pos, yythunkpos661= ctx->thunkpos; { int yypos662= ctx->pos, yythunkpos662= ctx->thunkpos; if (!yy_StyleClose(ctx)) goto l662; goto l661; l662:; ctx->pos= yypos662; ctx->thunkpos= yythunkpos662; } if (!yymatchDot(ctx)) goto l661; goto l660; l661:; ctx->pos= yypos661; ctx->thunkpos= yythunkpos661; } if (!yy_StyleClose(ctx)) goto l659; yyprintf((stderr, " ok %s @ %s\n", "InStyleTags", ctx->buf+ctx->pos)); return 1; l659:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "InStyleTags", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_StyleClose(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "StyleClose")); if (!yymatchChar(ctx, '<')) goto l663; if (!yy_Spnl(ctx)) goto l663; if (!yymatchChar(ctx, '/')) goto l663; { int yypos664= ctx->pos, yythunkpos664= ctx->thunkpos; if (!yymatchString(ctx, "style")) goto l665; goto l664; l665:; ctx->pos= yypos664; ctx->thunkpos= yythunkpos664; if (!yymatchString(ctx, "STYLE")) goto l663; } l664:; if (!yy_Spnl(ctx)) goto l663; if (!yymatchChar(ctx, '>')) goto l663; yyprintf((stderr, " ok %s @ %s\n", "StyleClose", ctx->buf+ctx->pos)); return 1; l663:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StyleClose", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_StyleOpen(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "StyleOpen")); if (!yymatchChar(ctx, '<')) goto l666; if (!yy_Spnl(ctx)) goto l666; { int yypos667= ctx->pos, yythunkpos667= ctx->thunkpos; if (!yymatchString(ctx, "style")) goto l668; goto l667; l668:; ctx->pos= yypos667; ctx->thunkpos= yythunkpos667; if (!yymatchString(ctx, "STYLE")) goto l666; } l667:; if (!yy_Spnl(ctx)) goto l666; l669:; { int yypos670= ctx->pos, yythunkpos670= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l670; goto l669; l670:; ctx->pos= yypos670; ctx->thunkpos= yythunkpos670; } if (!yymatchChar(ctx, '>')) goto l666; yyprintf((stderr, " ok %s @ %s\n", "StyleOpen", ctx->buf+ctx->pos)); return 1; l666:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StyleOpen", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockType(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockType")); { int yypos672= ctx->pos, yythunkpos672= ctx->thunkpos; if (!yymatchString(ctx, "address")) goto l673; goto l672; l673:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "blockquote")) goto l674; goto l672; l674:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "center")) goto l675; goto l672; l675:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "dir")) goto l676; goto l672; l676:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "div")) goto l677; goto l672; l677:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "dl")) goto l678; goto l672; l678:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "fieldset")) goto l679; goto l672; l679:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "form")) goto l680; goto l672; l680:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "h1")) goto l681; goto l672; l681:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "h2")) goto l682; goto l672; l682:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "h3")) goto l683; goto l672; l683:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "h4")) goto l684; goto l672; l684:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "h5")) goto l685; goto l672; l685:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "h6")) goto l686; goto l672; l686:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "hr")) goto l687; goto l672; l687:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "isindex")) goto l688; goto l672; l688:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "menu")) goto l689; goto l672; l689:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "noframes")) goto l690; goto l672; l690:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "noscript")) goto l691; goto l672; l691:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "ol")) goto l692; goto l672; l692:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchChar(ctx, 'p')) goto l693; goto l672; l693:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "pre")) goto l694; goto l672; l694:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "table")) goto l695; goto l672; l695:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "ul")) goto l696; goto l672; l696:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "dd")) goto l697; goto l672; l697:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "dt")) goto l698; goto l672; l698:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "frameset")) goto l699; goto l672; l699:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "li")) goto l700; goto l672; l700:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "tbody")) goto l701; goto l672; l701:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "td")) goto l702; goto l672; l702:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "tfoot")) goto l703; goto l672; l703:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "th")) goto l704; goto l672; l704:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "thead")) goto l705; goto l672; l705:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "tr")) goto l706; goto l672; l706:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "script")) goto l707; goto l672; l707:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "ADDRESS")) goto l708; goto l672; l708:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "BLOCKQUOTE")) goto l709; goto l672; l709:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "CENTER")) goto l710; goto l672; l710:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "DIR")) goto l711; goto l672; l711:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "DIV")) goto l712; goto l672; l712:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "DL")) goto l713; goto l672; l713:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "FIELDSET")) goto l714; goto l672; l714:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "FORM")) goto l715; goto l672; l715:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "H1")) goto l716; goto l672; l716:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "H2")) goto l717; goto l672; l717:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "H3")) goto l718; goto l672; l718:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "H4")) goto l719; goto l672; l719:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "H5")) goto l720; goto l672; l720:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "H6")) goto l721; goto l672; l721:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "HR")) goto l722; goto l672; l722:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "ISINDEX")) goto l723; goto l672; l723:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "MENU")) goto l724; goto l672; l724:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "NOFRAMES")) goto l725; goto l672; l725:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "NOSCRIPT")) goto l726; goto l672; l726:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "OL")) goto l727; goto l672; l727:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchChar(ctx, 'P')) goto l728; goto l672; l728:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "PRE")) goto l729; goto l672; l729:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "TABLE")) goto l730; goto l672; l730:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "UL")) goto l731; goto l672; l731:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "DD")) goto l732; goto l672; l732:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "DT")) goto l733; goto l672; l733:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "FRAMESET")) goto l734; goto l672; l734:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "LI")) goto l735; goto l672; l735:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "TBODY")) goto l736; goto l672; l736:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "TD")) goto l737; goto l672; l737:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "TFOOT")) goto l738; goto l672; l738:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "TH")) goto l739; goto l672; l739:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "THEAD")) goto l740; goto l672; l740:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "TR")) goto l741; goto l672; l741:; ctx->pos= yypos672; ctx->thunkpos= yythunkpos672; if (!yymatchString(ctx, "SCRIPT")) goto l671; } l672:; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockType", ctx->buf+ctx->pos)); return 1; l671:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockType", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockSelfClosing(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockSelfClosing")); if (!yymatchChar(ctx, '<')) goto l742; if (!yy_Spnl(ctx)) goto l742; if (!yy_HtmlBlockType(ctx)) goto l742; if (!yy_Spnl(ctx)) goto l742; l743:; { int yypos744= ctx->pos, yythunkpos744= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l744; goto l743; l744:; ctx->pos= yypos744; ctx->thunkpos= yythunkpos744; } if (!yymatchChar(ctx, '/')) goto l742; if (!yy_Spnl(ctx)) goto l742; if (!yymatchChar(ctx, '>')) goto l742; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockSelfClosing", ctx->buf+ctx->pos)); return 1; l742:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockSelfClosing", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlComment(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlComment")); if (!yymatchString(ctx, "")) goto l748; goto l747; l748:; ctx->pos= yypos748; ctx->thunkpos= yythunkpos748; } if (!yymatchDot(ctx)) goto l747; goto l746; l747:; ctx->pos= yypos747; ctx->thunkpos= yythunkpos747; } if (!yymatchString(ctx, "-->")) goto l745; yyprintf((stderr, " ok %s @ %s\n", "HtmlComment", ctx->buf+ctx->pos)); return 1; l745:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlComment", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockInTags(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockInTags")); { int yypos750= ctx->pos, yythunkpos750= ctx->thunkpos; if (!yy_HtmlBlockAddress(ctx)) goto l751; goto l750; l751:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockBlockquote(ctx)) goto l752; goto l750; l752:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockCenter(ctx)) goto l753; goto l750; l753:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockDir(ctx)) goto l754; goto l750; l754:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockDiv(ctx)) goto l755; goto l750; l755:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockDl(ctx)) goto l756; goto l750; l756:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockFieldset(ctx)) goto l757; goto l750; l757:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockForm(ctx)) goto l758; goto l750; l758:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockH1(ctx)) goto l759; goto l750; l759:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockH2(ctx)) goto l760; goto l750; l760:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockH3(ctx)) goto l761; goto l750; l761:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockH4(ctx)) goto l762; goto l750; l762:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockH5(ctx)) goto l763; goto l750; l763:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockH6(ctx)) goto l764; goto l750; l764:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockMenu(ctx)) goto l765; goto l750; l765:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockNoframes(ctx)) goto l766; goto l750; l766:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockNoscript(ctx)) goto l767; goto l750; l767:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockOl(ctx)) goto l768; goto l750; l768:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockP(ctx)) goto l769; goto l750; l769:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockPre(ctx)) goto l770; goto l750; l770:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockTable(ctx)) goto l771; goto l750; l771:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockUl(ctx)) goto l772; goto l750; l772:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockDd(ctx)) goto l773; goto l750; l773:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockDt(ctx)) goto l774; goto l750; l774:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockFrameset(ctx)) goto l775; goto l750; l775:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockLi(ctx)) goto l776; goto l750; l776:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockTbody(ctx)) goto l777; goto l750; l777:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockTd(ctx)) goto l778; goto l750; l778:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockTfoot(ctx)) goto l779; goto l750; l779:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockTh(ctx)) goto l780; goto l750; l780:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockThead(ctx)) goto l781; goto l750; l781:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockTr(ctx)) goto l782; goto l750; l782:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockScript(ctx)) goto l783; goto l750; l783:; ctx->pos= yypos750; ctx->thunkpos= yythunkpos750; if (!yy_HtmlBlockHead(ctx)) goto l749; } l750:; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockInTags", ctx->buf+ctx->pos)); return 1; l749:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockInTags", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockHead(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockHead")); if (!yy_HtmlBlockOpenHead(ctx)) goto l784; l785:; { int yypos786= ctx->pos, yythunkpos786= ctx->thunkpos; { int yypos787= ctx->pos, yythunkpos787= ctx->thunkpos; if (!yy_HtmlBlockCloseHead(ctx)) goto l787; goto l786; l787:; ctx->pos= yypos787; ctx->thunkpos= yythunkpos787; } if (!yymatchDot(ctx)) goto l786; goto l785; l786:; ctx->pos= yypos786; ctx->thunkpos= yythunkpos786; } if (!yy_HtmlBlockCloseHead(ctx)) goto l784; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockHead", ctx->buf+ctx->pos)); return 1; l784:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockHead", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseHead(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseHead")); if (!yymatchChar(ctx, '<')) goto l788; if (!yy_Spnl(ctx)) goto l788; if (!yymatchChar(ctx, '/')) goto l788; { int yypos789= ctx->pos, yythunkpos789= ctx->thunkpos; if (!yymatchString(ctx, "head")) goto l790; goto l789; l790:; ctx->pos= yypos789; ctx->thunkpos= yythunkpos789; if (!yymatchString(ctx, "HEAD")) goto l788; } l789:; if (!yy_Spnl(ctx)) goto l788; if (!yymatchChar(ctx, '>')) goto l788; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseHead", ctx->buf+ctx->pos)); return 1; l788:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseHead", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenHead(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenHead")); if (!yymatchChar(ctx, '<')) goto l791; if (!yy_Spnl(ctx)) goto l791; { int yypos792= ctx->pos, yythunkpos792= ctx->thunkpos; if (!yymatchString(ctx, "head")) goto l793; goto l792; l793:; ctx->pos= yypos792; ctx->thunkpos= yythunkpos792; if (!yymatchString(ctx, "HEAD")) goto l791; } l792:; if (!yy_Spnl(ctx)) goto l791; l794:; { int yypos795= ctx->pos, yythunkpos795= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l795; goto l794; l795:; ctx->pos= yypos795; ctx->thunkpos= yythunkpos795; } if (!yymatchChar(ctx, '>')) goto l791; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenHead", ctx->buf+ctx->pos)); return 1; l791:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenHead", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockScript(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockScript")); if (!yy_HtmlBlockOpenScript(ctx)) goto l796; l797:; { int yypos798= ctx->pos, yythunkpos798= ctx->thunkpos; { int yypos799= ctx->pos, yythunkpos799= ctx->thunkpos; if (!yy_HtmlBlockCloseScript(ctx)) goto l799; goto l798; l799:; ctx->pos= yypos799; ctx->thunkpos= yythunkpos799; } if (!yymatchDot(ctx)) goto l798; goto l797; l798:; ctx->pos= yypos798; ctx->thunkpos= yythunkpos798; } if (!yy_HtmlBlockCloseScript(ctx)) goto l796; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockScript", ctx->buf+ctx->pos)); return 1; l796:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockScript", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseScript(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseScript")); if (!yymatchChar(ctx, '<')) goto l800; if (!yy_Spnl(ctx)) goto l800; if (!yymatchChar(ctx, '/')) goto l800; { int yypos801= ctx->pos, yythunkpos801= ctx->thunkpos; if (!yymatchString(ctx, "script")) goto l802; goto l801; l802:; ctx->pos= yypos801; ctx->thunkpos= yythunkpos801; if (!yymatchString(ctx, "SCRIPT")) goto l800; } l801:; if (!yy_Spnl(ctx)) goto l800; if (!yymatchChar(ctx, '>')) goto l800; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseScript", ctx->buf+ctx->pos)); return 1; l800:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseScript", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenScript(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenScript")); if (!yymatchChar(ctx, '<')) goto l803; if (!yy_Spnl(ctx)) goto l803; { int yypos804= ctx->pos, yythunkpos804= ctx->thunkpos; if (!yymatchString(ctx, "script")) goto l805; goto l804; l805:; ctx->pos= yypos804; ctx->thunkpos= yythunkpos804; if (!yymatchString(ctx, "SCRIPT")) goto l803; } l804:; if (!yy_Spnl(ctx)) goto l803; l806:; { int yypos807= ctx->pos, yythunkpos807= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l807; goto l806; l807:; ctx->pos= yypos807; ctx->thunkpos= yythunkpos807; } if (!yymatchChar(ctx, '>')) goto l803; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenScript", ctx->buf+ctx->pos)); return 1; l803:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenScript", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockTr(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockTr")); if (!yy_HtmlBlockOpenTr(ctx)) goto l808; l809:; { int yypos810= ctx->pos, yythunkpos810= ctx->thunkpos; { int yypos811= ctx->pos, yythunkpos811= ctx->thunkpos; if (!yy_HtmlBlockTr(ctx)) goto l812; goto l811; l812:; ctx->pos= yypos811; ctx->thunkpos= yythunkpos811; { int yypos813= ctx->pos, yythunkpos813= ctx->thunkpos; if (!yy_HtmlBlockCloseTr(ctx)) goto l813; goto l810; l813:; ctx->pos= yypos813; ctx->thunkpos= yythunkpos813; } if (!yymatchDot(ctx)) goto l810; } l811:; goto l809; l810:; ctx->pos= yypos810; ctx->thunkpos= yythunkpos810; } if (!yy_HtmlBlockCloseTr(ctx)) goto l808; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockTr", ctx->buf+ctx->pos)); return 1; l808:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockTr", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseTr(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseTr")); if (!yymatchChar(ctx, '<')) goto l814; if (!yy_Spnl(ctx)) goto l814; if (!yymatchChar(ctx, '/')) goto l814; { int yypos815= ctx->pos, yythunkpos815= ctx->thunkpos; if (!yymatchString(ctx, "tr")) goto l816; goto l815; l816:; ctx->pos= yypos815; ctx->thunkpos= yythunkpos815; if (!yymatchString(ctx, "TR")) goto l814; } l815:; if (!yy_Spnl(ctx)) goto l814; if (!yymatchChar(ctx, '>')) goto l814; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseTr", ctx->buf+ctx->pos)); return 1; l814:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseTr", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenTr(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenTr")); if (!yymatchChar(ctx, '<')) goto l817; if (!yy_Spnl(ctx)) goto l817; { int yypos818= ctx->pos, yythunkpos818= ctx->thunkpos; if (!yymatchString(ctx, "tr")) goto l819; goto l818; l819:; ctx->pos= yypos818; ctx->thunkpos= yythunkpos818; if (!yymatchString(ctx, "TR")) goto l817; } l818:; if (!yy_Spnl(ctx)) goto l817; l820:; { int yypos821= ctx->pos, yythunkpos821= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l821; goto l820; l821:; ctx->pos= yypos821; ctx->thunkpos= yythunkpos821; } if (!yymatchChar(ctx, '>')) goto l817; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenTr", ctx->buf+ctx->pos)); return 1; l817:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenTr", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockThead(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockThead")); if (!yy_HtmlBlockOpenThead(ctx)) goto l822; l823:; { int yypos824= ctx->pos, yythunkpos824= ctx->thunkpos; { int yypos825= ctx->pos, yythunkpos825= ctx->thunkpos; if (!yy_HtmlBlockThead(ctx)) goto l826; goto l825; l826:; ctx->pos= yypos825; ctx->thunkpos= yythunkpos825; { int yypos827= ctx->pos, yythunkpos827= ctx->thunkpos; if (!yy_HtmlBlockCloseThead(ctx)) goto l827; goto l824; l827:; ctx->pos= yypos827; ctx->thunkpos= yythunkpos827; } if (!yymatchDot(ctx)) goto l824; } l825:; goto l823; l824:; ctx->pos= yypos824; ctx->thunkpos= yythunkpos824; } if (!yy_HtmlBlockCloseThead(ctx)) goto l822; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockThead", ctx->buf+ctx->pos)); return 1; l822:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockThead", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseThead(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseThead")); if (!yymatchChar(ctx, '<')) goto l828; if (!yy_Spnl(ctx)) goto l828; if (!yymatchChar(ctx, '/')) goto l828; { int yypos829= ctx->pos, yythunkpos829= ctx->thunkpos; if (!yymatchString(ctx, "thead")) goto l830; goto l829; l830:; ctx->pos= yypos829; ctx->thunkpos= yythunkpos829; if (!yymatchString(ctx, "THEAD")) goto l828; } l829:; if (!yy_Spnl(ctx)) goto l828; if (!yymatchChar(ctx, '>')) goto l828; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseThead", ctx->buf+ctx->pos)); return 1; l828:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseThead", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenThead(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenThead")); if (!yymatchChar(ctx, '<')) goto l831; if (!yy_Spnl(ctx)) goto l831; { int yypos832= ctx->pos, yythunkpos832= ctx->thunkpos; if (!yymatchString(ctx, "thead")) goto l833; goto l832; l833:; ctx->pos= yypos832; ctx->thunkpos= yythunkpos832; if (!yymatchString(ctx, "THEAD")) goto l831; } l832:; if (!yy_Spnl(ctx)) goto l831; l834:; { int yypos835= ctx->pos, yythunkpos835= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l835; goto l834; l835:; ctx->pos= yypos835; ctx->thunkpos= yythunkpos835; } if (!yymatchChar(ctx, '>')) goto l831; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenThead", ctx->buf+ctx->pos)); return 1; l831:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenThead", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockTh(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockTh")); if (!yy_HtmlBlockOpenTh(ctx)) goto l836; l837:; { int yypos838= ctx->pos, yythunkpos838= ctx->thunkpos; { int yypos839= ctx->pos, yythunkpos839= ctx->thunkpos; if (!yy_HtmlBlockTh(ctx)) goto l840; goto l839; l840:; ctx->pos= yypos839; ctx->thunkpos= yythunkpos839; { int yypos841= ctx->pos, yythunkpos841= ctx->thunkpos; if (!yy_HtmlBlockCloseTh(ctx)) goto l841; goto l838; l841:; ctx->pos= yypos841; ctx->thunkpos= yythunkpos841; } if (!yymatchDot(ctx)) goto l838; } l839:; goto l837; l838:; ctx->pos= yypos838; ctx->thunkpos= yythunkpos838; } if (!yy_HtmlBlockCloseTh(ctx)) goto l836; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockTh", ctx->buf+ctx->pos)); return 1; l836:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockTh", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseTh(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseTh")); if (!yymatchChar(ctx, '<')) goto l842; if (!yy_Spnl(ctx)) goto l842; if (!yymatchChar(ctx, '/')) goto l842; { int yypos843= ctx->pos, yythunkpos843= ctx->thunkpos; if (!yymatchString(ctx, "th")) goto l844; goto l843; l844:; ctx->pos= yypos843; ctx->thunkpos= yythunkpos843; if (!yymatchString(ctx, "TH")) goto l842; } l843:; if (!yy_Spnl(ctx)) goto l842; if (!yymatchChar(ctx, '>')) goto l842; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseTh", ctx->buf+ctx->pos)); return 1; l842:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseTh", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenTh(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenTh")); if (!yymatchChar(ctx, '<')) goto l845; if (!yy_Spnl(ctx)) goto l845; { int yypos846= ctx->pos, yythunkpos846= ctx->thunkpos; if (!yymatchString(ctx, "th")) goto l847; goto l846; l847:; ctx->pos= yypos846; ctx->thunkpos= yythunkpos846; if (!yymatchString(ctx, "TH")) goto l845; } l846:; if (!yy_Spnl(ctx)) goto l845; l848:; { int yypos849= ctx->pos, yythunkpos849= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l849; goto l848; l849:; ctx->pos= yypos849; ctx->thunkpos= yythunkpos849; } if (!yymatchChar(ctx, '>')) goto l845; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenTh", ctx->buf+ctx->pos)); return 1; l845:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenTh", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockTfoot(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockTfoot")); if (!yy_HtmlBlockOpenTfoot(ctx)) goto l850; l851:; { int yypos852= ctx->pos, yythunkpos852= ctx->thunkpos; { int yypos853= ctx->pos, yythunkpos853= ctx->thunkpos; if (!yy_HtmlBlockTfoot(ctx)) goto l854; goto l853; l854:; ctx->pos= yypos853; ctx->thunkpos= yythunkpos853; { int yypos855= ctx->pos, yythunkpos855= ctx->thunkpos; if (!yy_HtmlBlockCloseTfoot(ctx)) goto l855; goto l852; l855:; ctx->pos= yypos855; ctx->thunkpos= yythunkpos855; } if (!yymatchDot(ctx)) goto l852; } l853:; goto l851; l852:; ctx->pos= yypos852; ctx->thunkpos= yythunkpos852; } if (!yy_HtmlBlockCloseTfoot(ctx)) goto l850; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockTfoot", ctx->buf+ctx->pos)); return 1; l850:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockTfoot", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseTfoot(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseTfoot")); if (!yymatchChar(ctx, '<')) goto l856; if (!yy_Spnl(ctx)) goto l856; if (!yymatchChar(ctx, '/')) goto l856; { int yypos857= ctx->pos, yythunkpos857= ctx->thunkpos; if (!yymatchString(ctx, "tfoot")) goto l858; goto l857; l858:; ctx->pos= yypos857; ctx->thunkpos= yythunkpos857; if (!yymatchString(ctx, "TFOOT")) goto l856; } l857:; if (!yy_Spnl(ctx)) goto l856; if (!yymatchChar(ctx, '>')) goto l856; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseTfoot", ctx->buf+ctx->pos)); return 1; l856:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseTfoot", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenTfoot(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenTfoot")); if (!yymatchChar(ctx, '<')) goto l859; if (!yy_Spnl(ctx)) goto l859; { int yypos860= ctx->pos, yythunkpos860= ctx->thunkpos; if (!yymatchString(ctx, "tfoot")) goto l861; goto l860; l861:; ctx->pos= yypos860; ctx->thunkpos= yythunkpos860; if (!yymatchString(ctx, "TFOOT")) goto l859; } l860:; if (!yy_Spnl(ctx)) goto l859; l862:; { int yypos863= ctx->pos, yythunkpos863= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l863; goto l862; l863:; ctx->pos= yypos863; ctx->thunkpos= yythunkpos863; } if (!yymatchChar(ctx, '>')) goto l859; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenTfoot", ctx->buf+ctx->pos)); return 1; l859:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenTfoot", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockTd(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockTd")); if (!yy_HtmlBlockOpenTd(ctx)) goto l864; l865:; { int yypos866= ctx->pos, yythunkpos866= ctx->thunkpos; { int yypos867= ctx->pos, yythunkpos867= ctx->thunkpos; if (!yy_HtmlBlockTd(ctx)) goto l868; goto l867; l868:; ctx->pos= yypos867; ctx->thunkpos= yythunkpos867; { int yypos869= ctx->pos, yythunkpos869= ctx->thunkpos; if (!yy_HtmlBlockCloseTd(ctx)) goto l869; goto l866; l869:; ctx->pos= yypos869; ctx->thunkpos= yythunkpos869; } if (!yymatchDot(ctx)) goto l866; } l867:; goto l865; l866:; ctx->pos= yypos866; ctx->thunkpos= yythunkpos866; } if (!yy_HtmlBlockCloseTd(ctx)) goto l864; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockTd", ctx->buf+ctx->pos)); return 1; l864:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockTd", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseTd(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseTd")); if (!yymatchChar(ctx, '<')) goto l870; if (!yy_Spnl(ctx)) goto l870; if (!yymatchChar(ctx, '/')) goto l870; { int yypos871= ctx->pos, yythunkpos871= ctx->thunkpos; if (!yymatchString(ctx, "td")) goto l872; goto l871; l872:; ctx->pos= yypos871; ctx->thunkpos= yythunkpos871; if (!yymatchString(ctx, "TD")) goto l870; } l871:; if (!yy_Spnl(ctx)) goto l870; if (!yymatchChar(ctx, '>')) goto l870; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseTd", ctx->buf+ctx->pos)); return 1; l870:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseTd", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenTd(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenTd")); if (!yymatchChar(ctx, '<')) goto l873; if (!yy_Spnl(ctx)) goto l873; { int yypos874= ctx->pos, yythunkpos874= ctx->thunkpos; if (!yymatchString(ctx, "td")) goto l875; goto l874; l875:; ctx->pos= yypos874; ctx->thunkpos= yythunkpos874; if (!yymatchString(ctx, "TD")) goto l873; } l874:; if (!yy_Spnl(ctx)) goto l873; l876:; { int yypos877= ctx->pos, yythunkpos877= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l877; goto l876; l877:; ctx->pos= yypos877; ctx->thunkpos= yythunkpos877; } if (!yymatchChar(ctx, '>')) goto l873; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenTd", ctx->buf+ctx->pos)); return 1; l873:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenTd", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockTbody(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockTbody")); if (!yy_HtmlBlockOpenTbody(ctx)) goto l878; l879:; { int yypos880= ctx->pos, yythunkpos880= ctx->thunkpos; { int yypos881= ctx->pos, yythunkpos881= ctx->thunkpos; if (!yy_HtmlBlockTbody(ctx)) goto l882; goto l881; l882:; ctx->pos= yypos881; ctx->thunkpos= yythunkpos881; { int yypos883= ctx->pos, yythunkpos883= ctx->thunkpos; if (!yy_HtmlBlockCloseTbody(ctx)) goto l883; goto l880; l883:; ctx->pos= yypos883; ctx->thunkpos= yythunkpos883; } if (!yymatchDot(ctx)) goto l880; } l881:; goto l879; l880:; ctx->pos= yypos880; ctx->thunkpos= yythunkpos880; } if (!yy_HtmlBlockCloseTbody(ctx)) goto l878; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockTbody", ctx->buf+ctx->pos)); return 1; l878:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockTbody", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseTbody(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseTbody")); if (!yymatchChar(ctx, '<')) goto l884; if (!yy_Spnl(ctx)) goto l884; if (!yymatchChar(ctx, '/')) goto l884; { int yypos885= ctx->pos, yythunkpos885= ctx->thunkpos; if (!yymatchString(ctx, "tbody")) goto l886; goto l885; l886:; ctx->pos= yypos885; ctx->thunkpos= yythunkpos885; if (!yymatchString(ctx, "TBODY")) goto l884; } l885:; if (!yy_Spnl(ctx)) goto l884; if (!yymatchChar(ctx, '>')) goto l884; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseTbody", ctx->buf+ctx->pos)); return 1; l884:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseTbody", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenTbody(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenTbody")); if (!yymatchChar(ctx, '<')) goto l887; if (!yy_Spnl(ctx)) goto l887; { int yypos888= ctx->pos, yythunkpos888= ctx->thunkpos; if (!yymatchString(ctx, "tbody")) goto l889; goto l888; l889:; ctx->pos= yypos888; ctx->thunkpos= yythunkpos888; if (!yymatchString(ctx, "TBODY")) goto l887; } l888:; if (!yy_Spnl(ctx)) goto l887; l890:; { int yypos891= ctx->pos, yythunkpos891= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l891; goto l890; l891:; ctx->pos= yypos891; ctx->thunkpos= yythunkpos891; } if (!yymatchChar(ctx, '>')) goto l887; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenTbody", ctx->buf+ctx->pos)); return 1; l887:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenTbody", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockLi(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockLi")); if (!yy_HtmlBlockOpenLi(ctx)) goto l892; l893:; { int yypos894= ctx->pos, yythunkpos894= ctx->thunkpos; { int yypos895= ctx->pos, yythunkpos895= ctx->thunkpos; if (!yy_HtmlBlockLi(ctx)) goto l896; goto l895; l896:; ctx->pos= yypos895; ctx->thunkpos= yythunkpos895; { int yypos897= ctx->pos, yythunkpos897= ctx->thunkpos; if (!yy_HtmlBlockCloseLi(ctx)) goto l897; goto l894; l897:; ctx->pos= yypos897; ctx->thunkpos= yythunkpos897; } if (!yymatchDot(ctx)) goto l894; } l895:; goto l893; l894:; ctx->pos= yypos894; ctx->thunkpos= yythunkpos894; } if (!yy_HtmlBlockCloseLi(ctx)) goto l892; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockLi", ctx->buf+ctx->pos)); return 1; l892:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockLi", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseLi(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseLi")); if (!yymatchChar(ctx, '<')) goto l898; if (!yy_Spnl(ctx)) goto l898; if (!yymatchChar(ctx, '/')) goto l898; { int yypos899= ctx->pos, yythunkpos899= ctx->thunkpos; if (!yymatchString(ctx, "li")) goto l900; goto l899; l900:; ctx->pos= yypos899; ctx->thunkpos= yythunkpos899; if (!yymatchString(ctx, "LI")) goto l898; } l899:; if (!yy_Spnl(ctx)) goto l898; if (!yymatchChar(ctx, '>')) goto l898; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseLi", ctx->buf+ctx->pos)); return 1; l898:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseLi", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenLi(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenLi")); if (!yymatchChar(ctx, '<')) goto l901; if (!yy_Spnl(ctx)) goto l901; { int yypos902= ctx->pos, yythunkpos902= ctx->thunkpos; if (!yymatchString(ctx, "li")) goto l903; goto l902; l903:; ctx->pos= yypos902; ctx->thunkpos= yythunkpos902; if (!yymatchString(ctx, "LI")) goto l901; } l902:; if (!yy_Spnl(ctx)) goto l901; l904:; { int yypos905= ctx->pos, yythunkpos905= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l905; goto l904; l905:; ctx->pos= yypos905; ctx->thunkpos= yythunkpos905; } if (!yymatchChar(ctx, '>')) goto l901; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenLi", ctx->buf+ctx->pos)); return 1; l901:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenLi", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockFrameset(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockFrameset")); if (!yy_HtmlBlockOpenFrameset(ctx)) goto l906; l907:; { int yypos908= ctx->pos, yythunkpos908= ctx->thunkpos; { int yypos909= ctx->pos, yythunkpos909= ctx->thunkpos; if (!yy_HtmlBlockFrameset(ctx)) goto l910; goto l909; l910:; ctx->pos= yypos909; ctx->thunkpos= yythunkpos909; { int yypos911= ctx->pos, yythunkpos911= ctx->thunkpos; if (!yy_HtmlBlockCloseFrameset(ctx)) goto l911; goto l908; l911:; ctx->pos= yypos911; ctx->thunkpos= yythunkpos911; } if (!yymatchDot(ctx)) goto l908; } l909:; goto l907; l908:; ctx->pos= yypos908; ctx->thunkpos= yythunkpos908; } if (!yy_HtmlBlockCloseFrameset(ctx)) goto l906; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockFrameset", ctx->buf+ctx->pos)); return 1; l906:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockFrameset", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseFrameset(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseFrameset")); if (!yymatchChar(ctx, '<')) goto l912; if (!yy_Spnl(ctx)) goto l912; if (!yymatchChar(ctx, '/')) goto l912; { int yypos913= ctx->pos, yythunkpos913= ctx->thunkpos; if (!yymatchString(ctx, "frameset")) goto l914; goto l913; l914:; ctx->pos= yypos913; ctx->thunkpos= yythunkpos913; if (!yymatchString(ctx, "FRAMESET")) goto l912; } l913:; if (!yy_Spnl(ctx)) goto l912; if (!yymatchChar(ctx, '>')) goto l912; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseFrameset", ctx->buf+ctx->pos)); return 1; l912:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseFrameset", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenFrameset(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenFrameset")); if (!yymatchChar(ctx, '<')) goto l915; if (!yy_Spnl(ctx)) goto l915; { int yypos916= ctx->pos, yythunkpos916= ctx->thunkpos; if (!yymatchString(ctx, "frameset")) goto l917; goto l916; l917:; ctx->pos= yypos916; ctx->thunkpos= yythunkpos916; if (!yymatchString(ctx, "FRAMESET")) goto l915; } l916:; if (!yy_Spnl(ctx)) goto l915; l918:; { int yypos919= ctx->pos, yythunkpos919= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l919; goto l918; l919:; ctx->pos= yypos919; ctx->thunkpos= yythunkpos919; } if (!yymatchChar(ctx, '>')) goto l915; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenFrameset", ctx->buf+ctx->pos)); return 1; l915:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenFrameset", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockDt(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockDt")); if (!yy_HtmlBlockOpenDt(ctx)) goto l920; l921:; { int yypos922= ctx->pos, yythunkpos922= ctx->thunkpos; { int yypos923= ctx->pos, yythunkpos923= ctx->thunkpos; if (!yy_HtmlBlockDt(ctx)) goto l924; goto l923; l924:; ctx->pos= yypos923; ctx->thunkpos= yythunkpos923; { int yypos925= ctx->pos, yythunkpos925= ctx->thunkpos; if (!yy_HtmlBlockCloseDt(ctx)) goto l925; goto l922; l925:; ctx->pos= yypos925; ctx->thunkpos= yythunkpos925; } if (!yymatchDot(ctx)) goto l922; } l923:; goto l921; l922:; ctx->pos= yypos922; ctx->thunkpos= yythunkpos922; } if (!yy_HtmlBlockCloseDt(ctx)) goto l920; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockDt", ctx->buf+ctx->pos)); return 1; l920:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockDt", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseDt(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseDt")); if (!yymatchChar(ctx, '<')) goto l926; if (!yy_Spnl(ctx)) goto l926; if (!yymatchChar(ctx, '/')) goto l926; { int yypos927= ctx->pos, yythunkpos927= ctx->thunkpos; if (!yymatchString(ctx, "dt")) goto l928; goto l927; l928:; ctx->pos= yypos927; ctx->thunkpos= yythunkpos927; if (!yymatchString(ctx, "DT")) goto l926; } l927:; if (!yy_Spnl(ctx)) goto l926; if (!yymatchChar(ctx, '>')) goto l926; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseDt", ctx->buf+ctx->pos)); return 1; l926:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseDt", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenDt(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenDt")); if (!yymatchChar(ctx, '<')) goto l929; if (!yy_Spnl(ctx)) goto l929; { int yypos930= ctx->pos, yythunkpos930= ctx->thunkpos; if (!yymatchString(ctx, "dt")) goto l931; goto l930; l931:; ctx->pos= yypos930; ctx->thunkpos= yythunkpos930; if (!yymatchString(ctx, "DT")) goto l929; } l930:; if (!yy_Spnl(ctx)) goto l929; l932:; { int yypos933= ctx->pos, yythunkpos933= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l933; goto l932; l933:; ctx->pos= yypos933; ctx->thunkpos= yythunkpos933; } if (!yymatchChar(ctx, '>')) goto l929; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenDt", ctx->buf+ctx->pos)); return 1; l929:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenDt", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockDd(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockDd")); if (!yy_HtmlBlockOpenDd(ctx)) goto l934; l935:; { int yypos936= ctx->pos, yythunkpos936= ctx->thunkpos; { int yypos937= ctx->pos, yythunkpos937= ctx->thunkpos; if (!yy_HtmlBlockDd(ctx)) goto l938; goto l937; l938:; ctx->pos= yypos937; ctx->thunkpos= yythunkpos937; { int yypos939= ctx->pos, yythunkpos939= ctx->thunkpos; if (!yy_HtmlBlockCloseDd(ctx)) goto l939; goto l936; l939:; ctx->pos= yypos939; ctx->thunkpos= yythunkpos939; } if (!yymatchDot(ctx)) goto l936; } l937:; goto l935; l936:; ctx->pos= yypos936; ctx->thunkpos= yythunkpos936; } if (!yy_HtmlBlockCloseDd(ctx)) goto l934; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockDd", ctx->buf+ctx->pos)); return 1; l934:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockDd", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseDd(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseDd")); if (!yymatchChar(ctx, '<')) goto l940; if (!yy_Spnl(ctx)) goto l940; if (!yymatchChar(ctx, '/')) goto l940; { int yypos941= ctx->pos, yythunkpos941= ctx->thunkpos; if (!yymatchString(ctx, "dd")) goto l942; goto l941; l942:; ctx->pos= yypos941; ctx->thunkpos= yythunkpos941; if (!yymatchString(ctx, "DD")) goto l940; } l941:; if (!yy_Spnl(ctx)) goto l940; if (!yymatchChar(ctx, '>')) goto l940; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseDd", ctx->buf+ctx->pos)); return 1; l940:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseDd", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenDd(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenDd")); if (!yymatchChar(ctx, '<')) goto l943; if (!yy_Spnl(ctx)) goto l943; { int yypos944= ctx->pos, yythunkpos944= ctx->thunkpos; if (!yymatchString(ctx, "dd")) goto l945; goto l944; l945:; ctx->pos= yypos944; ctx->thunkpos= yythunkpos944; if (!yymatchString(ctx, "DD")) goto l943; } l944:; if (!yy_Spnl(ctx)) goto l943; l946:; { int yypos947= ctx->pos, yythunkpos947= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l947; goto l946; l947:; ctx->pos= yypos947; ctx->thunkpos= yythunkpos947; } if (!yymatchChar(ctx, '>')) goto l943; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenDd", ctx->buf+ctx->pos)); return 1; l943:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenDd", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockUl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockUl")); if (!yy_HtmlBlockOpenUl(ctx)) goto l948; l949:; { int yypos950= ctx->pos, yythunkpos950= ctx->thunkpos; { int yypos951= ctx->pos, yythunkpos951= ctx->thunkpos; if (!yy_HtmlBlockUl(ctx)) goto l952; goto l951; l952:; ctx->pos= yypos951; ctx->thunkpos= yythunkpos951; { int yypos953= ctx->pos, yythunkpos953= ctx->thunkpos; if (!yy_HtmlBlockCloseUl(ctx)) goto l953; goto l950; l953:; ctx->pos= yypos953; ctx->thunkpos= yythunkpos953; } if (!yymatchDot(ctx)) goto l950; } l951:; goto l949; l950:; ctx->pos= yypos950; ctx->thunkpos= yythunkpos950; } if (!yy_HtmlBlockCloseUl(ctx)) goto l948; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockUl", ctx->buf+ctx->pos)); return 1; l948:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockUl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseUl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseUl")); if (!yymatchChar(ctx, '<')) goto l954; if (!yy_Spnl(ctx)) goto l954; if (!yymatchChar(ctx, '/')) goto l954; { int yypos955= ctx->pos, yythunkpos955= ctx->thunkpos; if (!yymatchString(ctx, "ul")) goto l956; goto l955; l956:; ctx->pos= yypos955; ctx->thunkpos= yythunkpos955; if (!yymatchString(ctx, "UL")) goto l954; } l955:; if (!yy_Spnl(ctx)) goto l954; if (!yymatchChar(ctx, '>')) goto l954; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseUl", ctx->buf+ctx->pos)); return 1; l954:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseUl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenUl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenUl")); if (!yymatchChar(ctx, '<')) goto l957; if (!yy_Spnl(ctx)) goto l957; { int yypos958= ctx->pos, yythunkpos958= ctx->thunkpos; if (!yymatchString(ctx, "ul")) goto l959; goto l958; l959:; ctx->pos= yypos958; ctx->thunkpos= yythunkpos958; if (!yymatchString(ctx, "UL")) goto l957; } l958:; if (!yy_Spnl(ctx)) goto l957; l960:; { int yypos961= ctx->pos, yythunkpos961= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l961; goto l960; l961:; ctx->pos= yypos961; ctx->thunkpos= yythunkpos961; } if (!yymatchChar(ctx, '>')) goto l957; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenUl", ctx->buf+ctx->pos)); return 1; l957:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenUl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockTable(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockTable")); if (!yy_HtmlBlockOpenTable(ctx)) goto l962; l963:; { int yypos964= ctx->pos, yythunkpos964= ctx->thunkpos; { int yypos965= ctx->pos, yythunkpos965= ctx->thunkpos; if (!yy_HtmlBlockTable(ctx)) goto l966; goto l965; l966:; ctx->pos= yypos965; ctx->thunkpos= yythunkpos965; { int yypos967= ctx->pos, yythunkpos967= ctx->thunkpos; if (!yy_HtmlBlockCloseTable(ctx)) goto l967; goto l964; l967:; ctx->pos= yypos967; ctx->thunkpos= yythunkpos967; } if (!yymatchDot(ctx)) goto l964; } l965:; goto l963; l964:; ctx->pos= yypos964; ctx->thunkpos= yythunkpos964; } if (!yy_HtmlBlockCloseTable(ctx)) goto l962; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockTable", ctx->buf+ctx->pos)); return 1; l962:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockTable", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseTable(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseTable")); if (!yymatchChar(ctx, '<')) goto l968; if (!yy_Spnl(ctx)) goto l968; if (!yymatchChar(ctx, '/')) goto l968; { int yypos969= ctx->pos, yythunkpos969= ctx->thunkpos; if (!yymatchString(ctx, "table")) goto l970; goto l969; l970:; ctx->pos= yypos969; ctx->thunkpos= yythunkpos969; if (!yymatchString(ctx, "TABLE")) goto l968; } l969:; if (!yy_Spnl(ctx)) goto l968; if (!yymatchChar(ctx, '>')) goto l968; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseTable", ctx->buf+ctx->pos)); return 1; l968:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseTable", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenTable(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenTable")); if (!yymatchChar(ctx, '<')) goto l971; if (!yy_Spnl(ctx)) goto l971; { int yypos972= ctx->pos, yythunkpos972= ctx->thunkpos; if (!yymatchString(ctx, "table")) goto l973; goto l972; l973:; ctx->pos= yypos972; ctx->thunkpos= yythunkpos972; if (!yymatchString(ctx, "TABLE")) goto l971; } l972:; if (!yy_Spnl(ctx)) goto l971; l974:; { int yypos975= ctx->pos, yythunkpos975= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l975; goto l974; l975:; ctx->pos= yypos975; ctx->thunkpos= yythunkpos975; } if (!yymatchChar(ctx, '>')) goto l971; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenTable", ctx->buf+ctx->pos)); return 1; l971:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenTable", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockPre(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockPre")); if (!yy_HtmlBlockOpenPre(ctx)) goto l976; l977:; { int yypos978= ctx->pos, yythunkpos978= ctx->thunkpos; { int yypos979= ctx->pos, yythunkpos979= ctx->thunkpos; if (!yy_HtmlBlockPre(ctx)) goto l980; goto l979; l980:; ctx->pos= yypos979; ctx->thunkpos= yythunkpos979; { int yypos981= ctx->pos, yythunkpos981= ctx->thunkpos; if (!yy_HtmlBlockClosePre(ctx)) goto l981; goto l978; l981:; ctx->pos= yypos981; ctx->thunkpos= yythunkpos981; } if (!yymatchDot(ctx)) goto l978; } l979:; goto l977; l978:; ctx->pos= yypos978; ctx->thunkpos= yythunkpos978; } if (!yy_HtmlBlockClosePre(ctx)) goto l976; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockPre", ctx->buf+ctx->pos)); return 1; l976:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockPre", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockClosePre(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockClosePre")); if (!yymatchChar(ctx, '<')) goto l982; if (!yy_Spnl(ctx)) goto l982; if (!yymatchChar(ctx, '/')) goto l982; { int yypos983= ctx->pos, yythunkpos983= ctx->thunkpos; if (!yymatchString(ctx, "pre")) goto l984; goto l983; l984:; ctx->pos= yypos983; ctx->thunkpos= yythunkpos983; if (!yymatchString(ctx, "PRE")) goto l982; } l983:; if (!yy_Spnl(ctx)) goto l982; if (!yymatchChar(ctx, '>')) goto l982; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockClosePre", ctx->buf+ctx->pos)); return 1; l982:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockClosePre", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenPre(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenPre")); if (!yymatchChar(ctx, '<')) goto l985; if (!yy_Spnl(ctx)) goto l985; { int yypos986= ctx->pos, yythunkpos986= ctx->thunkpos; if (!yymatchString(ctx, "pre")) goto l987; goto l986; l987:; ctx->pos= yypos986; ctx->thunkpos= yythunkpos986; if (!yymatchString(ctx, "PRE")) goto l985; } l986:; if (!yy_Spnl(ctx)) goto l985; l988:; { int yypos989= ctx->pos, yythunkpos989= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l989; goto l988; l989:; ctx->pos= yypos989; ctx->thunkpos= yythunkpos989; } if (!yymatchChar(ctx, '>')) goto l985; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenPre", ctx->buf+ctx->pos)); return 1; l985:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenPre", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockP(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockP")); if (!yy_HtmlBlockOpenP(ctx)) goto l990; l991:; { int yypos992= ctx->pos, yythunkpos992= ctx->thunkpos; { int yypos993= ctx->pos, yythunkpos993= ctx->thunkpos; if (!yy_HtmlBlockP(ctx)) goto l994; goto l993; l994:; ctx->pos= yypos993; ctx->thunkpos= yythunkpos993; { int yypos995= ctx->pos, yythunkpos995= ctx->thunkpos; if (!yy_HtmlBlockCloseP(ctx)) goto l995; goto l992; l995:; ctx->pos= yypos995; ctx->thunkpos= yythunkpos995; } if (!yymatchDot(ctx)) goto l992; } l993:; goto l991; l992:; ctx->pos= yypos992; ctx->thunkpos= yythunkpos992; } if (!yy_HtmlBlockCloseP(ctx)) goto l990; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockP", ctx->buf+ctx->pos)); return 1; l990:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockP", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseP(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseP")); if (!yymatchChar(ctx, '<')) goto l996; if (!yy_Spnl(ctx)) goto l996; if (!yymatchChar(ctx, '/')) goto l996; { int yypos997= ctx->pos, yythunkpos997= ctx->thunkpos; if (!yymatchChar(ctx, 'p')) goto l998; goto l997; l998:; ctx->pos= yypos997; ctx->thunkpos= yythunkpos997; if (!yymatchChar(ctx, 'P')) goto l996; } l997:; if (!yy_Spnl(ctx)) goto l996; if (!yymatchChar(ctx, '>')) goto l996; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseP", ctx->buf+ctx->pos)); return 1; l996:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseP", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenP(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenP")); if (!yymatchChar(ctx, '<')) goto l999; if (!yy_Spnl(ctx)) goto l999; { int yypos1000= ctx->pos, yythunkpos1000= ctx->thunkpos; if (!yymatchChar(ctx, 'p')) goto l1001; goto l1000; l1001:; ctx->pos= yypos1000; ctx->thunkpos= yythunkpos1000; if (!yymatchChar(ctx, 'P')) goto l999; } l1000:; if (!yy_Spnl(ctx)) goto l999; l1002:; { int yypos1003= ctx->pos, yythunkpos1003= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1003; goto l1002; l1003:; ctx->pos= yypos1003; ctx->thunkpos= yythunkpos1003; } if (!yymatchChar(ctx, '>')) goto l999; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenP", ctx->buf+ctx->pos)); return 1; l999:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenP", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOl")); if (!yy_HtmlBlockOpenOl(ctx)) goto l1004; l1005:; { int yypos1006= ctx->pos, yythunkpos1006= ctx->thunkpos; { int yypos1007= ctx->pos, yythunkpos1007= ctx->thunkpos; if (!yy_HtmlBlockOl(ctx)) goto l1008; goto l1007; l1008:; ctx->pos= yypos1007; ctx->thunkpos= yythunkpos1007; { int yypos1009= ctx->pos, yythunkpos1009= ctx->thunkpos; if (!yy_HtmlBlockCloseOl(ctx)) goto l1009; goto l1006; l1009:; ctx->pos= yypos1009; ctx->thunkpos= yythunkpos1009; } if (!yymatchDot(ctx)) goto l1006; } l1007:; goto l1005; l1006:; ctx->pos= yypos1006; ctx->thunkpos= yythunkpos1006; } if (!yy_HtmlBlockCloseOl(ctx)) goto l1004; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOl", ctx->buf+ctx->pos)); return 1; l1004:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseOl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseOl")); if (!yymatchChar(ctx, '<')) goto l1010; if (!yy_Spnl(ctx)) goto l1010; if (!yymatchChar(ctx, '/')) goto l1010; { int yypos1011= ctx->pos, yythunkpos1011= ctx->thunkpos; if (!yymatchString(ctx, "ol")) goto l1012; goto l1011; l1012:; ctx->pos= yypos1011; ctx->thunkpos= yythunkpos1011; if (!yymatchString(ctx, "OL")) goto l1010; } l1011:; if (!yy_Spnl(ctx)) goto l1010; if (!yymatchChar(ctx, '>')) goto l1010; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseOl", ctx->buf+ctx->pos)); return 1; l1010:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseOl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenOl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenOl")); if (!yymatchChar(ctx, '<')) goto l1013; if (!yy_Spnl(ctx)) goto l1013; { int yypos1014= ctx->pos, yythunkpos1014= ctx->thunkpos; if (!yymatchString(ctx, "ol")) goto l1015; goto l1014; l1015:; ctx->pos= yypos1014; ctx->thunkpos= yythunkpos1014; if (!yymatchString(ctx, "OL")) goto l1013; } l1014:; if (!yy_Spnl(ctx)) goto l1013; l1016:; { int yypos1017= ctx->pos, yythunkpos1017= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1017; goto l1016; l1017:; ctx->pos= yypos1017; ctx->thunkpos= yythunkpos1017; } if (!yymatchChar(ctx, '>')) goto l1013; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenOl", ctx->buf+ctx->pos)); return 1; l1013:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenOl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockNoscript(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockNoscript")); if (!yy_HtmlBlockOpenNoscript(ctx)) goto l1018; l1019:; { int yypos1020= ctx->pos, yythunkpos1020= ctx->thunkpos; { int yypos1021= ctx->pos, yythunkpos1021= ctx->thunkpos; if (!yy_HtmlBlockNoscript(ctx)) goto l1022; goto l1021; l1022:; ctx->pos= yypos1021; ctx->thunkpos= yythunkpos1021; { int yypos1023= ctx->pos, yythunkpos1023= ctx->thunkpos; if (!yy_HtmlBlockCloseNoscript(ctx)) goto l1023; goto l1020; l1023:; ctx->pos= yypos1023; ctx->thunkpos= yythunkpos1023; } if (!yymatchDot(ctx)) goto l1020; } l1021:; goto l1019; l1020:; ctx->pos= yypos1020; ctx->thunkpos= yythunkpos1020; } if (!yy_HtmlBlockCloseNoscript(ctx)) goto l1018; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockNoscript", ctx->buf+ctx->pos)); return 1; l1018:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockNoscript", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseNoscript(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseNoscript")); if (!yymatchChar(ctx, '<')) goto l1024; if (!yy_Spnl(ctx)) goto l1024; if (!yymatchChar(ctx, '/')) goto l1024; { int yypos1025= ctx->pos, yythunkpos1025= ctx->thunkpos; if (!yymatchString(ctx, "noscript")) goto l1026; goto l1025; l1026:; ctx->pos= yypos1025; ctx->thunkpos= yythunkpos1025; if (!yymatchString(ctx, "NOSCRIPT")) goto l1024; } l1025:; if (!yy_Spnl(ctx)) goto l1024; if (!yymatchChar(ctx, '>')) goto l1024; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseNoscript", ctx->buf+ctx->pos)); return 1; l1024:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseNoscript", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenNoscript(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenNoscript")); if (!yymatchChar(ctx, '<')) goto l1027; if (!yy_Spnl(ctx)) goto l1027; { int yypos1028= ctx->pos, yythunkpos1028= ctx->thunkpos; if (!yymatchString(ctx, "noscript")) goto l1029; goto l1028; l1029:; ctx->pos= yypos1028; ctx->thunkpos= yythunkpos1028; if (!yymatchString(ctx, "NOSCRIPT")) goto l1027; } l1028:; if (!yy_Spnl(ctx)) goto l1027; l1030:; { int yypos1031= ctx->pos, yythunkpos1031= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1031; goto l1030; l1031:; ctx->pos= yypos1031; ctx->thunkpos= yythunkpos1031; } if (!yymatchChar(ctx, '>')) goto l1027; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenNoscript", ctx->buf+ctx->pos)); return 1; l1027:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenNoscript", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockNoframes(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockNoframes")); if (!yy_HtmlBlockOpenNoframes(ctx)) goto l1032; l1033:; { int yypos1034= ctx->pos, yythunkpos1034= ctx->thunkpos; { int yypos1035= ctx->pos, yythunkpos1035= ctx->thunkpos; if (!yy_HtmlBlockNoframes(ctx)) goto l1036; goto l1035; l1036:; ctx->pos= yypos1035; ctx->thunkpos= yythunkpos1035; { int yypos1037= ctx->pos, yythunkpos1037= ctx->thunkpos; if (!yy_HtmlBlockCloseNoframes(ctx)) goto l1037; goto l1034; l1037:; ctx->pos= yypos1037; ctx->thunkpos= yythunkpos1037; } if (!yymatchDot(ctx)) goto l1034; } l1035:; goto l1033; l1034:; ctx->pos= yypos1034; ctx->thunkpos= yythunkpos1034; } if (!yy_HtmlBlockCloseNoframes(ctx)) goto l1032; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockNoframes", ctx->buf+ctx->pos)); return 1; l1032:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockNoframes", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseNoframes(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseNoframes")); if (!yymatchChar(ctx, '<')) goto l1038; if (!yy_Spnl(ctx)) goto l1038; if (!yymatchChar(ctx, '/')) goto l1038; { int yypos1039= ctx->pos, yythunkpos1039= ctx->thunkpos; if (!yymatchString(ctx, "noframes")) goto l1040; goto l1039; l1040:; ctx->pos= yypos1039; ctx->thunkpos= yythunkpos1039; if (!yymatchString(ctx, "NOFRAMES")) goto l1038; } l1039:; if (!yy_Spnl(ctx)) goto l1038; if (!yymatchChar(ctx, '>')) goto l1038; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseNoframes", ctx->buf+ctx->pos)); return 1; l1038:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseNoframes", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenNoframes(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenNoframes")); if (!yymatchChar(ctx, '<')) goto l1041; if (!yy_Spnl(ctx)) goto l1041; { int yypos1042= ctx->pos, yythunkpos1042= ctx->thunkpos; if (!yymatchString(ctx, "noframes")) goto l1043; goto l1042; l1043:; ctx->pos= yypos1042; ctx->thunkpos= yythunkpos1042; if (!yymatchString(ctx, "NOFRAMES")) goto l1041; } l1042:; if (!yy_Spnl(ctx)) goto l1041; l1044:; { int yypos1045= ctx->pos, yythunkpos1045= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1045; goto l1044; l1045:; ctx->pos= yypos1045; ctx->thunkpos= yythunkpos1045; } if (!yymatchChar(ctx, '>')) goto l1041; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenNoframes", ctx->buf+ctx->pos)); return 1; l1041:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenNoframes", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockMenu(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockMenu")); if (!yy_HtmlBlockOpenMenu(ctx)) goto l1046; l1047:; { int yypos1048= ctx->pos, yythunkpos1048= ctx->thunkpos; { int yypos1049= ctx->pos, yythunkpos1049= ctx->thunkpos; if (!yy_HtmlBlockMenu(ctx)) goto l1050; goto l1049; l1050:; ctx->pos= yypos1049; ctx->thunkpos= yythunkpos1049; { int yypos1051= ctx->pos, yythunkpos1051= ctx->thunkpos; if (!yy_HtmlBlockCloseMenu(ctx)) goto l1051; goto l1048; l1051:; ctx->pos= yypos1051; ctx->thunkpos= yythunkpos1051; } if (!yymatchDot(ctx)) goto l1048; } l1049:; goto l1047; l1048:; ctx->pos= yypos1048; ctx->thunkpos= yythunkpos1048; } if (!yy_HtmlBlockCloseMenu(ctx)) goto l1046; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockMenu", ctx->buf+ctx->pos)); return 1; l1046:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockMenu", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseMenu(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseMenu")); if (!yymatchChar(ctx, '<')) goto l1052; if (!yy_Spnl(ctx)) goto l1052; if (!yymatchChar(ctx, '/')) goto l1052; { int yypos1053= ctx->pos, yythunkpos1053= ctx->thunkpos; if (!yymatchString(ctx, "menu")) goto l1054; goto l1053; l1054:; ctx->pos= yypos1053; ctx->thunkpos= yythunkpos1053; if (!yymatchString(ctx, "MENU")) goto l1052; } l1053:; if (!yy_Spnl(ctx)) goto l1052; if (!yymatchChar(ctx, '>')) goto l1052; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseMenu", ctx->buf+ctx->pos)); return 1; l1052:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseMenu", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenMenu(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenMenu")); if (!yymatchChar(ctx, '<')) goto l1055; if (!yy_Spnl(ctx)) goto l1055; { int yypos1056= ctx->pos, yythunkpos1056= ctx->thunkpos; if (!yymatchString(ctx, "menu")) goto l1057; goto l1056; l1057:; ctx->pos= yypos1056; ctx->thunkpos= yythunkpos1056; if (!yymatchString(ctx, "MENU")) goto l1055; } l1056:; if (!yy_Spnl(ctx)) goto l1055; l1058:; { int yypos1059= ctx->pos, yythunkpos1059= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1059; goto l1058; l1059:; ctx->pos= yypos1059; ctx->thunkpos= yythunkpos1059; } if (!yymatchChar(ctx, '>')) goto l1055; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenMenu", ctx->buf+ctx->pos)); return 1; l1055:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenMenu", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockH6(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockH6")); if (!yy_HtmlBlockOpenH6(ctx)) goto l1060; l1061:; { int yypos1062= ctx->pos, yythunkpos1062= ctx->thunkpos; { int yypos1063= ctx->pos, yythunkpos1063= ctx->thunkpos; if (!yy_HtmlBlockH6(ctx)) goto l1064; goto l1063; l1064:; ctx->pos= yypos1063; ctx->thunkpos= yythunkpos1063; { int yypos1065= ctx->pos, yythunkpos1065= ctx->thunkpos; if (!yy_HtmlBlockCloseH6(ctx)) goto l1065; goto l1062; l1065:; ctx->pos= yypos1065; ctx->thunkpos= yythunkpos1065; } if (!yymatchDot(ctx)) goto l1062; } l1063:; goto l1061; l1062:; ctx->pos= yypos1062; ctx->thunkpos= yythunkpos1062; } if (!yy_HtmlBlockCloseH6(ctx)) goto l1060; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockH6", ctx->buf+ctx->pos)); return 1; l1060:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockH6", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseH6(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseH6")); if (!yymatchChar(ctx, '<')) goto l1066; if (!yy_Spnl(ctx)) goto l1066; if (!yymatchChar(ctx, '/')) goto l1066; { int yypos1067= ctx->pos, yythunkpos1067= ctx->thunkpos; if (!yymatchString(ctx, "h6")) goto l1068; goto l1067; l1068:; ctx->pos= yypos1067; ctx->thunkpos= yythunkpos1067; if (!yymatchString(ctx, "H6")) goto l1066; } l1067:; if (!yy_Spnl(ctx)) goto l1066; if (!yymatchChar(ctx, '>')) goto l1066; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseH6", ctx->buf+ctx->pos)); return 1; l1066:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseH6", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenH6(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenH6")); if (!yymatchChar(ctx, '<')) goto l1069; if (!yy_Spnl(ctx)) goto l1069; { int yypos1070= ctx->pos, yythunkpos1070= ctx->thunkpos; if (!yymatchString(ctx, "h6")) goto l1071; goto l1070; l1071:; ctx->pos= yypos1070; ctx->thunkpos= yythunkpos1070; if (!yymatchString(ctx, "H6")) goto l1069; } l1070:; if (!yy_Spnl(ctx)) goto l1069; l1072:; { int yypos1073= ctx->pos, yythunkpos1073= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1073; goto l1072; l1073:; ctx->pos= yypos1073; ctx->thunkpos= yythunkpos1073; } if (!yymatchChar(ctx, '>')) goto l1069; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenH6", ctx->buf+ctx->pos)); return 1; l1069:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenH6", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockH5(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockH5")); if (!yy_HtmlBlockOpenH5(ctx)) goto l1074; l1075:; { int yypos1076= ctx->pos, yythunkpos1076= ctx->thunkpos; { int yypos1077= ctx->pos, yythunkpos1077= ctx->thunkpos; if (!yy_HtmlBlockH5(ctx)) goto l1078; goto l1077; l1078:; ctx->pos= yypos1077; ctx->thunkpos= yythunkpos1077; { int yypos1079= ctx->pos, yythunkpos1079= ctx->thunkpos; if (!yy_HtmlBlockCloseH5(ctx)) goto l1079; goto l1076; l1079:; ctx->pos= yypos1079; ctx->thunkpos= yythunkpos1079; } if (!yymatchDot(ctx)) goto l1076; } l1077:; goto l1075; l1076:; ctx->pos= yypos1076; ctx->thunkpos= yythunkpos1076; } if (!yy_HtmlBlockCloseH5(ctx)) goto l1074; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockH5", ctx->buf+ctx->pos)); return 1; l1074:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockH5", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseH5(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseH5")); if (!yymatchChar(ctx, '<')) goto l1080; if (!yy_Spnl(ctx)) goto l1080; if (!yymatchChar(ctx, '/')) goto l1080; { int yypos1081= ctx->pos, yythunkpos1081= ctx->thunkpos; if (!yymatchString(ctx, "h5")) goto l1082; goto l1081; l1082:; ctx->pos= yypos1081; ctx->thunkpos= yythunkpos1081; if (!yymatchString(ctx, "H5")) goto l1080; } l1081:; if (!yy_Spnl(ctx)) goto l1080; if (!yymatchChar(ctx, '>')) goto l1080; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseH5", ctx->buf+ctx->pos)); return 1; l1080:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseH5", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenH5(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenH5")); if (!yymatchChar(ctx, '<')) goto l1083; if (!yy_Spnl(ctx)) goto l1083; { int yypos1084= ctx->pos, yythunkpos1084= ctx->thunkpos; if (!yymatchString(ctx, "h5")) goto l1085; goto l1084; l1085:; ctx->pos= yypos1084; ctx->thunkpos= yythunkpos1084; if (!yymatchString(ctx, "H5")) goto l1083; } l1084:; if (!yy_Spnl(ctx)) goto l1083; l1086:; { int yypos1087= ctx->pos, yythunkpos1087= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1087; goto l1086; l1087:; ctx->pos= yypos1087; ctx->thunkpos= yythunkpos1087; } if (!yymatchChar(ctx, '>')) goto l1083; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenH5", ctx->buf+ctx->pos)); return 1; l1083:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenH5", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockH4(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockH4")); if (!yy_HtmlBlockOpenH4(ctx)) goto l1088; l1089:; { int yypos1090= ctx->pos, yythunkpos1090= ctx->thunkpos; { int yypos1091= ctx->pos, yythunkpos1091= ctx->thunkpos; if (!yy_HtmlBlockH4(ctx)) goto l1092; goto l1091; l1092:; ctx->pos= yypos1091; ctx->thunkpos= yythunkpos1091; { int yypos1093= ctx->pos, yythunkpos1093= ctx->thunkpos; if (!yy_HtmlBlockCloseH4(ctx)) goto l1093; goto l1090; l1093:; ctx->pos= yypos1093; ctx->thunkpos= yythunkpos1093; } if (!yymatchDot(ctx)) goto l1090; } l1091:; goto l1089; l1090:; ctx->pos= yypos1090; ctx->thunkpos= yythunkpos1090; } if (!yy_HtmlBlockCloseH4(ctx)) goto l1088; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockH4", ctx->buf+ctx->pos)); return 1; l1088:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockH4", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseH4(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseH4")); if (!yymatchChar(ctx, '<')) goto l1094; if (!yy_Spnl(ctx)) goto l1094; if (!yymatchChar(ctx, '/')) goto l1094; { int yypos1095= ctx->pos, yythunkpos1095= ctx->thunkpos; if (!yymatchString(ctx, "h4")) goto l1096; goto l1095; l1096:; ctx->pos= yypos1095; ctx->thunkpos= yythunkpos1095; if (!yymatchString(ctx, "H4")) goto l1094; } l1095:; if (!yy_Spnl(ctx)) goto l1094; if (!yymatchChar(ctx, '>')) goto l1094; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseH4", ctx->buf+ctx->pos)); return 1; l1094:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseH4", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenH4(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenH4")); if (!yymatchChar(ctx, '<')) goto l1097; if (!yy_Spnl(ctx)) goto l1097; { int yypos1098= ctx->pos, yythunkpos1098= ctx->thunkpos; if (!yymatchString(ctx, "h4")) goto l1099; goto l1098; l1099:; ctx->pos= yypos1098; ctx->thunkpos= yythunkpos1098; if (!yymatchString(ctx, "H4")) goto l1097; } l1098:; if (!yy_Spnl(ctx)) goto l1097; l1100:; { int yypos1101= ctx->pos, yythunkpos1101= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1101; goto l1100; l1101:; ctx->pos= yypos1101; ctx->thunkpos= yythunkpos1101; } if (!yymatchChar(ctx, '>')) goto l1097; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenH4", ctx->buf+ctx->pos)); return 1; l1097:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenH4", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockH3(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockH3")); if (!yy_HtmlBlockOpenH3(ctx)) goto l1102; l1103:; { int yypos1104= ctx->pos, yythunkpos1104= ctx->thunkpos; { int yypos1105= ctx->pos, yythunkpos1105= ctx->thunkpos; if (!yy_HtmlBlockH3(ctx)) goto l1106; goto l1105; l1106:; ctx->pos= yypos1105; ctx->thunkpos= yythunkpos1105; { int yypos1107= ctx->pos, yythunkpos1107= ctx->thunkpos; if (!yy_HtmlBlockCloseH3(ctx)) goto l1107; goto l1104; l1107:; ctx->pos= yypos1107; ctx->thunkpos= yythunkpos1107; } if (!yymatchDot(ctx)) goto l1104; } l1105:; goto l1103; l1104:; ctx->pos= yypos1104; ctx->thunkpos= yythunkpos1104; } if (!yy_HtmlBlockCloseH3(ctx)) goto l1102; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockH3", ctx->buf+ctx->pos)); return 1; l1102:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockH3", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseH3(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseH3")); if (!yymatchChar(ctx, '<')) goto l1108; if (!yy_Spnl(ctx)) goto l1108; if (!yymatchChar(ctx, '/')) goto l1108; { int yypos1109= ctx->pos, yythunkpos1109= ctx->thunkpos; if (!yymatchString(ctx, "h3")) goto l1110; goto l1109; l1110:; ctx->pos= yypos1109; ctx->thunkpos= yythunkpos1109; if (!yymatchString(ctx, "H3")) goto l1108; } l1109:; if (!yy_Spnl(ctx)) goto l1108; if (!yymatchChar(ctx, '>')) goto l1108; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseH3", ctx->buf+ctx->pos)); return 1; l1108:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseH3", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenH3(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenH3")); if (!yymatchChar(ctx, '<')) goto l1111; if (!yy_Spnl(ctx)) goto l1111; { int yypos1112= ctx->pos, yythunkpos1112= ctx->thunkpos; if (!yymatchString(ctx, "h3")) goto l1113; goto l1112; l1113:; ctx->pos= yypos1112; ctx->thunkpos= yythunkpos1112; if (!yymatchString(ctx, "H3")) goto l1111; } l1112:; if (!yy_Spnl(ctx)) goto l1111; l1114:; { int yypos1115= ctx->pos, yythunkpos1115= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1115; goto l1114; l1115:; ctx->pos= yypos1115; ctx->thunkpos= yythunkpos1115; } if (!yymatchChar(ctx, '>')) goto l1111; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenH3", ctx->buf+ctx->pos)); return 1; l1111:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenH3", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockH2(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockH2")); if (!yy_HtmlBlockOpenH2(ctx)) goto l1116; l1117:; { int yypos1118= ctx->pos, yythunkpos1118= ctx->thunkpos; { int yypos1119= ctx->pos, yythunkpos1119= ctx->thunkpos; if (!yy_HtmlBlockH2(ctx)) goto l1120; goto l1119; l1120:; ctx->pos= yypos1119; ctx->thunkpos= yythunkpos1119; { int yypos1121= ctx->pos, yythunkpos1121= ctx->thunkpos; if (!yy_HtmlBlockCloseH2(ctx)) goto l1121; goto l1118; l1121:; ctx->pos= yypos1121; ctx->thunkpos= yythunkpos1121; } if (!yymatchDot(ctx)) goto l1118; } l1119:; goto l1117; l1118:; ctx->pos= yypos1118; ctx->thunkpos= yythunkpos1118; } if (!yy_HtmlBlockCloseH2(ctx)) goto l1116; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockH2", ctx->buf+ctx->pos)); return 1; l1116:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockH2", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseH2(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseH2")); if (!yymatchChar(ctx, '<')) goto l1122; if (!yy_Spnl(ctx)) goto l1122; if (!yymatchChar(ctx, '/')) goto l1122; { int yypos1123= ctx->pos, yythunkpos1123= ctx->thunkpos; if (!yymatchString(ctx, "h2")) goto l1124; goto l1123; l1124:; ctx->pos= yypos1123; ctx->thunkpos= yythunkpos1123; if (!yymatchString(ctx, "H2")) goto l1122; } l1123:; if (!yy_Spnl(ctx)) goto l1122; if (!yymatchChar(ctx, '>')) goto l1122; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseH2", ctx->buf+ctx->pos)); return 1; l1122:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseH2", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenH2(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenH2")); if (!yymatchChar(ctx, '<')) goto l1125; if (!yy_Spnl(ctx)) goto l1125; { int yypos1126= ctx->pos, yythunkpos1126= ctx->thunkpos; if (!yymatchString(ctx, "h2")) goto l1127; goto l1126; l1127:; ctx->pos= yypos1126; ctx->thunkpos= yythunkpos1126; if (!yymatchString(ctx, "H2")) goto l1125; } l1126:; if (!yy_Spnl(ctx)) goto l1125; l1128:; { int yypos1129= ctx->pos, yythunkpos1129= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1129; goto l1128; l1129:; ctx->pos= yypos1129; ctx->thunkpos= yythunkpos1129; } if (!yymatchChar(ctx, '>')) goto l1125; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenH2", ctx->buf+ctx->pos)); return 1; l1125:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenH2", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockH1(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockH1")); if (!yy_HtmlBlockOpenH1(ctx)) goto l1130; l1131:; { int yypos1132= ctx->pos, yythunkpos1132= ctx->thunkpos; { int yypos1133= ctx->pos, yythunkpos1133= ctx->thunkpos; if (!yy_HtmlBlockH1(ctx)) goto l1134; goto l1133; l1134:; ctx->pos= yypos1133; ctx->thunkpos= yythunkpos1133; { int yypos1135= ctx->pos, yythunkpos1135= ctx->thunkpos; if (!yy_HtmlBlockCloseH1(ctx)) goto l1135; goto l1132; l1135:; ctx->pos= yypos1135; ctx->thunkpos= yythunkpos1135; } if (!yymatchDot(ctx)) goto l1132; } l1133:; goto l1131; l1132:; ctx->pos= yypos1132; ctx->thunkpos= yythunkpos1132; } if (!yy_HtmlBlockCloseH1(ctx)) goto l1130; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockH1", ctx->buf+ctx->pos)); return 1; l1130:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockH1", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseH1(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseH1")); if (!yymatchChar(ctx, '<')) goto l1136; if (!yy_Spnl(ctx)) goto l1136; if (!yymatchChar(ctx, '/')) goto l1136; { int yypos1137= ctx->pos, yythunkpos1137= ctx->thunkpos; if (!yymatchString(ctx, "h1")) goto l1138; goto l1137; l1138:; ctx->pos= yypos1137; ctx->thunkpos= yythunkpos1137; if (!yymatchString(ctx, "H1")) goto l1136; } l1137:; if (!yy_Spnl(ctx)) goto l1136; if (!yymatchChar(ctx, '>')) goto l1136; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseH1", ctx->buf+ctx->pos)); return 1; l1136:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseH1", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenH1(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenH1")); if (!yymatchChar(ctx, '<')) goto l1139; if (!yy_Spnl(ctx)) goto l1139; { int yypos1140= ctx->pos, yythunkpos1140= ctx->thunkpos; if (!yymatchString(ctx, "h1")) goto l1141; goto l1140; l1141:; ctx->pos= yypos1140; ctx->thunkpos= yythunkpos1140; if (!yymatchString(ctx, "H1")) goto l1139; } l1140:; if (!yy_Spnl(ctx)) goto l1139; l1142:; { int yypos1143= ctx->pos, yythunkpos1143= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1143; goto l1142; l1143:; ctx->pos= yypos1143; ctx->thunkpos= yythunkpos1143; } if (!yymatchChar(ctx, '>')) goto l1139; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenH1", ctx->buf+ctx->pos)); return 1; l1139:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenH1", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockForm(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockForm")); if (!yy_HtmlBlockOpenForm(ctx)) goto l1144; l1145:; { int yypos1146= ctx->pos, yythunkpos1146= ctx->thunkpos; { int yypos1147= ctx->pos, yythunkpos1147= ctx->thunkpos; if (!yy_HtmlBlockForm(ctx)) goto l1148; goto l1147; l1148:; ctx->pos= yypos1147; ctx->thunkpos= yythunkpos1147; { int yypos1149= ctx->pos, yythunkpos1149= ctx->thunkpos; if (!yy_HtmlBlockCloseForm(ctx)) goto l1149; goto l1146; l1149:; ctx->pos= yypos1149; ctx->thunkpos= yythunkpos1149; } if (!yymatchDot(ctx)) goto l1146; } l1147:; goto l1145; l1146:; ctx->pos= yypos1146; ctx->thunkpos= yythunkpos1146; } if (!yy_HtmlBlockCloseForm(ctx)) goto l1144; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockForm", ctx->buf+ctx->pos)); return 1; l1144:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockForm", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseForm(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseForm")); if (!yymatchChar(ctx, '<')) goto l1150; if (!yy_Spnl(ctx)) goto l1150; if (!yymatchChar(ctx, '/')) goto l1150; { int yypos1151= ctx->pos, yythunkpos1151= ctx->thunkpos; if (!yymatchString(ctx, "form")) goto l1152; goto l1151; l1152:; ctx->pos= yypos1151; ctx->thunkpos= yythunkpos1151; if (!yymatchString(ctx, "FORM")) goto l1150; } l1151:; if (!yy_Spnl(ctx)) goto l1150; if (!yymatchChar(ctx, '>')) goto l1150; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseForm", ctx->buf+ctx->pos)); return 1; l1150:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseForm", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenForm(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenForm")); if (!yymatchChar(ctx, '<')) goto l1153; if (!yy_Spnl(ctx)) goto l1153; { int yypos1154= ctx->pos, yythunkpos1154= ctx->thunkpos; if (!yymatchString(ctx, "form")) goto l1155; goto l1154; l1155:; ctx->pos= yypos1154; ctx->thunkpos= yythunkpos1154; if (!yymatchString(ctx, "FORM")) goto l1153; } l1154:; if (!yy_Spnl(ctx)) goto l1153; l1156:; { int yypos1157= ctx->pos, yythunkpos1157= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1157; goto l1156; l1157:; ctx->pos= yypos1157; ctx->thunkpos= yythunkpos1157; } if (!yymatchChar(ctx, '>')) goto l1153; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenForm", ctx->buf+ctx->pos)); return 1; l1153:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenForm", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockFieldset(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockFieldset")); if (!yy_HtmlBlockOpenFieldset(ctx)) goto l1158; l1159:; { int yypos1160= ctx->pos, yythunkpos1160= ctx->thunkpos; { int yypos1161= ctx->pos, yythunkpos1161= ctx->thunkpos; if (!yy_HtmlBlockFieldset(ctx)) goto l1162; goto l1161; l1162:; ctx->pos= yypos1161; ctx->thunkpos= yythunkpos1161; { int yypos1163= ctx->pos, yythunkpos1163= ctx->thunkpos; if (!yy_HtmlBlockCloseFieldset(ctx)) goto l1163; goto l1160; l1163:; ctx->pos= yypos1163; ctx->thunkpos= yythunkpos1163; } if (!yymatchDot(ctx)) goto l1160; } l1161:; goto l1159; l1160:; ctx->pos= yypos1160; ctx->thunkpos= yythunkpos1160; } if (!yy_HtmlBlockCloseFieldset(ctx)) goto l1158; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockFieldset", ctx->buf+ctx->pos)); return 1; l1158:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockFieldset", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseFieldset(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseFieldset")); if (!yymatchChar(ctx, '<')) goto l1164; if (!yy_Spnl(ctx)) goto l1164; if (!yymatchChar(ctx, '/')) goto l1164; { int yypos1165= ctx->pos, yythunkpos1165= ctx->thunkpos; if (!yymatchString(ctx, "fieldset")) goto l1166; goto l1165; l1166:; ctx->pos= yypos1165; ctx->thunkpos= yythunkpos1165; if (!yymatchString(ctx, "FIELDSET")) goto l1164; } l1165:; if (!yy_Spnl(ctx)) goto l1164; if (!yymatchChar(ctx, '>')) goto l1164; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseFieldset", ctx->buf+ctx->pos)); return 1; l1164:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseFieldset", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenFieldset(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenFieldset")); if (!yymatchChar(ctx, '<')) goto l1167; if (!yy_Spnl(ctx)) goto l1167; { int yypos1168= ctx->pos, yythunkpos1168= ctx->thunkpos; if (!yymatchString(ctx, "fieldset")) goto l1169; goto l1168; l1169:; ctx->pos= yypos1168; ctx->thunkpos= yythunkpos1168; if (!yymatchString(ctx, "FIELDSET")) goto l1167; } l1168:; if (!yy_Spnl(ctx)) goto l1167; l1170:; { int yypos1171= ctx->pos, yythunkpos1171= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1171; goto l1170; l1171:; ctx->pos= yypos1171; ctx->thunkpos= yythunkpos1171; } if (!yymatchChar(ctx, '>')) goto l1167; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenFieldset", ctx->buf+ctx->pos)); return 1; l1167:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenFieldset", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockDl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockDl")); if (!yy_HtmlBlockOpenDl(ctx)) goto l1172; l1173:; { int yypos1174= ctx->pos, yythunkpos1174= ctx->thunkpos; { int yypos1175= ctx->pos, yythunkpos1175= ctx->thunkpos; if (!yy_HtmlBlockDl(ctx)) goto l1176; goto l1175; l1176:; ctx->pos= yypos1175; ctx->thunkpos= yythunkpos1175; { int yypos1177= ctx->pos, yythunkpos1177= ctx->thunkpos; if (!yy_HtmlBlockCloseDl(ctx)) goto l1177; goto l1174; l1177:; ctx->pos= yypos1177; ctx->thunkpos= yythunkpos1177; } if (!yymatchDot(ctx)) goto l1174; } l1175:; goto l1173; l1174:; ctx->pos= yypos1174; ctx->thunkpos= yythunkpos1174; } if (!yy_HtmlBlockCloseDl(ctx)) goto l1172; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockDl", ctx->buf+ctx->pos)); return 1; l1172:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockDl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseDl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseDl")); if (!yymatchChar(ctx, '<')) goto l1178; if (!yy_Spnl(ctx)) goto l1178; if (!yymatchChar(ctx, '/')) goto l1178; { int yypos1179= ctx->pos, yythunkpos1179= ctx->thunkpos; if (!yymatchString(ctx, "dl")) goto l1180; goto l1179; l1180:; ctx->pos= yypos1179; ctx->thunkpos= yythunkpos1179; if (!yymatchString(ctx, "DL")) goto l1178; } l1179:; if (!yy_Spnl(ctx)) goto l1178; if (!yymatchChar(ctx, '>')) goto l1178; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseDl", ctx->buf+ctx->pos)); return 1; l1178:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseDl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenDl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenDl")); if (!yymatchChar(ctx, '<')) goto l1181; if (!yy_Spnl(ctx)) goto l1181; { int yypos1182= ctx->pos, yythunkpos1182= ctx->thunkpos; if (!yymatchString(ctx, "dl")) goto l1183; goto l1182; l1183:; ctx->pos= yypos1182; ctx->thunkpos= yythunkpos1182; if (!yymatchString(ctx, "DL")) goto l1181; } l1182:; if (!yy_Spnl(ctx)) goto l1181; l1184:; { int yypos1185= ctx->pos, yythunkpos1185= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1185; goto l1184; l1185:; ctx->pos= yypos1185; ctx->thunkpos= yythunkpos1185; } if (!yymatchChar(ctx, '>')) goto l1181; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenDl", ctx->buf+ctx->pos)); return 1; l1181:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenDl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockDiv(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockDiv")); if (!yy_HtmlBlockOpenDiv(ctx)) goto l1186; l1187:; { int yypos1188= ctx->pos, yythunkpos1188= ctx->thunkpos; { int yypos1189= ctx->pos, yythunkpos1189= ctx->thunkpos; if (!yy_HtmlBlockDiv(ctx)) goto l1190; goto l1189; l1190:; ctx->pos= yypos1189; ctx->thunkpos= yythunkpos1189; { int yypos1191= ctx->pos, yythunkpos1191= ctx->thunkpos; if (!yy_HtmlBlockCloseDiv(ctx)) goto l1191; goto l1188; l1191:; ctx->pos= yypos1191; ctx->thunkpos= yythunkpos1191; } if (!yymatchDot(ctx)) goto l1188; } l1189:; goto l1187; l1188:; ctx->pos= yypos1188; ctx->thunkpos= yythunkpos1188; } if (!yy_HtmlBlockCloseDiv(ctx)) goto l1186; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockDiv", ctx->buf+ctx->pos)); return 1; l1186:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockDiv", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseDiv(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseDiv")); if (!yymatchChar(ctx, '<')) goto l1192; if (!yy_Spnl(ctx)) goto l1192; if (!yymatchChar(ctx, '/')) goto l1192; { int yypos1193= ctx->pos, yythunkpos1193= ctx->thunkpos; if (!yymatchString(ctx, "div")) goto l1194; goto l1193; l1194:; ctx->pos= yypos1193; ctx->thunkpos= yythunkpos1193; if (!yymatchString(ctx, "DIV")) goto l1192; } l1193:; if (!yy_Spnl(ctx)) goto l1192; if (!yymatchChar(ctx, '>')) goto l1192; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseDiv", ctx->buf+ctx->pos)); return 1; l1192:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseDiv", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenDiv(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenDiv")); if (!yymatchChar(ctx, '<')) goto l1195; if (!yy_Spnl(ctx)) goto l1195; { int yypos1196= ctx->pos, yythunkpos1196= ctx->thunkpos; if (!yymatchString(ctx, "div")) goto l1197; goto l1196; l1197:; ctx->pos= yypos1196; ctx->thunkpos= yythunkpos1196; if (!yymatchString(ctx, "DIV")) goto l1195; } l1196:; if (!yy_Spnl(ctx)) goto l1195; l1198:; { int yypos1199= ctx->pos, yythunkpos1199= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1199; goto l1198; l1199:; ctx->pos= yypos1199; ctx->thunkpos= yythunkpos1199; } if (!yymatchChar(ctx, '>')) goto l1195; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenDiv", ctx->buf+ctx->pos)); return 1; l1195:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenDiv", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockDir(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockDir")); if (!yy_HtmlBlockOpenDir(ctx)) goto l1200; l1201:; { int yypos1202= ctx->pos, yythunkpos1202= ctx->thunkpos; { int yypos1203= ctx->pos, yythunkpos1203= ctx->thunkpos; if (!yy_HtmlBlockDir(ctx)) goto l1204; goto l1203; l1204:; ctx->pos= yypos1203; ctx->thunkpos= yythunkpos1203; { int yypos1205= ctx->pos, yythunkpos1205= ctx->thunkpos; if (!yy_HtmlBlockCloseDir(ctx)) goto l1205; goto l1202; l1205:; ctx->pos= yypos1205; ctx->thunkpos= yythunkpos1205; } if (!yymatchDot(ctx)) goto l1202; } l1203:; goto l1201; l1202:; ctx->pos= yypos1202; ctx->thunkpos= yythunkpos1202; } if (!yy_HtmlBlockCloseDir(ctx)) goto l1200; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockDir", ctx->buf+ctx->pos)); return 1; l1200:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockDir", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseDir(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseDir")); if (!yymatchChar(ctx, '<')) goto l1206; if (!yy_Spnl(ctx)) goto l1206; if (!yymatchChar(ctx, '/')) goto l1206; { int yypos1207= ctx->pos, yythunkpos1207= ctx->thunkpos; if (!yymatchString(ctx, "dir")) goto l1208; goto l1207; l1208:; ctx->pos= yypos1207; ctx->thunkpos= yythunkpos1207; if (!yymatchString(ctx, "DIR")) goto l1206; } l1207:; if (!yy_Spnl(ctx)) goto l1206; if (!yymatchChar(ctx, '>')) goto l1206; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseDir", ctx->buf+ctx->pos)); return 1; l1206:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseDir", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenDir(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenDir")); if (!yymatchChar(ctx, '<')) goto l1209; if (!yy_Spnl(ctx)) goto l1209; { int yypos1210= ctx->pos, yythunkpos1210= ctx->thunkpos; if (!yymatchString(ctx, "dir")) goto l1211; goto l1210; l1211:; ctx->pos= yypos1210; ctx->thunkpos= yythunkpos1210; if (!yymatchString(ctx, "DIR")) goto l1209; } l1210:; if (!yy_Spnl(ctx)) goto l1209; l1212:; { int yypos1213= ctx->pos, yythunkpos1213= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1213; goto l1212; l1213:; ctx->pos= yypos1213; ctx->thunkpos= yythunkpos1213; } if (!yymatchChar(ctx, '>')) goto l1209; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenDir", ctx->buf+ctx->pos)); return 1; l1209:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenDir", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCenter(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCenter")); if (!yy_HtmlBlockOpenCenter(ctx)) goto l1214; l1215:; { int yypos1216= ctx->pos, yythunkpos1216= ctx->thunkpos; { int yypos1217= ctx->pos, yythunkpos1217= ctx->thunkpos; if (!yy_HtmlBlockCenter(ctx)) goto l1218; goto l1217; l1218:; ctx->pos= yypos1217; ctx->thunkpos= yythunkpos1217; { int yypos1219= ctx->pos, yythunkpos1219= ctx->thunkpos; if (!yy_HtmlBlockCloseCenter(ctx)) goto l1219; goto l1216; l1219:; ctx->pos= yypos1219; ctx->thunkpos= yythunkpos1219; } if (!yymatchDot(ctx)) goto l1216; } l1217:; goto l1215; l1216:; ctx->pos= yypos1216; ctx->thunkpos= yythunkpos1216; } if (!yy_HtmlBlockCloseCenter(ctx)) goto l1214; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCenter", ctx->buf+ctx->pos)); return 1; l1214:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCenter", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseCenter(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseCenter")); if (!yymatchChar(ctx, '<')) goto l1220; if (!yy_Spnl(ctx)) goto l1220; if (!yymatchChar(ctx, '/')) goto l1220; { int yypos1221= ctx->pos, yythunkpos1221= ctx->thunkpos; if (!yymatchString(ctx, "center")) goto l1222; goto l1221; l1222:; ctx->pos= yypos1221; ctx->thunkpos= yythunkpos1221; if (!yymatchString(ctx, "CENTER")) goto l1220; } l1221:; if (!yy_Spnl(ctx)) goto l1220; if (!yymatchChar(ctx, '>')) goto l1220; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseCenter", ctx->buf+ctx->pos)); return 1; l1220:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseCenter", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenCenter(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenCenter")); if (!yymatchChar(ctx, '<')) goto l1223; if (!yy_Spnl(ctx)) goto l1223; { int yypos1224= ctx->pos, yythunkpos1224= ctx->thunkpos; if (!yymatchString(ctx, "center")) goto l1225; goto l1224; l1225:; ctx->pos= yypos1224; ctx->thunkpos= yythunkpos1224; if (!yymatchString(ctx, "CENTER")) goto l1223; } l1224:; if (!yy_Spnl(ctx)) goto l1223; l1226:; { int yypos1227= ctx->pos, yythunkpos1227= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1227; goto l1226; l1227:; ctx->pos= yypos1227; ctx->thunkpos= yythunkpos1227; } if (!yymatchChar(ctx, '>')) goto l1223; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenCenter", ctx->buf+ctx->pos)); return 1; l1223:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenCenter", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockBlockquote(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockBlockquote")); if (!yy_HtmlBlockOpenBlockquote(ctx)) goto l1228; l1229:; { int yypos1230= ctx->pos, yythunkpos1230= ctx->thunkpos; { int yypos1231= ctx->pos, yythunkpos1231= ctx->thunkpos; if (!yy_HtmlBlockBlockquote(ctx)) goto l1232; goto l1231; l1232:; ctx->pos= yypos1231; ctx->thunkpos= yythunkpos1231; { int yypos1233= ctx->pos, yythunkpos1233= ctx->thunkpos; if (!yy_HtmlBlockCloseBlockquote(ctx)) goto l1233; goto l1230; l1233:; ctx->pos= yypos1233; ctx->thunkpos= yythunkpos1233; } if (!yymatchDot(ctx)) goto l1230; } l1231:; goto l1229; l1230:; ctx->pos= yypos1230; ctx->thunkpos= yythunkpos1230; } if (!yy_HtmlBlockCloseBlockquote(ctx)) goto l1228; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockBlockquote", ctx->buf+ctx->pos)); return 1; l1228:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockBlockquote", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseBlockquote(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseBlockquote")); if (!yymatchChar(ctx, '<')) goto l1234; if (!yy_Spnl(ctx)) goto l1234; if (!yymatchChar(ctx, '/')) goto l1234; { int yypos1235= ctx->pos, yythunkpos1235= ctx->thunkpos; if (!yymatchString(ctx, "blockquote")) goto l1236; goto l1235; l1236:; ctx->pos= yypos1235; ctx->thunkpos= yythunkpos1235; if (!yymatchString(ctx, "BLOCKQUOTE")) goto l1234; } l1235:; if (!yy_Spnl(ctx)) goto l1234; if (!yymatchChar(ctx, '>')) goto l1234; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseBlockquote", ctx->buf+ctx->pos)); return 1; l1234:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseBlockquote", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenBlockquote(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenBlockquote")); if (!yymatchChar(ctx, '<')) goto l1237; if (!yy_Spnl(ctx)) goto l1237; { int yypos1238= ctx->pos, yythunkpos1238= ctx->thunkpos; if (!yymatchString(ctx, "blockquote")) goto l1239; goto l1238; l1239:; ctx->pos= yypos1238; ctx->thunkpos= yythunkpos1238; if (!yymatchString(ctx, "BLOCKQUOTE")) goto l1237; } l1238:; if (!yy_Spnl(ctx)) goto l1237; l1240:; { int yypos1241= ctx->pos, yythunkpos1241= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1241; goto l1240; l1241:; ctx->pos= yypos1241; ctx->thunkpos= yythunkpos1241; } if (!yymatchChar(ctx, '>')) goto l1237; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenBlockquote", ctx->buf+ctx->pos)); return 1; l1237:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenBlockquote", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockAddress(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockAddress")); if (!yy_HtmlBlockOpenAddress(ctx)) goto l1242; l1243:; { int yypos1244= ctx->pos, yythunkpos1244= ctx->thunkpos; { int yypos1245= ctx->pos, yythunkpos1245= ctx->thunkpos; if (!yy_HtmlBlockAddress(ctx)) goto l1246; goto l1245; l1246:; ctx->pos= yypos1245; ctx->thunkpos= yythunkpos1245; { int yypos1247= ctx->pos, yythunkpos1247= ctx->thunkpos; if (!yy_HtmlBlockCloseAddress(ctx)) goto l1247; goto l1244; l1247:; ctx->pos= yypos1247; ctx->thunkpos= yythunkpos1247; } if (!yymatchDot(ctx)) goto l1244; } l1245:; goto l1243; l1244:; ctx->pos= yypos1244; ctx->thunkpos= yythunkpos1244; } if (!yy_HtmlBlockCloseAddress(ctx)) goto l1242; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockAddress", ctx->buf+ctx->pos)); return 1; l1242:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockAddress", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockCloseAddress(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockCloseAddress")); if (!yymatchChar(ctx, '<')) goto l1248; if (!yy_Spnl(ctx)) goto l1248; if (!yymatchChar(ctx, '/')) goto l1248; { int yypos1249= ctx->pos, yythunkpos1249= ctx->thunkpos; if (!yymatchString(ctx, "address")) goto l1250; goto l1249; l1250:; ctx->pos= yypos1249; ctx->thunkpos= yythunkpos1249; if (!yymatchString(ctx, "ADDRESS")) goto l1248; } l1249:; if (!yy_Spnl(ctx)) goto l1248; if (!yymatchChar(ctx, '>')) goto l1248; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockCloseAddress", ctx->buf+ctx->pos)); return 1; l1248:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockCloseAddress", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlAttribute(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlAttribute")); { int yypos1254= ctx->pos, yythunkpos1254= ctx->thunkpos; if (!yy_AlphanumericAscii(ctx)) goto l1255; goto l1254; l1255:; ctx->pos= yypos1254; ctx->thunkpos= yythunkpos1254; if (!yymatchChar(ctx, '-')) goto l1251; } l1254:; l1252:; { int yypos1253= ctx->pos, yythunkpos1253= ctx->thunkpos; { int yypos1256= ctx->pos, yythunkpos1256= ctx->thunkpos; if (!yy_AlphanumericAscii(ctx)) goto l1257; goto l1256; l1257:; ctx->pos= yypos1256; ctx->thunkpos= yythunkpos1256; if (!yymatchChar(ctx, '-')) goto l1253; } l1256:; goto l1252; l1253:; ctx->pos= yypos1253; ctx->thunkpos= yythunkpos1253; } if (!yy_Spnl(ctx)) goto l1251; { int yypos1258= ctx->pos, yythunkpos1258= ctx->thunkpos; if (!yymatchChar(ctx, '=')) goto l1258; if (!yy_Spnl(ctx)) goto l1258; { int yypos1260= ctx->pos, yythunkpos1260= ctx->thunkpos; if (!yy_Quoted(ctx)) goto l1261; goto l1260; l1261:; ctx->pos= yypos1260; ctx->thunkpos= yythunkpos1260; { int yypos1264= ctx->pos, yythunkpos1264= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l1264; goto l1258; l1264:; ctx->pos= yypos1264; ctx->thunkpos= yythunkpos1264; } if (!yy_Nonspacechar(ctx)) goto l1258; l1262:; { int yypos1263= ctx->pos, yythunkpos1263= ctx->thunkpos; { int yypos1265= ctx->pos, yythunkpos1265= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l1265; goto l1263; l1265:; ctx->pos= yypos1265; ctx->thunkpos= yythunkpos1265; } if (!yy_Nonspacechar(ctx)) goto l1263; goto l1262; l1263:; ctx->pos= yypos1263; ctx->thunkpos= yythunkpos1263; } } l1260:; goto l1259; l1258:; ctx->pos= yypos1258; ctx->thunkpos= yythunkpos1258; } l1259:; if (!yy_Spnl(ctx)) goto l1251; yyprintf((stderr, " ok %s @ %s\n", "HtmlAttribute", ctx->buf+ctx->pos)); return 1; l1251:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlAttribute", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Spnl(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Spnl")); if (!yy_Sp(ctx)) goto l1266; { int yypos1267= ctx->pos, yythunkpos1267= ctx->thunkpos; if (!yy_Newline(ctx)) goto l1267; if (!yy_Sp(ctx)) goto l1267; goto l1268; l1267:; ctx->pos= yypos1267; ctx->thunkpos= yythunkpos1267; } l1268:; yyprintf((stderr, " ok %s @ %s\n", "Spnl", ctx->buf+ctx->pos)); return 1; l1266:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Spnl", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlockOpenAddress(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlockOpenAddress")); if (!yymatchChar(ctx, '<')) goto l1269; if (!yy_Spnl(ctx)) goto l1269; { int yypos1270= ctx->pos, yythunkpos1270= ctx->thunkpos; if (!yymatchString(ctx, "address")) goto l1271; goto l1270; l1271:; ctx->pos= yypos1270; ctx->thunkpos= yythunkpos1270; if (!yymatchString(ctx, "ADDRESS")) goto l1269; } l1270:; if (!yy_Spnl(ctx)) goto l1269; l1272:; { int yypos1273= ctx->pos, yythunkpos1273= ctx->thunkpos; if (!yy_HtmlAttribute(ctx)) goto l1273; goto l1272; l1273:; ctx->pos= yypos1273; ctx->thunkpos= yythunkpos1273; } if (!yymatchChar(ctx, '>')) goto l1269; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenAddress", ctx->buf+ctx->pos)); return 1; l1269:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenAddress", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_OptionallyIndentedLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "OptionallyIndentedLine")); { int yypos1275= ctx->pos, yythunkpos1275= ctx->thunkpos; if (!yy_Indent(ctx)) goto l1275; goto l1276; l1275:; ctx->pos= yypos1275; ctx->thunkpos= yythunkpos1275; } l1276:; if (!yy_Line(ctx)) goto l1274; yyprintf((stderr, " ok %s @ %s\n", "OptionallyIndentedLine", ctx->buf+ctx->pos)); return 1; l1274:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "OptionallyIndentedLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Indent(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Indent")); { int yypos1278= ctx->pos, yythunkpos1278= ctx->thunkpos; if (!yymatchChar(ctx, '\t')) goto l1279; goto l1278; l1279:; ctx->pos= yypos1278; ctx->thunkpos= yythunkpos1278; if (!yymatchString(ctx, " ")) goto l1277; } l1278:; yyprintf((stderr, " ok %s @ %s\n", "Indent", ctx->buf+ctx->pos)); return 1; l1277:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Indent", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ListBlockLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "ListBlockLine")); { int yypos1281= ctx->pos, yythunkpos1281= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1281; goto l1280; l1281:; ctx->pos= yypos1281; ctx->thunkpos= yythunkpos1281; } { int yypos1282= ctx->pos, yythunkpos1282= ctx->thunkpos; { int yypos1283= ctx->pos, yythunkpos1283= ctx->thunkpos; if (!yy_Indent(ctx)) goto l1283; goto l1284; l1283:; ctx->pos= yypos1283; ctx->thunkpos= yythunkpos1283; } l1284:; { int yypos1285= ctx->pos, yythunkpos1285= ctx->thunkpos; if (!yy_Bullet(ctx)) goto l1286; goto l1285; l1286:; ctx->pos= yypos1285; ctx->thunkpos= yythunkpos1285; if (!yy_Enumerator(ctx)) goto l1282; } l1285:; goto l1280; l1282:; ctx->pos= yypos1282; ctx->thunkpos= yythunkpos1282; } { int yypos1287= ctx->pos, yythunkpos1287= ctx->thunkpos; if (!yy_HorizontalRule(ctx)) goto l1287; goto l1280; l1287:; ctx->pos= yypos1287; ctx->thunkpos= yythunkpos1287; } if (!yy_OptionallyIndentedLine(ctx)) goto l1280; yyprintf((stderr, " ok %s @ %s\n", "ListBlockLine", ctx->buf+ctx->pos)); return 1; l1280:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListBlockLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ListContinuationBlock(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "ListContinuationBlock")); if (!yy_StartList(ctx)) goto l1288; yyDo(ctx, yySet, -1, 0); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l1288; l1289:; { int yypos1290= ctx->pos, yythunkpos1290= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1290; goto l1289; l1290:; ctx->pos= yypos1290; ctx->thunkpos= yythunkpos1290; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l1288; yyDo(ctx, yy_1_ListContinuationBlock, ctx->begin, ctx->end); if (!yy_Indent(ctx)) goto l1288; if (!yy_ListBlock(ctx)) goto l1288; yyDo(ctx, yy_2_ListContinuationBlock, ctx->begin, ctx->end); l1291:; { int yypos1292= ctx->pos, yythunkpos1292= ctx->thunkpos; if (!yy_Indent(ctx)) goto l1292; if (!yy_ListBlock(ctx)) goto l1292; yyDo(ctx, yy_2_ListContinuationBlock, ctx->begin, ctx->end); goto l1291; l1292:; ctx->pos= yypos1292; ctx->thunkpos= yythunkpos1292; } yyDo(ctx, yy_3_ListContinuationBlock, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ListContinuationBlock", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1288:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListContinuationBlock", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ListBlock(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "ListBlock")); if (!yy_StartList(ctx)) goto l1293; yyDo(ctx, yySet, -1, 0); { int yypos1294= ctx->pos, yythunkpos1294= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1294; goto l1293; l1294:; ctx->pos= yypos1294; ctx->thunkpos= yythunkpos1294; } if (!yy_Line(ctx)) goto l1293; yyDo(ctx, yy_1_ListBlock, ctx->begin, ctx->end); l1295:; { int yypos1296= ctx->pos, yythunkpos1296= ctx->thunkpos; if (!yy_ListBlockLine(ctx)) goto l1296; yyDo(ctx, yy_2_ListBlock, ctx->begin, ctx->end); goto l1295; l1296:; ctx->pos= yypos1296; ctx->thunkpos= yythunkpos1296; } yyDo(ctx, yy_3_ListBlock, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ListBlock", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1293:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListBlock", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ListItem(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "ListItem")); { int yypos1298= ctx->pos, yythunkpos1298= ctx->thunkpos; if (!yy_Bullet(ctx)) goto l1299; goto l1298; l1299:; ctx->pos= yypos1298; ctx->thunkpos= yythunkpos1298; if (!yy_Enumerator(ctx)) goto l1297; } l1298:; if (!yy_StartList(ctx)) goto l1297; yyDo(ctx, yySet, -1, 0); if (!yy_ListBlock(ctx)) goto l1297; yyDo(ctx, yy_1_ListItem, ctx->begin, ctx->end); l1300:; { int yypos1301= ctx->pos, yythunkpos1301= ctx->thunkpos; if (!yy_ListContinuationBlock(ctx)) goto l1301; yyDo(ctx, yy_2_ListItem, ctx->begin, ctx->end); goto l1300; l1301:; ctx->pos= yypos1301; ctx->thunkpos= yythunkpos1301; } yyDo(ctx, yy_3_ListItem, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ListItem", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1297:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListItem", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Enumerator(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Enumerator")); if (!yy_NonindentSpace(ctx)) goto l1302; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1302; l1303:; { int yypos1304= ctx->pos, yythunkpos1304= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1304; goto l1303; l1304:; ctx->pos= yypos1304; ctx->thunkpos= yythunkpos1304; } if (!yymatchChar(ctx, '.')) goto l1302; if (!yy_Spacechar(ctx)) goto l1302; l1305:; { int yypos1306= ctx->pos, yythunkpos1306= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l1306; goto l1305; l1306:; ctx->pos= yypos1306; ctx->thunkpos= yythunkpos1306; } yyprintf((stderr, " ok %s @ %s\n", "Enumerator", ctx->buf+ctx->pos)); return 1; l1302:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Enumerator", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ListItemTight(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "ListItemTight")); { int yypos1308= ctx->pos, yythunkpos1308= ctx->thunkpos; if (!yy_Bullet(ctx)) goto l1309; goto l1308; l1309:; ctx->pos= yypos1308; ctx->thunkpos= yythunkpos1308; if (!yy_Enumerator(ctx)) goto l1307; } l1308:; if (!yy_StartList(ctx)) goto l1307; yyDo(ctx, yySet, -1, 0); if (!yy_ListBlock(ctx)) goto l1307; yyDo(ctx, yy_1_ListItemTight, ctx->begin, ctx->end); l1310:; { int yypos1311= ctx->pos, yythunkpos1311= ctx->thunkpos; { int yypos1312= ctx->pos, yythunkpos1312= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1312; goto l1311; l1312:; ctx->pos= yypos1312; ctx->thunkpos= yythunkpos1312; } if (!yy_ListContinuationBlock(ctx)) goto l1311; yyDo(ctx, yy_2_ListItemTight, ctx->begin, ctx->end); goto l1310; l1311:; ctx->pos= yypos1311; ctx->thunkpos= yythunkpos1311; } { int yypos1313= ctx->pos, yythunkpos1313= ctx->thunkpos; if (!yy_ListContinuationBlock(ctx)) goto l1313; goto l1307; l1313:; ctx->pos= yypos1313; ctx->thunkpos= yythunkpos1313; } yyDo(ctx, yy_3_ListItemTight, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ListItemTight", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1307:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListItemTight", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ListLoose(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "ListLoose")); if (!yy_StartList(ctx)) goto l1314; yyDo(ctx, yySet, -2, 0); if (!yy_ListItem(ctx)) goto l1314; yyDo(ctx, yySet, -1, 0); l1317:; { int yypos1318= ctx->pos, yythunkpos1318= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1318; goto l1317; l1318:; ctx->pos= yypos1318; ctx->thunkpos= yythunkpos1318; } yyDo(ctx, yy_1_ListLoose, ctx->begin, ctx->end); l1315:; { int yypos1316= ctx->pos, yythunkpos1316= ctx->thunkpos; if (!yy_ListItem(ctx)) goto l1316; yyDo(ctx, yySet, -1, 0); l1319:; { int yypos1320= ctx->pos, yythunkpos1320= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1320; goto l1319; l1320:; ctx->pos= yypos1320; ctx->thunkpos= yythunkpos1320; } yyDo(ctx, yy_1_ListLoose, ctx->begin, ctx->end); goto l1315; l1316:; ctx->pos= yypos1316; ctx->thunkpos= yythunkpos1316; } yyDo(ctx, yy_2_ListLoose, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ListLoose", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l1314:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListLoose", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_ListTight(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "ListTight")); if (!yy_StartList(ctx)) goto l1321; yyDo(ctx, yySet, -1, 0); if (!yy_ListItemTight(ctx)) goto l1321; yyDo(ctx, yy_1_ListTight, ctx->begin, ctx->end); l1322:; { int yypos1323= ctx->pos, yythunkpos1323= ctx->thunkpos; if (!yy_ListItemTight(ctx)) goto l1323; yyDo(ctx, yy_1_ListTight, ctx->begin, ctx->end); goto l1322; l1323:; ctx->pos= yypos1323; ctx->thunkpos= yythunkpos1323; } l1324:; { int yypos1325= ctx->pos, yythunkpos1325= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1325; goto l1324; l1325:; ctx->pos= yypos1325; ctx->thunkpos= yythunkpos1325; } { int yypos1326= ctx->pos, yythunkpos1326= ctx->thunkpos; { int yypos1327= ctx->pos, yythunkpos1327= ctx->thunkpos; if (!yy_Bullet(ctx)) goto l1328; goto l1327; l1328:; ctx->pos= yypos1327; ctx->thunkpos= yythunkpos1327; if (!yy_Enumerator(ctx)) goto l1326; } l1327:; goto l1321; l1326:; ctx->pos= yypos1326; ctx->thunkpos= yythunkpos1326; } yyDo(ctx, yy_2_ListTight, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "ListTight", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1321:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListTight", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Spacechar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Spacechar")); { int yypos1330= ctx->pos, yythunkpos1330= ctx->thunkpos; if (!yymatchChar(ctx, ' ')) goto l1331; goto l1330; l1331:; ctx->pos= yypos1330; ctx->thunkpos= yythunkpos1330; if (!yymatchChar(ctx, '\t')) goto l1329; } l1330:; yyprintf((stderr, " ok %s @ %s\n", "Spacechar", ctx->buf+ctx->pos)); return 1; l1329:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Spacechar", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Bullet(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Bullet")); { int yypos1333= ctx->pos, yythunkpos1333= ctx->thunkpos; if (!yy_HorizontalRule(ctx)) goto l1333; goto l1332; l1333:; ctx->pos= yypos1333; ctx->thunkpos= yythunkpos1333; } if (!yy_NonindentSpace(ctx)) goto l1332; { int yypos1334= ctx->pos, yythunkpos1334= ctx->thunkpos; if (!yymatchChar(ctx, '+')) goto l1335; goto l1334; l1335:; ctx->pos= yypos1334; ctx->thunkpos= yythunkpos1334; if (!yymatchChar(ctx, '*')) goto l1336; goto l1334; l1336:; ctx->pos= yypos1334; ctx->thunkpos= yythunkpos1334; if (!yymatchChar(ctx, '-')) goto l1332; } l1334:; if (!yy_Spacechar(ctx)) goto l1332; l1337:; { int yypos1338= ctx->pos, yythunkpos1338= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l1338; goto l1337; l1338:; ctx->pos= yypos1338; ctx->thunkpos= yythunkpos1338; } yyprintf((stderr, " ok %s @ %s\n", "Bullet", ctx->buf+ctx->pos)); return 1; l1332:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Bullet", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_VerbatimChunk(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "VerbatimChunk")); if (!yy_StartList(ctx)) goto l1339; yyDo(ctx, yySet, -1, 0); l1340:; { int yypos1341= ctx->pos, yythunkpos1341= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1341; yyDo(ctx, yy_1_VerbatimChunk, ctx->begin, ctx->end); goto l1340; l1341:; ctx->pos= yypos1341; ctx->thunkpos= yythunkpos1341; } if (!yy_NonblankIndentedLine(ctx)) goto l1339; yyDo(ctx, yy_2_VerbatimChunk, ctx->begin, ctx->end); l1342:; { int yypos1343= ctx->pos, yythunkpos1343= ctx->thunkpos; if (!yy_NonblankIndentedLine(ctx)) goto l1343; yyDo(ctx, yy_2_VerbatimChunk, ctx->begin, ctx->end); goto l1342; l1343:; ctx->pos= yypos1343; ctx->thunkpos= yythunkpos1343; } yyDo(ctx, yy_3_VerbatimChunk, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "VerbatimChunk", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1339:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "VerbatimChunk", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_IndentedLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "IndentedLine")); if (!yy_Indent(ctx)) goto l1344; if (!yy_Line(ctx)) goto l1344; yyprintf((stderr, " ok %s @ %s\n", "IndentedLine", ctx->buf+ctx->pos)); return 1; l1344:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "IndentedLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_NonblankIndentedLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "NonblankIndentedLine")); { int yypos1346= ctx->pos, yythunkpos1346= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1346; goto l1345; l1346:; ctx->pos= yypos1346; ctx->thunkpos= yythunkpos1346; } if (!yy_IndentedLine(ctx)) goto l1345; yyprintf((stderr, " ok %s @ %s\n", "NonblankIndentedLine", ctx->buf+ctx->pos)); return 1; l1345:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "NonblankIndentedLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Line(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Line")); if (!yy_RawLine(ctx)) goto l1347; yyDo(ctx, yy_1_Line, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Line", ctx->buf+ctx->pos)); return 1; l1347:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Line", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_BlockQuoteRaw(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "BlockQuoteRaw")); if (!yy_StartList(ctx)) goto l1348; yyDo(ctx, yySet, -1, 0); if (!yymatchChar(ctx, '>')) goto l1348; { int yypos1351= ctx->pos, yythunkpos1351= ctx->thunkpos; if (!yymatchChar(ctx, ' ')) goto l1351; goto l1352; l1351:; ctx->pos= yypos1351; ctx->thunkpos= yythunkpos1351; } l1352:; if (!yy_Line(ctx)) goto l1348; yyDo(ctx, yy_1_BlockQuoteRaw, ctx->begin, ctx->end); l1353:; { int yypos1354= ctx->pos, yythunkpos1354= ctx->thunkpos; { int yypos1355= ctx->pos, yythunkpos1355= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l1355; goto l1354; l1355:; ctx->pos= yypos1355; ctx->thunkpos= yythunkpos1355; } { int yypos1356= ctx->pos, yythunkpos1356= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1356; goto l1354; l1356:; ctx->pos= yypos1356; ctx->thunkpos= yythunkpos1356; } if (!yy_Line(ctx)) goto l1354; yyDo(ctx, yy_2_BlockQuoteRaw, ctx->begin, ctx->end); goto l1353; l1354:; ctx->pos= yypos1354; ctx->thunkpos= yythunkpos1354; } l1357:; { int yypos1358= ctx->pos, yythunkpos1358= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1358; yyDo(ctx, yy_3_BlockQuoteRaw, ctx->begin, ctx->end); goto l1357; l1358:; ctx->pos= yypos1358; ctx->thunkpos= yythunkpos1358; } l1349:; { int yypos1350= ctx->pos, yythunkpos1350= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l1350; { int yypos1359= ctx->pos, yythunkpos1359= ctx->thunkpos; if (!yymatchChar(ctx, ' ')) goto l1359; goto l1360; l1359:; ctx->pos= yypos1359; ctx->thunkpos= yythunkpos1359; } l1360:; if (!yy_Line(ctx)) goto l1350; yyDo(ctx, yy_1_BlockQuoteRaw, ctx->begin, ctx->end); l1361:; { int yypos1362= ctx->pos, yythunkpos1362= ctx->thunkpos; { int yypos1363= ctx->pos, yythunkpos1363= ctx->thunkpos; if (!yymatchChar(ctx, '>')) goto l1363; goto l1362; l1363:; ctx->pos= yypos1363; ctx->thunkpos= yythunkpos1363; } { int yypos1364= ctx->pos, yythunkpos1364= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1364; goto l1362; l1364:; ctx->pos= yypos1364; ctx->thunkpos= yythunkpos1364; } if (!yy_Line(ctx)) goto l1362; yyDo(ctx, yy_2_BlockQuoteRaw, ctx->begin, ctx->end); goto l1361; l1362:; ctx->pos= yypos1362; ctx->thunkpos= yythunkpos1362; } l1365:; { int yypos1366= ctx->pos, yythunkpos1366= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1366; yyDo(ctx, yy_3_BlockQuoteRaw, ctx->begin, ctx->end); goto l1365; l1366:; ctx->pos= yypos1366; ctx->thunkpos= yythunkpos1366; } goto l1349; l1350:; ctx->pos= yypos1350; ctx->thunkpos= yythunkpos1350; } yyDo(ctx, yy_4_BlockQuoteRaw, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "BlockQuoteRaw", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1348:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BlockQuoteRaw", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Endline(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Endline")); { int yypos1368= ctx->pos, yythunkpos1368= ctx->thunkpos; if (!yy_LineBreak(ctx)) goto l1369; goto l1368; l1369:; ctx->pos= yypos1368; ctx->thunkpos= yythunkpos1368; if (!yy_TerminalEndline(ctx)) goto l1370; goto l1368; l1370:; ctx->pos= yypos1368; ctx->thunkpos= yythunkpos1368; if (!yy_NormalEndline(ctx)) goto l1367; } l1368:; yyprintf((stderr, " ok %s @ %s\n", "Endline", ctx->buf+ctx->pos)); return 1; l1367:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Endline", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RawLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RawLine")); { int yypos1372= ctx->pos, yythunkpos1372= ctx->thunkpos; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l1373; l1374:; { int yypos1375= ctx->pos, yythunkpos1375= ctx->thunkpos; { int yypos1376= ctx->pos, yythunkpos1376= ctx->thunkpos; if (!yymatchChar(ctx, '\r')) goto l1376; goto l1375; l1376:; ctx->pos= yypos1376; ctx->thunkpos= yythunkpos1376; } { int yypos1377= ctx->pos, yythunkpos1377= ctx->thunkpos; if (!yymatchChar(ctx, '\n')) goto l1377; goto l1375; l1377:; ctx->pos= yypos1377; ctx->thunkpos= yythunkpos1377; } if (!yymatchDot(ctx)) goto l1375; goto l1374; l1375:; ctx->pos= yypos1375; ctx->thunkpos= yythunkpos1375; } if (!yy_Newline(ctx)) goto l1373; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l1373; goto l1372; l1373:; ctx->pos= yypos1372; ctx->thunkpos= yythunkpos1372; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l1371; if (!yymatchDot(ctx)) goto l1371; l1378:; { int yypos1379= ctx->pos, yythunkpos1379= ctx->thunkpos; if (!yymatchDot(ctx)) goto l1379; goto l1378; l1379:; ctx->pos= yypos1379; ctx->thunkpos= yythunkpos1379; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l1371; if (!yy_Eof(ctx)) goto l1371; } l1372:; yyprintf((stderr, " ok %s @ %s\n", "RawLine", ctx->buf+ctx->pos)); return 1; l1371:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RawLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SetextBottom2(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "SetextBottom2")); if (!yymatchChar(ctx, '-')) goto l1380; l1381:; { int yypos1382= ctx->pos, yythunkpos1382= ctx->thunkpos; if (!yymatchChar(ctx, '-')) goto l1382; goto l1381; l1382:; ctx->pos= yypos1382; ctx->thunkpos= yythunkpos1382; } if (!yy_Newline(ctx)) goto l1380; yyprintf((stderr, " ok %s @ %s\n", "SetextBottom2", ctx->buf+ctx->pos)); return 1; l1380:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextBottom2", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SetextBottom1(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "SetextBottom1")); if (!yymatchChar(ctx, '=')) goto l1383; l1384:; { int yypos1385= ctx->pos, yythunkpos1385= ctx->thunkpos; if (!yymatchChar(ctx, '=')) goto l1385; goto l1384; l1385:; ctx->pos= yypos1385; ctx->thunkpos= yythunkpos1385; } if (!yy_Newline(ctx)) goto l1383; yyprintf((stderr, " ok %s @ %s\n", "SetextBottom1", ctx->buf+ctx->pos)); return 1; l1383:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextBottom1", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SetextHeading2(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "SetextHeading2")); { int yypos1387= ctx->pos, yythunkpos1387= ctx->thunkpos; if (!yy_RawLine(ctx)) goto l1386; if (!yy_SetextBottom2(ctx)) goto l1386; ctx->pos= yypos1387; ctx->thunkpos= yythunkpos1387; } if (!yy_StartList(ctx)) goto l1386; yyDo(ctx, yySet, -1, 0); { int yypos1390= ctx->pos, yythunkpos1390= ctx->thunkpos; if (!yy_Endline(ctx)) goto l1390; goto l1386; l1390:; ctx->pos= yypos1390; ctx->thunkpos= yythunkpos1390; } if (!yy_Inline(ctx)) goto l1386; yyDo(ctx, yy_1_SetextHeading2, ctx->begin, ctx->end); l1388:; { int yypos1389= ctx->pos, yythunkpos1389= ctx->thunkpos; { int yypos1391= ctx->pos, yythunkpos1391= ctx->thunkpos; if (!yy_Endline(ctx)) goto l1391; goto l1389; l1391:; ctx->pos= yypos1391; ctx->thunkpos= yythunkpos1391; } if (!yy_Inline(ctx)) goto l1389; yyDo(ctx, yy_1_SetextHeading2, ctx->begin, ctx->end); goto l1388; l1389:; ctx->pos= yypos1389; ctx->thunkpos= yythunkpos1389; } { int yypos1392= ctx->pos, yythunkpos1392= ctx->thunkpos; if (!yy_Sp(ctx)) goto l1392; goto l1393; l1392:; ctx->pos= yypos1392; ctx->thunkpos= yythunkpos1392; } l1393:; if (!yy_Newline(ctx)) goto l1386; if (!yy_SetextBottom2(ctx)) goto l1386; yyDo(ctx, yy_2_SetextHeading2, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "SetextHeading2", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1386:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextHeading2", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SetextHeading1(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "SetextHeading1")); { int yypos1395= ctx->pos, yythunkpos1395= ctx->thunkpos; if (!yy_RawLine(ctx)) goto l1394; if (!yy_SetextBottom1(ctx)) goto l1394; ctx->pos= yypos1395; ctx->thunkpos= yythunkpos1395; } if (!yy_StartList(ctx)) goto l1394; yyDo(ctx, yySet, -1, 0); { int yypos1398= ctx->pos, yythunkpos1398= ctx->thunkpos; if (!yy_Endline(ctx)) goto l1398; goto l1394; l1398:; ctx->pos= yypos1398; ctx->thunkpos= yythunkpos1398; } if (!yy_Inline(ctx)) goto l1394; yyDo(ctx, yy_1_SetextHeading1, ctx->begin, ctx->end); l1396:; { int yypos1397= ctx->pos, yythunkpos1397= ctx->thunkpos; { int yypos1399= ctx->pos, yythunkpos1399= ctx->thunkpos; if (!yy_Endline(ctx)) goto l1399; goto l1397; l1399:; ctx->pos= yypos1399; ctx->thunkpos= yythunkpos1399; } if (!yy_Inline(ctx)) goto l1397; yyDo(ctx, yy_1_SetextHeading1, ctx->begin, ctx->end); goto l1396; l1397:; ctx->pos= yypos1397; ctx->thunkpos= yythunkpos1397; } { int yypos1400= ctx->pos, yythunkpos1400= ctx->thunkpos; if (!yy_Sp(ctx)) goto l1400; goto l1401; l1400:; ctx->pos= yypos1400; ctx->thunkpos= yythunkpos1400; } l1401:; if (!yy_Newline(ctx)) goto l1394; if (!yy_SetextBottom1(ctx)) goto l1394; yyDo(ctx, yy_2_SetextHeading1, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "SetextHeading1", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1394:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextHeading1", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SetextHeading(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "SetextHeading")); { int yypos1403= ctx->pos, yythunkpos1403= ctx->thunkpos; if (!yy_SetextHeading1(ctx)) goto l1404; goto l1403; l1404:; ctx->pos= yypos1403; ctx->thunkpos= yythunkpos1403; if (!yy_SetextHeading2(ctx)) goto l1402; } l1403:; yyprintf((stderr, " ok %s @ %s\n", "SetextHeading", ctx->buf+ctx->pos)); return 1; l1402:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextHeading", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AtxHeading(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "AtxHeading")); if (!yy_AtxStart(ctx)) goto l1405; yyDo(ctx, yySet, -2, 0); { int yypos1406= ctx->pos, yythunkpos1406= ctx->thunkpos; if (!yy_Sp(ctx)) goto l1406; goto l1407; l1406:; ctx->pos= yypos1406; ctx->thunkpos= yythunkpos1406; } l1407:; if (!yy_StartList(ctx)) goto l1405; yyDo(ctx, yySet, -1, 0); if (!yy_AtxInline(ctx)) goto l1405; yyDo(ctx, yy_1_AtxHeading, ctx->begin, ctx->end); l1408:; { int yypos1409= ctx->pos, yythunkpos1409= ctx->thunkpos; if (!yy_AtxInline(ctx)) goto l1409; yyDo(ctx, yy_1_AtxHeading, ctx->begin, ctx->end); goto l1408; l1409:; ctx->pos= yypos1409; ctx->thunkpos= yythunkpos1409; } { int yypos1410= ctx->pos, yythunkpos1410= ctx->thunkpos; { int yypos1412= ctx->pos, yythunkpos1412= ctx->thunkpos; if (!yy_Sp(ctx)) goto l1412; goto l1413; l1412:; ctx->pos= yypos1412; ctx->thunkpos= yythunkpos1412; } l1413:; l1414:; { int yypos1415= ctx->pos, yythunkpos1415= ctx->thunkpos; if (!yymatchChar(ctx, '#')) goto l1415; goto l1414; l1415:; ctx->pos= yypos1415; ctx->thunkpos= yythunkpos1415; } if (!yy_Sp(ctx)) goto l1410; goto l1411; l1410:; ctx->pos= yypos1410; ctx->thunkpos= yythunkpos1410; } l1411:; if (!yy_Newline(ctx)) goto l1405; yyDo(ctx, yy_2_AtxHeading, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "AtxHeading", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l1405:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AtxHeading", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AtxStart(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "AtxStart")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l1416; { int yypos1417= ctx->pos, yythunkpos1417= ctx->thunkpos; if (!yymatchString(ctx, "######")) goto l1418; goto l1417; l1418:; ctx->pos= yypos1417; ctx->thunkpos= yythunkpos1417; if (!yymatchString(ctx, "#####")) goto l1419; goto l1417; l1419:; ctx->pos= yypos1417; ctx->thunkpos= yythunkpos1417; if (!yymatchString(ctx, "####")) goto l1420; goto l1417; l1420:; ctx->pos= yypos1417; ctx->thunkpos= yythunkpos1417; if (!yymatchString(ctx, "###")) goto l1421; goto l1417; l1421:; ctx->pos= yypos1417; ctx->thunkpos= yythunkpos1417; if (!yymatchString(ctx, "##")) goto l1422; goto l1417; l1422:; ctx->pos= yypos1417; ctx->thunkpos= yythunkpos1417; if (!yymatchChar(ctx, '#')) goto l1416; } l1417:; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l1416; yyDo(ctx, yy_1_AtxStart, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "AtxStart", ctx->buf+ctx->pos)); return 1; l1416:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AtxStart", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Inline(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Inline")); { int yypos1424= ctx->pos, yythunkpos1424= ctx->thunkpos; if (!yy_Str(ctx)) goto l1425; goto l1424; l1425:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Endline(ctx)) goto l1426; goto l1424; l1426:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_UlOrStarLine(ctx)) goto l1427; goto l1424; l1427:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Space(ctx)) goto l1428; goto l1424; l1428:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Strong(ctx)) goto l1429; goto l1424; l1429:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Emph(ctx)) goto l1430; goto l1424; l1430:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Image(ctx)) goto l1431; goto l1424; l1431:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Link(ctx)) goto l1432; goto l1424; l1432:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_NoteReference(ctx)) goto l1433; goto l1424; l1433:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_InlineNote(ctx)) goto l1434; goto l1424; l1434:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Code(ctx)) goto l1435; goto l1424; l1435:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_RawHtml(ctx)) goto l1436; goto l1424; l1436:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Entity(ctx)) goto l1437; goto l1424; l1437:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_EscapedChar(ctx)) goto l1438; goto l1424; l1438:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Smart(ctx)) goto l1439; goto l1424; l1439:; ctx->pos= yypos1424; ctx->thunkpos= yythunkpos1424; if (!yy_Symbol(ctx)) goto l1423; } l1424:; yyprintf((stderr, " ok %s @ %s\n", "Inline", ctx->buf+ctx->pos)); return 1; l1423:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Inline", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Sp(yycontext *ctx) { yyprintf((stderr, "%s\n", "Sp")); l1441:; { int yypos1442= ctx->pos, yythunkpos1442= ctx->thunkpos; if (!yy_Spacechar(ctx)) goto l1442; goto l1441; l1442:; ctx->pos= yypos1442; ctx->thunkpos= yythunkpos1442; } yyprintf((stderr, " ok %s @ %s\n", "Sp", ctx->buf+ctx->pos)); return 1; } YY_RULE(int) yy_Newline(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Newline")); { int yypos1444= ctx->pos, yythunkpos1444= ctx->thunkpos; if (!yymatchChar(ctx, '\n')) goto l1445; goto l1444; l1445:; ctx->pos= yypos1444; ctx->thunkpos= yythunkpos1444; if (!yymatchChar(ctx, '\r')) goto l1443; { int yypos1446= ctx->pos, yythunkpos1446= ctx->thunkpos; if (!yymatchChar(ctx, '\n')) goto l1446; goto l1447; l1446:; ctx->pos= yypos1446; ctx->thunkpos= yythunkpos1446; } l1447:; } l1444:; yyprintf((stderr, " ok %s @ %s\n", "Newline", ctx->buf+ctx->pos)); return 1; l1443:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Newline", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AtxInline(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "AtxInline")); { int yypos1449= ctx->pos, yythunkpos1449= ctx->thunkpos; if (!yy_Newline(ctx)) goto l1449; goto l1448; l1449:; ctx->pos= yypos1449; ctx->thunkpos= yythunkpos1449; } { int yypos1450= ctx->pos, yythunkpos1450= ctx->thunkpos; { int yypos1451= ctx->pos, yythunkpos1451= ctx->thunkpos; if (!yy_Sp(ctx)) goto l1451; goto l1452; l1451:; ctx->pos= yypos1451; ctx->thunkpos= yythunkpos1451; } l1452:; l1453:; { int yypos1454= ctx->pos, yythunkpos1454= ctx->thunkpos; if (!yymatchChar(ctx, '#')) goto l1454; goto l1453; l1454:; ctx->pos= yypos1454; ctx->thunkpos= yythunkpos1454; } if (!yy_Sp(ctx)) goto l1450; if (!yy_Newline(ctx)) goto l1450; goto l1448; l1450:; ctx->pos= yypos1450; ctx->thunkpos= yythunkpos1450; } if (!yy_Inline(ctx)) goto l1448; yyprintf((stderr, " ok %s @ %s\n", "AtxInline", ctx->buf+ctx->pos)); return 1; l1448:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AtxInline", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Inlines(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "Inlines")); if (!yy_StartList(ctx)) goto l1455; yyDo(ctx, yySet, -2, 0); { int yypos1458= ctx->pos, yythunkpos1458= ctx->thunkpos; { int yypos1460= ctx->pos, yythunkpos1460= ctx->thunkpos; if (!yy_Endline(ctx)) goto l1460; goto l1459; l1460:; ctx->pos= yypos1460; ctx->thunkpos= yythunkpos1460; } if (!yy_Inline(ctx)) goto l1459; yyDo(ctx, yy_1_Inlines, ctx->begin, ctx->end); goto l1458; l1459:; ctx->pos= yypos1458; ctx->thunkpos= yythunkpos1458; if (!yy_Endline(ctx)) goto l1455; yyDo(ctx, yySet, -1, 0); { int yypos1461= ctx->pos, yythunkpos1461= ctx->thunkpos; if (!yy_Inline(ctx)) goto l1455; ctx->pos= yypos1461; ctx->thunkpos= yythunkpos1461; } yyDo(ctx, yy_2_Inlines, ctx->begin, ctx->end); } l1458:; l1456:; { int yypos1457= ctx->pos, yythunkpos1457= ctx->thunkpos; { int yypos1462= ctx->pos, yythunkpos1462= ctx->thunkpos; { int yypos1464= ctx->pos, yythunkpos1464= ctx->thunkpos; if (!yy_Endline(ctx)) goto l1464; goto l1463; l1464:; ctx->pos= yypos1464; ctx->thunkpos= yythunkpos1464; } if (!yy_Inline(ctx)) goto l1463; yyDo(ctx, yy_1_Inlines, ctx->begin, ctx->end); goto l1462; l1463:; ctx->pos= yypos1462; ctx->thunkpos= yythunkpos1462; if (!yy_Endline(ctx)) goto l1457; yyDo(ctx, yySet, -1, 0); { int yypos1465= ctx->pos, yythunkpos1465= ctx->thunkpos; if (!yy_Inline(ctx)) goto l1457; ctx->pos= yypos1465; ctx->thunkpos= yythunkpos1465; } yyDo(ctx, yy_2_Inlines, ctx->begin, ctx->end); } l1462:; goto l1456; l1457:; ctx->pos= yypos1457; ctx->thunkpos= yythunkpos1457; } { int yypos1466= ctx->pos, yythunkpos1466= ctx->thunkpos; if (!yy_Endline(ctx)) goto l1466; goto l1467; l1466:; ctx->pos= yypos1466; ctx->thunkpos= yythunkpos1466; } l1467:; yyDo(ctx, yy_3_Inlines, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Inlines", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l1455:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Inlines", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_NonindentSpace(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "NonindentSpace")); { int yypos1469= ctx->pos, yythunkpos1469= ctx->thunkpos; if (!yymatchString(ctx, " ")) goto l1470; goto l1469; l1470:; ctx->pos= yypos1469; ctx->thunkpos= yythunkpos1469; if (!yymatchString(ctx, " ")) goto l1471; goto l1469; l1471:; ctx->pos= yypos1469; ctx->thunkpos= yythunkpos1469; if (!yymatchChar(ctx, ' ')) goto l1472; goto l1469; l1472:; ctx->pos= yypos1469; ctx->thunkpos= yythunkpos1469; if (!yymatchString(ctx, "")) goto l1468; } l1469:; yyprintf((stderr, " ok %s @ %s\n", "NonindentSpace", ctx->buf+ctx->pos)); return 1; l1468:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "NonindentSpace", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Plain(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "Plain")); if (!yy_Inlines(ctx)) goto l1473; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_Plain, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Plain", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1473:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Plain", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Para(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "Para")); if (!yy_NonindentSpace(ctx)) goto l1474; if (!yy_Inlines(ctx)) goto l1474; yyDo(ctx, yySet, -1, 0); if (!yy_BlankLine(ctx)) goto l1474; l1475:; { int yypos1476= ctx->pos, yythunkpos1476= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1476; goto l1475; l1476:; ctx->pos= yypos1476; ctx->thunkpos= yythunkpos1476; } yyDo(ctx, yy_1_Para, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Para", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1474:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Para", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_StyleBlock(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "StyleBlock")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l1477; if (!yy_InStyleTags(ctx)) goto l1477; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l1477; l1478:; { int yypos1479= ctx->pos, yythunkpos1479= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1479; goto l1478; l1479:; ctx->pos= yypos1479; ctx->thunkpos= yythunkpos1479; } yyDo(ctx, yy_1_StyleBlock, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "StyleBlock", ctx->buf+ctx->pos)); return 1; l1477:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StyleBlock", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HtmlBlock(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HtmlBlock")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l1480; { int yypos1481= ctx->pos, yythunkpos1481= ctx->thunkpos; if (!yy_HtmlBlockInTags(ctx)) goto l1482; goto l1481; l1482:; ctx->pos= yypos1481; ctx->thunkpos= yythunkpos1481; if (!yy_HtmlComment(ctx)) goto l1483; goto l1481; l1483:; ctx->pos= yypos1481; ctx->thunkpos= yythunkpos1481; if (!yy_HtmlBlockSelfClosing(ctx)) goto l1480; } l1481:; yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l1480; if (!yy_BlankLine(ctx)) goto l1480; l1484:; { int yypos1485= ctx->pos, yythunkpos1485= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1485; goto l1484; l1485:; ctx->pos= yypos1485; ctx->thunkpos= yythunkpos1485; } yyDo(ctx, yy_1_HtmlBlock, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "HtmlBlock", ctx->buf+ctx->pos)); return 1; l1480:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlock", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_BulletList(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "BulletList")); { int yypos1487= ctx->pos, yythunkpos1487= ctx->thunkpos; if (!yy_Bullet(ctx)) goto l1486; ctx->pos= yypos1487; ctx->thunkpos= yythunkpos1487; } { int yypos1488= ctx->pos, yythunkpos1488= ctx->thunkpos; if (!yy_ListTight(ctx)) goto l1489; goto l1488; l1489:; ctx->pos= yypos1488; ctx->thunkpos= yythunkpos1488; if (!yy_ListLoose(ctx)) goto l1486; } l1488:; yyDo(ctx, yy_1_BulletList, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "BulletList", ctx->buf+ctx->pos)); return 1; l1486:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BulletList", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_OrderedList(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "OrderedList")); { int yypos1491= ctx->pos, yythunkpos1491= ctx->thunkpos; if (!yy_Enumerator(ctx)) goto l1490; ctx->pos= yypos1491; ctx->thunkpos= yythunkpos1491; } { int yypos1492= ctx->pos, yythunkpos1492= ctx->thunkpos; if (!yy_ListTight(ctx)) goto l1493; goto l1492; l1493:; ctx->pos= yypos1492; ctx->thunkpos= yythunkpos1492; if (!yy_ListLoose(ctx)) goto l1490; } l1492:; yyDo(ctx, yy_1_OrderedList, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "OrderedList", ctx->buf+ctx->pos)); return 1; l1490:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "OrderedList", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Heading(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Heading")); { int yypos1495= ctx->pos, yythunkpos1495= ctx->thunkpos; if (!yy_SetextHeading(ctx)) goto l1496; goto l1495; l1496:; ctx->pos= yypos1495; ctx->thunkpos= yythunkpos1495; if (!yy_AtxHeading(ctx)) goto l1494; } l1495:; yyprintf((stderr, " ok %s @ %s\n", "Heading", ctx->buf+ctx->pos)); return 1; l1494:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Heading", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_HorizontalRule(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "HorizontalRule")); if (!yy_NonindentSpace(ctx)) goto l1497; { int yypos1498= ctx->pos, yythunkpos1498= ctx->thunkpos; if (!yymatchChar(ctx, '*')) goto l1499; if (!yy_Sp(ctx)) goto l1499; if (!yymatchChar(ctx, '*')) goto l1499; if (!yy_Sp(ctx)) goto l1499; if (!yymatchChar(ctx, '*')) goto l1499; l1500:; { int yypos1501= ctx->pos, yythunkpos1501= ctx->thunkpos; if (!yy_Sp(ctx)) goto l1501; if (!yymatchChar(ctx, '*')) goto l1501; goto l1500; l1501:; ctx->pos= yypos1501; ctx->thunkpos= yythunkpos1501; } goto l1498; l1499:; ctx->pos= yypos1498; ctx->thunkpos= yythunkpos1498; if (!yymatchChar(ctx, '-')) goto l1502; if (!yy_Sp(ctx)) goto l1502; if (!yymatchChar(ctx, '-')) goto l1502; if (!yy_Sp(ctx)) goto l1502; if (!yymatchChar(ctx, '-')) goto l1502; l1503:; { int yypos1504= ctx->pos, yythunkpos1504= ctx->thunkpos; if (!yy_Sp(ctx)) goto l1504; if (!yymatchChar(ctx, '-')) goto l1504; goto l1503; l1504:; ctx->pos= yypos1504; ctx->thunkpos= yythunkpos1504; } goto l1498; l1502:; ctx->pos= yypos1498; ctx->thunkpos= yythunkpos1498; if (!yymatchChar(ctx, '_')) goto l1497; if (!yy_Sp(ctx)) goto l1497; if (!yymatchChar(ctx, '_')) goto l1497; if (!yy_Sp(ctx)) goto l1497; if (!yymatchChar(ctx, '_')) goto l1497; l1505:; { int yypos1506= ctx->pos, yythunkpos1506= ctx->thunkpos; if (!yy_Sp(ctx)) goto l1506; if (!yymatchChar(ctx, '_')) goto l1506; goto l1505; l1506:; ctx->pos= yypos1506; ctx->thunkpos= yythunkpos1506; } } l1498:; if (!yy_Sp(ctx)) goto l1497; if (!yy_Newline(ctx)) goto l1497; if (!yy_BlankLine(ctx)) goto l1497; l1507:; { int yypos1508= ctx->pos, yythunkpos1508= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1508; goto l1507; l1508:; ctx->pos= yypos1508; ctx->thunkpos= yythunkpos1508; } yyDo(ctx, yy_1_HorizontalRule, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "HorizontalRule", ctx->buf+ctx->pos)); return 1; l1497:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HorizontalRule", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Reference(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 3, 0); yyprintf((stderr, "%s\n", "Reference")); if (!yy_NonindentSpace(ctx)) goto l1509; { int yypos1510= ctx->pos, yythunkpos1510= ctx->thunkpos; if (!yymatchString(ctx, "[]")) goto l1510; goto l1509; l1510:; ctx->pos= yypos1510; ctx->thunkpos= yythunkpos1510; } if (!yy_Label(ctx)) goto l1509; yyDo(ctx, yySet, -3, 0); if (!yymatchChar(ctx, ':')) goto l1509; if (!yy_Spnl(ctx)) goto l1509; if (!yy_RefSrc(ctx)) goto l1509; yyDo(ctx, yySet, -2, 0); if (!yy_RefTitle(ctx)) goto l1509; yyDo(ctx, yySet, -1, 0); if (!yy_BlankLine(ctx)) goto l1509; l1511:; { int yypos1512= ctx->pos, yythunkpos1512= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1512; goto l1511; l1512:; ctx->pos= yypos1512; ctx->thunkpos= yythunkpos1512; } yyDo(ctx, yy_1_Reference, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Reference", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 3, 0); return 1; l1509:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Reference", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Note(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 2, 0); yyprintf((stderr, "%s\n", "Note")); yyText(ctx, ctx->begin, ctx->end); if (!( extension(EXT_NOTES) )) goto l1513; if (!yy_NonindentSpace(ctx)) goto l1513; if (!yy_RawNoteReference(ctx)) goto l1513; yyDo(ctx, yySet, -2, 0); if (!yymatchChar(ctx, ':')) goto l1513; if (!yy_Sp(ctx)) goto l1513; if (!yy_StartList(ctx)) goto l1513; yyDo(ctx, yySet, -1, 0); if (!yy_RawNoteBlock(ctx)) goto l1513; yyDo(ctx, yy_1_Note, ctx->begin, ctx->end); l1514:; { int yypos1515= ctx->pos, yythunkpos1515= ctx->thunkpos; { int yypos1516= ctx->pos, yythunkpos1516= ctx->thunkpos; if (!yy_Indent(ctx)) goto l1515; ctx->pos= yypos1516; ctx->thunkpos= yythunkpos1516; } if (!yy_RawNoteBlock(ctx)) goto l1515; yyDo(ctx, yy_2_Note, ctx->begin, ctx->end); goto l1514; l1515:; ctx->pos= yypos1515; ctx->thunkpos= yythunkpos1515; } yyDo(ctx, yy_3_Note, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Note", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 2, 0); return 1; l1513:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Note", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Verbatim(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "Verbatim")); if (!yy_StartList(ctx)) goto l1517; yyDo(ctx, yySet, -1, 0); if (!yy_VerbatimChunk(ctx)) goto l1517; yyDo(ctx, yy_1_Verbatim, ctx->begin, ctx->end); l1518:; { int yypos1519= ctx->pos, yythunkpos1519= ctx->thunkpos; if (!yy_VerbatimChunk(ctx)) goto l1519; yyDo(ctx, yy_1_Verbatim, ctx->begin, ctx->end); goto l1518; l1519:; ctx->pos= yypos1519; ctx->thunkpos= yythunkpos1519; } yyDo(ctx, yy_2_Verbatim, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Verbatim", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1517:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Verbatim", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_BlockQuote(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "BlockQuote")); if (!yy_BlockQuoteRaw(ctx)) goto l1520; yyDo(ctx, yySet, -1, 0); yyDo(ctx, yy_1_BlockQuote, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "BlockQuote", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1520:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BlockQuote", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_BlankLine(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "BlankLine")); if (!yy_Sp(ctx)) goto l1521; if (!yy_Newline(ctx)) goto l1521; yyprintf((stderr, " ok %s @ %s\n", "BlankLine", ctx->buf+ctx->pos)); return 1; l1521:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BlankLine", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Block(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "Block")); l1523:; { int yypos1524= ctx->pos, yythunkpos1524= ctx->thunkpos; if (!yy_BlankLine(ctx)) goto l1524; goto l1523; l1524:; ctx->pos= yypos1524; ctx->thunkpos= yythunkpos1524; } { int yypos1525= ctx->pos, yythunkpos1525= ctx->thunkpos; if (!yy_BlockQuote(ctx)) goto l1526; goto l1525; l1526:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_Verbatim(ctx)) goto l1527; goto l1525; l1527:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_Note(ctx)) goto l1528; goto l1525; l1528:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_Reference(ctx)) goto l1529; goto l1525; l1529:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_HorizontalRule(ctx)) goto l1530; goto l1525; l1530:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_Heading(ctx)) goto l1531; goto l1525; l1531:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_OrderedList(ctx)) goto l1532; goto l1525; l1532:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_BulletList(ctx)) goto l1533; goto l1525; l1533:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_HtmlBlock(ctx)) goto l1534; goto l1525; l1534:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_StyleBlock(ctx)) goto l1535; goto l1525; l1535:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_Para(ctx)) goto l1536; goto l1525; l1536:; ctx->pos= yypos1525; ctx->thunkpos= yythunkpos1525; if (!yy_Plain(ctx)) goto l1522; } l1525:; yyprintf((stderr, " ok %s @ %s\n", "Block", ctx->buf+ctx->pos)); return 1; l1522:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Block", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_StartList(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "StartList")); { int yypos1538= ctx->pos, yythunkpos1538= ctx->thunkpos; if (!yymatchDot(ctx)) goto l1537; ctx->pos= yypos1538; ctx->thunkpos= yythunkpos1538; } yyDo(ctx, yy_1_StartList, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "StartList", ctx->buf+ctx->pos)); return 1; l1537:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StartList", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_BOM(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "BOM")); if (!yymatchString(ctx, "\357\273\277")) goto l1539; yyprintf((stderr, " ok %s @ %s\n", "BOM", ctx->buf+ctx->pos)); return 1; l1539:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BOM", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_Doc(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyDo(ctx, yyPush, 1, 0); yyprintf((stderr, "%s\n", "Doc")); { int yypos1541= ctx->pos, yythunkpos1541= ctx->thunkpos; if (!yy_BOM(ctx)) goto l1541; goto l1542; l1541:; ctx->pos= yypos1541; ctx->thunkpos= yythunkpos1541; } l1542:; if (!yy_StartList(ctx)) goto l1540; yyDo(ctx, yySet, -1, 0); l1543:; { int yypos1544= ctx->pos, yythunkpos1544= ctx->thunkpos; if (!yy_Block(ctx)) goto l1544; yyDo(ctx, yy_1_Doc, ctx->begin, ctx->end); goto l1543; l1544:; ctx->pos= yypos1544; ctx->thunkpos= yythunkpos1544; } yyDo(ctx, yy_2_Doc, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "Doc", ctx->buf+ctx->pos)); yyDo(ctx, yyPop, 1, 0); return 1; l1540:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Doc", ctx->buf+ctx->pos)); return 0; } #ifndef YY_PART typedef int (*yyrule)(yycontext *ctx); YY_PARSE(int) YYPARSEFROM(YY_CTX_PARAM_ yyrule yystart) { int yyok; if (!yyctx->buflen) { yyctx->buflen= 1024; yyctx->buf= (char *)malloc(yyctx->buflen); yyctx->textlen= 1024; yyctx->text= (char *)malloc(yyctx->textlen); yyctx->thunkslen= 32; yyctx->thunks= (yythunk *)malloc(sizeof(yythunk) * yyctx->thunkslen); yyctx->valslen= 32; yyctx->vals= (YYSTYPE *)malloc(sizeof(YYSTYPE) * yyctx->valslen); yyctx->begin= yyctx->end= yyctx->pos= yyctx->limit= yyctx->thunkpos= 0; } yyctx->begin= yyctx->end= yyctx->pos; yyctx->thunkpos= 0; yyctx->val= yyctx->vals; yyok= yystart(yyctx); if (yyok) yyDone(yyctx); yyCommit(yyctx); return yyok; } YY_PARSE(int) YYPARSE(YY_CTX_PARAM) { return YYPARSEFROM(YY_CTX_ARG_ yy_Doc); } #endif geany-plugins-1.27/markdown/peg-markdown/markdown_parser.leg0000644000175000017500000007405712671261352024641 0ustar00frlanfrlan00000000000000%{ /********************************************************************** markdown_parser.leg - markdown parser in C using a PEG grammar. (c) 2008 John MacFarlane (jgm at berkeley dot edu). This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License or the MIT license. See LICENSE for details. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ***********************************************************************/ #include #include #include "markdown_peg.h" #include "utility_functions.h" /********************************************************************** Definitions for leg parser generator. YY_INPUT is the function the parser calls to get new input. We take all new input from (static) charbuf. ***********************************************************************/ # define YYSTYPE element * #ifdef __DEBUG__ # define YY_DEBUG 1 #endif #define YY_INPUT(buf, result, max_size) \ { \ int yyc; \ if (charbuf && *charbuf != '\0') { \ yyc= *charbuf++; \ } else { \ yyc= EOF; \ } \ result= (EOF == yyc) ? 0 : (*(buf)= yyc, 1); \ } #define YY_RULE(T) T /********************************************************************** PEG grammar and parser actions for markdown syntax. ***********************************************************************/ %} Doc = BOM? a:StartList ( Block { a = cons($$, a); } )* { parse_result = reverse(a); } Block = BlankLine* ( BlockQuote | Verbatim | Note | Reference | HorizontalRule | Heading | OrderedList | BulletList | HtmlBlock | StyleBlock | Para | Plain ) Para = NonindentSpace a:Inlines BlankLine+ { $$ = a; $$->key = PARA; } Plain = a:Inlines { $$ = a; $$->key = PLAIN; } AtxInline = !Newline !(Sp? '#'* Sp Newline) Inline AtxStart = < ( "######" | "#####" | "####" | "###" | "##" | "#" ) > { $$ = mk_element(H1 + (strlen(yytext) - 1)); } AtxHeading = s:AtxStart Sp? a:StartList ( AtxInline { a = cons($$, a); } )+ (Sp? '#'* Sp)? Newline { $$ = mk_list(s->key, a); free(s); } SetextHeading = SetextHeading1 | SetextHeading2 SetextBottom1 = '='+ Newline SetextBottom2 = '-'+ Newline SetextHeading1 = &(RawLine SetextBottom1) a:StartList ( !Endline Inline { a = cons($$, a); } )+ Sp? Newline SetextBottom1 { $$ = mk_list(H1, a); } SetextHeading2 = &(RawLine SetextBottom2) a:StartList ( !Endline Inline { a = cons($$, a); } )+ Sp? Newline SetextBottom2 { $$ = mk_list(H2, a); } Heading = SetextHeading | AtxHeading BlockQuote = a:BlockQuoteRaw { $$ = mk_element(BLOCKQUOTE); $$->children = a; } BlockQuoteRaw = a:StartList (( '>' ' '? Line { a = cons($$, a); } ) ( !'>' !BlankLine Line { a = cons($$, a); } )* ( BlankLine { a = cons(mk_str("\n"), a); } )* )+ { $$ = mk_str_from_list(a, true); $$->key = RAW; } NonblankIndentedLine = !BlankLine IndentedLine VerbatimChunk = a:StartList ( BlankLine { a = cons(mk_str("\n"), a); } )* ( NonblankIndentedLine { a = cons($$, a); } )+ { $$ = mk_str_from_list(a, false); } Verbatim = a:StartList ( VerbatimChunk { a = cons($$, a); } )+ { $$ = mk_str_from_list(a, false); $$->key = VERBATIM; } HorizontalRule = NonindentSpace ( '*' Sp '*' Sp '*' (Sp '*')* | '-' Sp '-' Sp '-' (Sp '-')* | '_' Sp '_' Sp '_' (Sp '_')*) Sp Newline BlankLine+ { $$ = mk_element(HRULE); } Bullet = !HorizontalRule NonindentSpace ('+' | '*' | '-') Spacechar+ BulletList = &Bullet (ListTight | ListLoose) { $$->key = BULLETLIST; } ListTight = a:StartList ( ListItemTight { a = cons($$, a); } )+ BlankLine* !(Bullet | Enumerator) { $$ = mk_list(LIST, a); } ListLoose = a:StartList ( b:ListItem BlankLine* { element *li; li = b->children; li->contents.str = realloc(li->contents.str, strlen(li->contents.str) + 3); strcat(li->contents.str, "\n\n"); /* In loose list, \n\n added to end of each element */ a = cons(b, a); } )+ { $$ = mk_list(LIST, a); } ListItem = ( Bullet | Enumerator ) a:StartList ListBlock { a = cons($$, a); } ( ListContinuationBlock { a = cons($$, a); } )* { element *raw; raw = mk_str_from_list(a, false); raw->key = RAW; $$ = mk_element(LISTITEM); $$->children = raw; } ListItemTight = ( Bullet | Enumerator ) a:StartList ListBlock { a = cons($$, a); } ( !BlankLine ListContinuationBlock { a = cons($$, a); } )* !ListContinuationBlock { element *raw; raw = mk_str_from_list(a, false); raw->key = RAW; $$ = mk_element(LISTITEM); $$->children = raw; } ListBlock = a:StartList !BlankLine Line { a = cons($$, a); } ( ListBlockLine { a = cons($$, a); } )* { $$ = mk_str_from_list(a, false); } ListContinuationBlock = a:StartList ( < BlankLine* > { if (strlen(yytext) == 0) a = cons(mk_str("\001"), a); /* block separator */ else a = cons(mk_str(yytext), a); } ) ( Indent ListBlock { a = cons($$, a); } )+ { $$ = mk_str_from_list(a, false); } Enumerator = NonindentSpace [0-9]+ '.' Spacechar+ OrderedList = &Enumerator (ListTight | ListLoose) { $$->key = ORDEREDLIST; } ListBlockLine = !BlankLine !( Indent? (Bullet | Enumerator) ) !HorizontalRule OptionallyIndentedLine # Parsers for different kinds of block-level HTML content. # This is repetitive due to constraints of PEG grammar. HtmlBlockOpenAddress = '<' Spnl ("address" | "ADDRESS") Spnl HtmlAttribute* '>' HtmlBlockCloseAddress = '<' Spnl '/' ("address" | "ADDRESS") Spnl '>' HtmlBlockAddress = HtmlBlockOpenAddress (HtmlBlockAddress | !HtmlBlockCloseAddress .)* HtmlBlockCloseAddress HtmlBlockOpenBlockquote = '<' Spnl ("blockquote" | "BLOCKQUOTE") Spnl HtmlAttribute* '>' HtmlBlockCloseBlockquote = '<' Spnl '/' ("blockquote" | "BLOCKQUOTE") Spnl '>' HtmlBlockBlockquote = HtmlBlockOpenBlockquote (HtmlBlockBlockquote | !HtmlBlockCloseBlockquote .)* HtmlBlockCloseBlockquote HtmlBlockOpenCenter = '<' Spnl ("center" | "CENTER") Spnl HtmlAttribute* '>' HtmlBlockCloseCenter = '<' Spnl '/' ("center" | "CENTER") Spnl '>' HtmlBlockCenter = HtmlBlockOpenCenter (HtmlBlockCenter | !HtmlBlockCloseCenter .)* HtmlBlockCloseCenter HtmlBlockOpenDir = '<' Spnl ("dir" | "DIR") Spnl HtmlAttribute* '>' HtmlBlockCloseDir = '<' Spnl '/' ("dir" | "DIR") Spnl '>' HtmlBlockDir = HtmlBlockOpenDir (HtmlBlockDir | !HtmlBlockCloseDir .)* HtmlBlockCloseDir HtmlBlockOpenDiv = '<' Spnl ("div" | "DIV") Spnl HtmlAttribute* '>' HtmlBlockCloseDiv = '<' Spnl '/' ("div" | "DIV") Spnl '>' HtmlBlockDiv = HtmlBlockOpenDiv (HtmlBlockDiv | !HtmlBlockCloseDiv .)* HtmlBlockCloseDiv HtmlBlockOpenDl = '<' Spnl ("dl" | "DL") Spnl HtmlAttribute* '>' HtmlBlockCloseDl = '<' Spnl '/' ("dl" | "DL") Spnl '>' HtmlBlockDl = HtmlBlockOpenDl (HtmlBlockDl | !HtmlBlockCloseDl .)* HtmlBlockCloseDl HtmlBlockOpenFieldset = '<' Spnl ("fieldset" | "FIELDSET") Spnl HtmlAttribute* '>' HtmlBlockCloseFieldset = '<' Spnl '/' ("fieldset" | "FIELDSET") Spnl '>' HtmlBlockFieldset = HtmlBlockOpenFieldset (HtmlBlockFieldset | !HtmlBlockCloseFieldset .)* HtmlBlockCloseFieldset HtmlBlockOpenForm = '<' Spnl ("form" | "FORM") Spnl HtmlAttribute* '>' HtmlBlockCloseForm = '<' Spnl '/' ("form" | "FORM") Spnl '>' HtmlBlockForm = HtmlBlockOpenForm (HtmlBlockForm | !HtmlBlockCloseForm .)* HtmlBlockCloseForm HtmlBlockOpenH1 = '<' Spnl ("h1" | "H1") Spnl HtmlAttribute* '>' HtmlBlockCloseH1 = '<' Spnl '/' ("h1" | "H1") Spnl '>' HtmlBlockH1 = HtmlBlockOpenH1 (HtmlBlockH1 | !HtmlBlockCloseH1 .)* HtmlBlockCloseH1 HtmlBlockOpenH2 = '<' Spnl ("h2" | "H2") Spnl HtmlAttribute* '>' HtmlBlockCloseH2 = '<' Spnl '/' ("h2" | "H2") Spnl '>' HtmlBlockH2 = HtmlBlockOpenH2 (HtmlBlockH2 | !HtmlBlockCloseH2 .)* HtmlBlockCloseH2 HtmlBlockOpenH3 = '<' Spnl ("h3" | "H3") Spnl HtmlAttribute* '>' HtmlBlockCloseH3 = '<' Spnl '/' ("h3" | "H3") Spnl '>' HtmlBlockH3 = HtmlBlockOpenH3 (HtmlBlockH3 | !HtmlBlockCloseH3 .)* HtmlBlockCloseH3 HtmlBlockOpenH4 = '<' Spnl ("h4" | "H4") Spnl HtmlAttribute* '>' HtmlBlockCloseH4 = '<' Spnl '/' ("h4" | "H4") Spnl '>' HtmlBlockH4 = HtmlBlockOpenH4 (HtmlBlockH4 | !HtmlBlockCloseH4 .)* HtmlBlockCloseH4 HtmlBlockOpenH5 = '<' Spnl ("h5" | "H5") Spnl HtmlAttribute* '>' HtmlBlockCloseH5 = '<' Spnl '/' ("h5" | "H5") Spnl '>' HtmlBlockH5 = HtmlBlockOpenH5 (HtmlBlockH5 | !HtmlBlockCloseH5 .)* HtmlBlockCloseH5 HtmlBlockOpenH6 = '<' Spnl ("h6" | "H6") Spnl HtmlAttribute* '>' HtmlBlockCloseH6 = '<' Spnl '/' ("h6" | "H6") Spnl '>' HtmlBlockH6 = HtmlBlockOpenH6 (HtmlBlockH6 | !HtmlBlockCloseH6 .)* HtmlBlockCloseH6 HtmlBlockOpenMenu = '<' Spnl ("menu" | "MENU") Spnl HtmlAttribute* '>' HtmlBlockCloseMenu = '<' Spnl '/' ("menu" | "MENU") Spnl '>' HtmlBlockMenu = HtmlBlockOpenMenu (HtmlBlockMenu | !HtmlBlockCloseMenu .)* HtmlBlockCloseMenu HtmlBlockOpenNoframes = '<' Spnl ("noframes" | "NOFRAMES") Spnl HtmlAttribute* '>' HtmlBlockCloseNoframes = '<' Spnl '/' ("noframes" | "NOFRAMES") Spnl '>' HtmlBlockNoframes = HtmlBlockOpenNoframes (HtmlBlockNoframes | !HtmlBlockCloseNoframes .)* HtmlBlockCloseNoframes HtmlBlockOpenNoscript = '<' Spnl ("noscript" | "NOSCRIPT") Spnl HtmlAttribute* '>' HtmlBlockCloseNoscript = '<' Spnl '/' ("noscript" | "NOSCRIPT") Spnl '>' HtmlBlockNoscript = HtmlBlockOpenNoscript (HtmlBlockNoscript | !HtmlBlockCloseNoscript .)* HtmlBlockCloseNoscript HtmlBlockOpenOl = '<' Spnl ("ol" | "OL") Spnl HtmlAttribute* '>' HtmlBlockCloseOl = '<' Spnl '/' ("ol" | "OL") Spnl '>' HtmlBlockOl = HtmlBlockOpenOl (HtmlBlockOl | !HtmlBlockCloseOl .)* HtmlBlockCloseOl HtmlBlockOpenP = '<' Spnl ("p" | "P") Spnl HtmlAttribute* '>' HtmlBlockCloseP = '<' Spnl '/' ("p" | "P") Spnl '>' HtmlBlockP = HtmlBlockOpenP (HtmlBlockP | !HtmlBlockCloseP .)* HtmlBlockCloseP HtmlBlockOpenPre = '<' Spnl ("pre" | "PRE") Spnl HtmlAttribute* '>' HtmlBlockClosePre = '<' Spnl '/' ("pre" | "PRE") Spnl '>' HtmlBlockPre = HtmlBlockOpenPre (HtmlBlockPre | !HtmlBlockClosePre .)* HtmlBlockClosePre HtmlBlockOpenTable = '<' Spnl ("table" | "TABLE") Spnl HtmlAttribute* '>' HtmlBlockCloseTable = '<' Spnl '/' ("table" | "TABLE") Spnl '>' HtmlBlockTable = HtmlBlockOpenTable (HtmlBlockTable | !HtmlBlockCloseTable .)* HtmlBlockCloseTable HtmlBlockOpenUl = '<' Spnl ("ul" | "UL") Spnl HtmlAttribute* '>' HtmlBlockCloseUl = '<' Spnl '/' ("ul" | "UL") Spnl '>' HtmlBlockUl = HtmlBlockOpenUl (HtmlBlockUl | !HtmlBlockCloseUl .)* HtmlBlockCloseUl HtmlBlockOpenDd = '<' Spnl ("dd" | "DD") Spnl HtmlAttribute* '>' HtmlBlockCloseDd = '<' Spnl '/' ("dd" | "DD") Spnl '>' HtmlBlockDd = HtmlBlockOpenDd (HtmlBlockDd | !HtmlBlockCloseDd .)* HtmlBlockCloseDd HtmlBlockOpenDt = '<' Spnl ("dt" | "DT") Spnl HtmlAttribute* '>' HtmlBlockCloseDt = '<' Spnl '/' ("dt" | "DT") Spnl '>' HtmlBlockDt = HtmlBlockOpenDt (HtmlBlockDt | !HtmlBlockCloseDt .)* HtmlBlockCloseDt HtmlBlockOpenFrameset = '<' Spnl ("frameset" | "FRAMESET") Spnl HtmlAttribute* '>' HtmlBlockCloseFrameset = '<' Spnl '/' ("frameset" | "FRAMESET") Spnl '>' HtmlBlockFrameset = HtmlBlockOpenFrameset (HtmlBlockFrameset | !HtmlBlockCloseFrameset .)* HtmlBlockCloseFrameset HtmlBlockOpenLi = '<' Spnl ("li" | "LI") Spnl HtmlAttribute* '>' HtmlBlockCloseLi = '<' Spnl '/' ("li" | "LI") Spnl '>' HtmlBlockLi = HtmlBlockOpenLi (HtmlBlockLi | !HtmlBlockCloseLi .)* HtmlBlockCloseLi HtmlBlockOpenTbody = '<' Spnl ("tbody" | "TBODY") Spnl HtmlAttribute* '>' HtmlBlockCloseTbody = '<' Spnl '/' ("tbody" | "TBODY") Spnl '>' HtmlBlockTbody = HtmlBlockOpenTbody (HtmlBlockTbody | !HtmlBlockCloseTbody .)* HtmlBlockCloseTbody HtmlBlockOpenTd = '<' Spnl ("td" | "TD") Spnl HtmlAttribute* '>' HtmlBlockCloseTd = '<' Spnl '/' ("td" | "TD") Spnl '>' HtmlBlockTd = HtmlBlockOpenTd (HtmlBlockTd | !HtmlBlockCloseTd .)* HtmlBlockCloseTd HtmlBlockOpenTfoot = '<' Spnl ("tfoot" | "TFOOT") Spnl HtmlAttribute* '>' HtmlBlockCloseTfoot = '<' Spnl '/' ("tfoot" | "TFOOT") Spnl '>' HtmlBlockTfoot = HtmlBlockOpenTfoot (HtmlBlockTfoot | !HtmlBlockCloseTfoot .)* HtmlBlockCloseTfoot HtmlBlockOpenTh = '<' Spnl ("th" | "TH") Spnl HtmlAttribute* '>' HtmlBlockCloseTh = '<' Spnl '/' ("th" | "TH") Spnl '>' HtmlBlockTh = HtmlBlockOpenTh (HtmlBlockTh | !HtmlBlockCloseTh .)* HtmlBlockCloseTh HtmlBlockOpenThead = '<' Spnl ("thead" | "THEAD") Spnl HtmlAttribute* '>' HtmlBlockCloseThead = '<' Spnl '/' ("thead" | "THEAD") Spnl '>' HtmlBlockThead = HtmlBlockOpenThead (HtmlBlockThead | !HtmlBlockCloseThead .)* HtmlBlockCloseThead HtmlBlockOpenTr = '<' Spnl ("tr" | "TR") Spnl HtmlAttribute* '>' HtmlBlockCloseTr = '<' Spnl '/' ("tr" | "TR") Spnl '>' HtmlBlockTr = HtmlBlockOpenTr (HtmlBlockTr | !HtmlBlockCloseTr .)* HtmlBlockCloseTr HtmlBlockOpenScript = '<' Spnl ("script" | "SCRIPT") Spnl HtmlAttribute* '>' HtmlBlockCloseScript = '<' Spnl '/' ("script" | "SCRIPT") Spnl '>' HtmlBlockScript = HtmlBlockOpenScript (!HtmlBlockCloseScript .)* HtmlBlockCloseScript HtmlBlockOpenHead = '<' Spnl ("head" | "HEAD") Spnl HtmlAttribute* '>' HtmlBlockCloseHead = '<' Spnl '/' ("head" | "HEAD") Spnl '>' HtmlBlockHead = HtmlBlockOpenHead (!HtmlBlockCloseHead .)* HtmlBlockCloseHead HtmlBlockInTags = HtmlBlockAddress | HtmlBlockBlockquote | HtmlBlockCenter | HtmlBlockDir | HtmlBlockDiv | HtmlBlockDl | HtmlBlockFieldset | HtmlBlockForm | HtmlBlockH1 | HtmlBlockH2 | HtmlBlockH3 | HtmlBlockH4 | HtmlBlockH5 | HtmlBlockH6 | HtmlBlockMenu | HtmlBlockNoframes | HtmlBlockNoscript | HtmlBlockOl | HtmlBlockP | HtmlBlockPre | HtmlBlockTable | HtmlBlockUl | HtmlBlockDd | HtmlBlockDt | HtmlBlockFrameset | HtmlBlockLi | HtmlBlockTbody | HtmlBlockTd | HtmlBlockTfoot | HtmlBlockTh | HtmlBlockThead | HtmlBlockTr | HtmlBlockScript | HtmlBlockHead HtmlBlock = < ( HtmlBlockInTags | HtmlComment | HtmlBlockSelfClosing ) > BlankLine+ { if (extension(EXT_FILTER_HTML)) { $$ = mk_list(LIST, NULL); } else { $$ = mk_str(yytext); $$->key = HTMLBLOCK; } } HtmlBlockSelfClosing = '<' Spnl HtmlBlockType Spnl HtmlAttribute* '/' Spnl '>' HtmlBlockType = "address" | "blockquote" | "center" | "dir" | "div" | "dl" | "fieldset" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "hr" | "isindex" | "menu" | "noframes" | "noscript" | "ol" | "p" | "pre" | "table" | "ul" | "dd" | "dt" | "frameset" | "li" | "tbody" | "td" | "tfoot" | "th" | "thead" | "tr" | "script" | "ADDRESS" | "BLOCKQUOTE" | "CENTER" | "DIR" | "DIV" | "DL" | "FIELDSET" | "FORM" | "H1" | "H2" | "H3" | "H4" | "H5" | "H6" | "HR" | "ISINDEX" | "MENU" | "NOFRAMES" | "NOSCRIPT" | "OL" | "P" | "PRE" | "TABLE" | "UL" | "DD" | "DT" | "FRAMESET" | "LI" | "TBODY" | "TD" | "TFOOT" | "TH" | "THEAD" | "TR" | "SCRIPT" StyleOpen = '<' Spnl ("style" | "STYLE") Spnl HtmlAttribute* '>' StyleClose = '<' Spnl '/' ("style" | "STYLE") Spnl '>' InStyleTags = StyleOpen (!StyleClose .)* StyleClose StyleBlock = < InStyleTags > BlankLine* { if (extension(EXT_FILTER_STYLES)) { $$ = mk_list(LIST, NULL); } else { $$ = mk_str(yytext); $$->key = HTMLBLOCK; } } Inlines = a:StartList ( !Endline Inline { a = cons($$, a); } | c:Endline &Inline { a = cons(c, a); } )+ Endline? { $$ = mk_list(LIST, a); } Inline = Str | Endline | UlOrStarLine | Space | Strong | Emph | Image | Link | NoteReference | InlineNote | Code | RawHtml | Entity | EscapedChar | Smart | Symbol Space = Spacechar+ { $$ = mk_str(" "); $$->key = SPACE; } Str = a:StartList < NormalChar+ > { a = cons(mk_str(yytext), a); } ( StrChunk { a = cons($$, a); } )* { if (a->next == NULL) { $$ = a; } else { $$ = mk_list(LIST, a); } } StrChunk = < (NormalChar | '_'+ &Alphanumeric)+ > { $$ = mk_str(yytext); } | AposChunk AposChunk = &{ extension(EXT_SMART) } '\'' &Alphanumeric { $$ = mk_element(APOSTROPHE); } EscapedChar = '\\' !Newline < [-\\`|*_{}[\]()#+.!><] > { $$ = mk_str(yytext); } Entity = ( HexEntity | DecEntity | CharEntity ) { $$ = mk_str(yytext); $$->key = HTML; } Endline = LineBreak | TerminalEndline | NormalEndline NormalEndline = Sp Newline !BlankLine !'>' !AtxStart !(Line ('='+ | '-'+) Newline) { $$ = mk_str("\n"); $$->key = SPACE; } TerminalEndline = Sp Newline Eof { $$ = NULL; } LineBreak = " " NormalEndline { $$ = mk_element(LINEBREAK); } Symbol = < SpecialChar > { $$ = mk_str(yytext); } # This keeps the parser from getting bogged down on long strings of '*' or '_', # or strings of '*' or '_' with space on each side: UlOrStarLine = (UlLine | StarLine) { $$ = mk_str(yytext); } StarLine = < "****" '*'* > | < Spacechar '*'+ &Spacechar > UlLine = < "____" '_'* > | < Spacechar '_'+ &Spacechar > Emph = EmphStar | EmphUl Whitespace = Spacechar | Newline EmphStar = '*' !Whitespace a:StartList ( !'*' b:Inline { a = cons(b, a); } | b:StrongStar { a = cons(b, a); } )+ '*' { $$ = mk_list(EMPH, a); } EmphUl = '_' !Whitespace a:StartList ( !'_' b:Inline { a = cons(b, a); } | b:StrongUl { a = cons(b, a); } )+ '_' { $$ = mk_list(EMPH, a); } Strong = StrongStar | StrongUl StrongStar = "**" !Whitespace a:StartList ( !"**" b:Inline { a = cons(b, a); })+ "**" { $$ = mk_list(STRONG, a); } StrongUl = "__" !Whitespace a:StartList ( !"__" b:Inline { a = cons(b, a); })+ "__" { $$ = mk_list(STRONG, a); } Image = '!' ( ExplicitLink | ReferenceLink ) { if ($$->key == LINK) { $$->key = IMAGE; } else { element *result; result = $$; $$->children = cons(mk_str("!"), result->children); } } Link = ExplicitLink | ReferenceLink | AutoLink ReferenceLink = ReferenceLinkDouble | ReferenceLinkSingle ReferenceLinkDouble = a:Label < Spnl > !"[]" b:Label { link match; if (find_reference(&match, b->children)) { $$ = mk_link(a->children, match.url, match.title); free(a); free_element_list(b); } else { element *result; result = mk_element(LIST); result->children = cons(mk_str("["), cons(a, cons(mk_str("]"), cons(mk_str(yytext), cons(mk_str("["), cons(b, mk_str("]"))))))); $$ = result; } } ReferenceLinkSingle = a:Label < (Spnl "[]")? > { link match; if (find_reference(&match, a->children)) { $$ = mk_link(a->children, match.url, match.title); free(a); } else { element *result; result = mk_element(LIST); result->children = cons(mk_str("["), cons(a, cons(mk_str("]"), mk_str(yytext)))); $$ = result; } } ExplicitLink = l:Label '(' Sp s:Source Spnl t:Title Sp ')' { $$ = mk_link(l->children, s->contents.str, t->contents.str); free_element(s); free_element(t); free(l); } Source = ( '<' < SourceContents > '>' | < SourceContents > ) { $$ = mk_str(yytext); } SourceContents = ( ( !'(' !')' !'>' Nonspacechar )+ | '(' SourceContents ')')* Title = ( TitleSingle | TitleDouble | < "" > ) { $$ = mk_str(yytext); } TitleSingle = '\'' < ( !( '\'' Sp ( ')' | Newline ) ) . )* > '\'' TitleDouble = '"' < ( !( '"' Sp ( ')' | Newline ) ) . )* > '"' AutoLink = AutoLinkUrl | AutoLinkEmail AutoLinkUrl = '<' < [A-Za-z]+ "://" ( !Newline !'>' . )+ > '>' { $$ = mk_link(mk_str(yytext), yytext, ""); } AutoLinkEmail = '<' ( "mailto:" )? < [-A-Za-z0-9+_./!%~$]+ '@' ( !Newline !'>' . )+ > '>' { char *mailto = malloc(strlen(yytext) + 8); sprintf(mailto, "mailto:%s", yytext); $$ = mk_link(mk_str(yytext), mailto, ""); free(mailto); } Reference = NonindentSpace !"[]" l:Label ':' Spnl s:RefSrc t:RefTitle BlankLine+ { $$ = mk_link(l->children, s->contents.str, t->contents.str); free_element(s); free_element(t); free(l); $$->key = REFERENCE; } Label = '[' ( !'^' &{ extension(EXT_NOTES) } | &. &{ !extension(EXT_NOTES) } ) a:StartList ( !']' Inline { a = cons($$, a); } )* ']' { $$ = mk_list(LIST, a); } RefSrc = < Nonspacechar+ > { $$ = mk_str(yytext); $$->key = HTML; } RefTitle = ( RefTitleSingle | RefTitleDouble | RefTitleParens | EmptyTitle ) { $$ = mk_str(yytext); } EmptyTitle = < "" > RefTitleSingle = Spnl '\'' < ( !( '\'' Sp Newline | Newline ) . )* > '\'' RefTitleDouble = Spnl '"' < ( !('"' Sp Newline | Newline) . )* > '"' RefTitleParens = Spnl '(' < ( !(')' Sp Newline | Newline) . )* > ')' References = a:StartList ( b:Reference { a = cons(b, a); } | SkipBlock )* { references = reverse(a); } Ticks1 = "`" !'`' Ticks2 = "``" !'`' Ticks3 = "```" !'`' Ticks4 = "````" !'`' Ticks5 = "`````" !'`' Code = ( Ticks1 Sp < ( ( !'`' Nonspacechar )+ | !Ticks1 '`'+ | !( Sp Ticks1 ) ( Spacechar | Newline !BlankLine ) )+ > Sp Ticks1 | Ticks2 Sp < ( ( !'`' Nonspacechar )+ | !Ticks2 '`'+ | !( Sp Ticks2 ) ( Spacechar | Newline !BlankLine ) )+ > Sp Ticks2 | Ticks3 Sp < ( ( !'`' Nonspacechar )+ | !Ticks3 '`'+ | !( Sp Ticks3 ) ( Spacechar | Newline !BlankLine ) )+ > Sp Ticks3 | Ticks4 Sp < ( ( !'`' Nonspacechar )+ | !Ticks4 '`'+ | !( Sp Ticks4 ) ( Spacechar | Newline !BlankLine ) )+ > Sp Ticks4 | Ticks5 Sp < ( ( !'`' Nonspacechar )+ | !Ticks5 '`'+ | !( Sp Ticks5 ) ( Spacechar | Newline !BlankLine ) )+ > Sp Ticks5 ) { $$ = mk_str(yytext); $$->key = CODE; } RawHtml = < (HtmlComment | HtmlBlockScript | HtmlTag) > { if (extension(EXT_FILTER_HTML)) { $$ = mk_list(LIST, NULL); } else { $$ = mk_str(yytext); $$->key = HTML; } } BlankLine = Sp Newline Quoted = '"' (!'"' .)* '"' | '\'' (!'\'' .)* '\'' HtmlAttribute = (AlphanumericAscii | '-')+ Spnl ('=' Spnl (Quoted | (!'>' Nonspacechar)+))? Spnl HtmlComment = "" .)* "-->" HtmlTag = '<' Spnl '/'? AlphanumericAscii+ Spnl HtmlAttribute* '/'? Spnl '>' Eof = !. Spacechar = ' ' | '\t' Nonspacechar = !Spacechar !Newline . Newline = '\n' | '\r' '\n'? Sp = Spacechar* Spnl = Sp (Newline Sp)? SpecialChar = '*' | '_' | '`' | '&' | '[' | ']' | '(' | ')' | '<' | '!' | '#' | '\\' | '\'' | '"' | ExtendedSpecialChar NormalChar = !( SpecialChar | Spacechar | Newline ) . Alphanumeric = [0-9A-Za-z] | '\200' | '\201' | '\202' | '\203' | '\204' | '\205' | '\206' | '\207' | '\210' | '\211' | '\212' | '\213' | '\214' | '\215' | '\216' | '\217' | '\220' | '\221' | '\222' | '\223' | '\224' | '\225' | '\226' | '\227' | '\230' | '\231' | '\232' | '\233' | '\234' | '\235' | '\236' | '\237' | '\240' | '\241' | '\242' | '\243' | '\244' | '\245' | '\246' | '\247' | '\250' | '\251' | '\252' | '\253' | '\254' | '\255' | '\256' | '\257' | '\260' | '\261' | '\262' | '\263' | '\264' | '\265' | '\266' | '\267' | '\270' | '\271' | '\272' | '\273' | '\274' | '\275' | '\276' | '\277' | '\300' | '\301' | '\302' | '\303' | '\304' | '\305' | '\306' | '\307' | '\310' | '\311' | '\312' | '\313' | '\314' | '\315' | '\316' | '\317' | '\320' | '\321' | '\322' | '\323' | '\324' | '\325' | '\326' | '\327' | '\330' | '\331' | '\332' | '\333' | '\334' | '\335' | '\336' | '\337' | '\340' | '\341' | '\342' | '\343' | '\344' | '\345' | '\346' | '\347' | '\350' | '\351' | '\352' | '\353' | '\354' | '\355' | '\356' | '\357' | '\360' | '\361' | '\362' | '\363' | '\364' | '\365' | '\366' | '\367' | '\370' | '\371' | '\372' | '\373' | '\374' | '\375' | '\376' | '\377' AlphanumericAscii = [A-Za-z0-9] Digit = [0-9] BOM = "\357\273\277" HexEntity = < '&' '#' [Xx] [0-9a-fA-F]+ ';' > DecEntity = < '&' '#' [0-9]+ > ';' > CharEntity = < '&' [A-Za-z0-9]+ ';' > NonindentSpace = " " | " " | " " | "" Indent = "\t" | " " IndentedLine = Indent Line OptionallyIndentedLine = Indent? Line # StartList starts a list data structure that can be added to with cons: StartList = &. { $$ = NULL; } Line = RawLine { $$ = mk_str(yytext); } RawLine = ( < (!'\r' !'\n' .)* Newline > | < .+ > Eof ) SkipBlock = HtmlBlock | ( !'#' !SetextBottom1 !SetextBottom2 !BlankLine RawLine )+ BlankLine* | BlankLine+ | RawLine # Syntax extensions ExtendedSpecialChar = &{ extension(EXT_SMART) } ('.' | '-' | '\'' | '"') | &{ extension(EXT_NOTES) } ( '^' ) Smart = &{ extension(EXT_SMART) } ( Ellipsis | Dash | SingleQuoted | DoubleQuoted | Apostrophe ) Apostrophe = '\'' { $$ = mk_element(APOSTROPHE); } Ellipsis = ("..." | ". . .") { $$ = mk_element(ELLIPSIS); } Dash = EmDash | EnDash EnDash = '-' &Digit { $$ = mk_element(ENDASH); } EmDash = ("---" | "--") { $$ = mk_element(EMDASH); } SingleQuoteStart = '\'' !(Spacechar | Newline) SingleQuoteEnd = '\'' !Alphanumeric SingleQuoted = SingleQuoteStart a:StartList ( !SingleQuoteEnd b:Inline { a = cons(b, a); } )+ SingleQuoteEnd { $$ = mk_list(SINGLEQUOTED, a); } DoubleQuoteStart = '"' DoubleQuoteEnd = '"' DoubleQuoted = DoubleQuoteStart a:StartList ( !DoubleQuoteEnd b:Inline { a = cons(b, a); } )+ DoubleQuoteEnd { $$ = mk_list(DOUBLEQUOTED, a); } NoteReference = &{ extension(EXT_NOTES) } ref:RawNoteReference { element *match; if (find_note(&match, ref->contents.str)) { $$ = mk_element(NOTE); assert(match->children != NULL); $$->children = match->children; $$->contents.str = 0; } else { char *s; s = malloc(strlen(ref->contents.str) + 4); sprintf(s, "[^%s]", ref->contents.str); $$ = mk_str(s); free(s); } } RawNoteReference = "[^" < ( !Newline !']' . )+ > ']' { $$ = mk_str(yytext); } Note = &{ extension(EXT_NOTES) } NonindentSpace ref:RawNoteReference ':' Sp a:StartList ( RawNoteBlock { a = cons($$, a); } ) ( &Indent RawNoteBlock { a = cons($$, a); } )* { $$ = mk_list(NOTE, a); $$->contents.str = strdup(ref->contents.str); } InlineNote = &{ extension(EXT_NOTES) } "^[" a:StartList ( !']' Inline { a = cons($$, a); } )+ ']' { $$ = mk_list(NOTE, a); $$->contents.str = 0; } Notes = a:StartList ( b:Note { a = cons(b, a); } | SkipBlock )* { notes = reverse(a); } RawNoteBlock = a:StartList ( !BlankLine OptionallyIndentedLine { a = cons($$, a); } )+ ( < BlankLine* > { a = cons(mk_str(yytext), a); } ) { $$ = mk_str_from_list(a, true); $$->key = RAW; } %% geany-plugins-1.27/markdown/peg-markdown/markdown_output.c0000644000175000017500000011155012671261352024346 0ustar00frlanfrlan00000000000000/********************************************************************** markdown_output.c - functions for printing Elements parsed by markdown_peg. (c) 2008 John MacFarlane (jgm at berkeley dot edu). This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License or the MIT license. See LICENSE for details. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ***********************************************************************/ #include #include #include #include #include #include #include "markdown_peg.h" #include "odf.h" static int extensions; static int odf_type = 0; static void print_html_string(GString *out, char *str, bool obfuscate); static void print_html_element_list(GString *out, element *list, bool obfuscate); static void print_html_element(GString *out, element *elt, bool obfuscate); static void print_latex_string(GString *out, char *str); static void print_latex_element_list(GString *out, element *list); static void print_latex_element(GString *out, element *elt); static void print_groff_string(GString *out, char *str); static void print_groff_mm_element_list(GString *out, element *list); static void print_groff_mm_element(GString *out, element *elt, int count); static void print_odf_code_string(GString *out, char *str); static void print_odf_string(GString *out, char *str); static void print_odf_element_list(GString *out, element *list); static void print_odf_element(GString *out, element *elt); static bool list_contains_key(element *list, int key); /********************************************************************** Utility functions for printing ***********************************************************************/ static int padded = 2; /* Number of newlines after last output. Starts at 2 so no newlines are needed at start. */ static GSList *endnotes = NULL; /* List of endnotes to print after main content. */ static int notenumber = 0; /* Number of footnote. */ /* pad - add newlines if needed */ static void pad(GString *out, int num) { while (num-- > padded) g_string_append_printf(out, "\n");; padded = num; } /* determine whether a certain element is contained within a given list */ static bool list_contains_key(element *list, int key) { element *step = NULL; step = list; while ( step != NULL ) { if (step->key == key) { return TRUE; } if (step->children != NULL) { if (list_contains_key(step->children, key)) { return TRUE; } } step = step->next; } return FALSE; } /********************************************************************** Functions for printing Elements as HTML ***********************************************************************/ /* print_html_string - print string, escaping for HTML * If obfuscate selected, convert characters to hex or decimal entities at random */ static void print_html_string(GString *out, char *str, bool obfuscate) { while (*str != '\0') { switch (*str) { case '&': g_string_append_printf(out, "&"); break; case '<': g_string_append_printf(out, "<"); break; case '>': g_string_append_printf(out, ">"); break; case '"': g_string_append_printf(out, """); break; default: if (obfuscate && ((int) *str < 128) && ((int) *str >= 0)){ if (rand() % 2 == 0) g_string_append_printf(out, "&#%d;", (int) *str); else g_string_append_printf(out, "&#x%x;", (unsigned int) *str); } else g_string_append_c(out, *str); } str++; } } /* print_html_element_list - print a list of elements as HTML */ static void print_html_element_list(GString *out, element *list, bool obfuscate) { while (list != NULL) { print_html_element(out, list, obfuscate); list = list->next; } } /* add_endnote - add an endnote to global endnotes list. */ static void add_endnote(element *elt) { endnotes = g_slist_prepend(endnotes, elt); } /* print_html_element - print an element as HTML */ static void print_html_element(GString *out, element *elt, bool obfuscate) { int lev; switch (elt->key) { case SPACE: g_string_append_printf(out, "%s", elt->contents.str); break; case LINEBREAK: g_string_append_printf(out, "
\n"); break; case STR: print_html_string(out, elt->contents.str, obfuscate); break; case ELLIPSIS: g_string_append_printf(out, "…"); break; case EMDASH: g_string_append_printf(out, "—"); break; case ENDASH: g_string_append_printf(out, "–"); break; case APOSTROPHE: g_string_append_printf(out, "’"); break; case SINGLEQUOTED: g_string_append_printf(out, "‘"); print_html_element_list(out, elt->children, obfuscate); g_string_append_printf(out, "’"); break; case DOUBLEQUOTED: g_string_append_printf(out, "“"); print_html_element_list(out, elt->children, obfuscate); g_string_append_printf(out, "”"); break; case CODE: g_string_append_printf(out, ""); print_html_string(out, elt->contents.str, obfuscate); g_string_append_printf(out, ""); break; case HTML: g_string_append_printf(out, "%s", elt->contents.str); break; case LINK: if (strstr(elt->contents.link->url, "mailto:") == elt->contents.link->url) obfuscate = true; /* obfuscate mailto: links */ g_string_append_printf(out, "contents.link->url, obfuscate); g_string_append_printf(out, "\""); if (strlen(elt->contents.link->title) > 0) { g_string_append_printf(out, " title=\""); print_html_string(out, elt->contents.link->title, obfuscate); g_string_append_printf(out, "\""); } g_string_append_printf(out, ">"); print_html_element_list(out, elt->contents.link->label, obfuscate); g_string_append_printf(out, ""); break; case IMAGE: g_string_append_printf(out, "contents.link->url, obfuscate); g_string_append_printf(out, "\" alt=\""); print_html_element_list(out, elt->contents.link->label, obfuscate); g_string_append_printf(out, "\""); if (strlen(elt->contents.link->title) > 0) { g_string_append_printf(out, " title=\""); print_html_string(out, elt->contents.link->title, obfuscate); g_string_append_printf(out, "\""); } g_string_append_printf(out, " />"); break; case EMPH: g_string_append_printf(out, ""); print_html_element_list(out, elt->children, obfuscate); g_string_append_printf(out, ""); break; case STRONG: g_string_append_printf(out, ""); print_html_element_list(out, elt->children, obfuscate); g_string_append_printf(out, ""); break; case LIST: print_html_element_list(out, elt->children, obfuscate); break; case RAW: /* Shouldn't occur - these are handled by process_raw_blocks() */ assert(elt->key != RAW); break; case H1: case H2: case H3: case H4: case H5: case H6: lev = elt->key - H1 + 1; /* assumes H1 ... H6 are in order */ pad(out, 2); g_string_append_printf(out, "", lev); print_html_element_list(out, elt->children, obfuscate); g_string_append_printf(out, "", lev); padded = 0; break; case PLAIN: pad(out, 1); print_html_element_list(out, elt->children, obfuscate); padded = 0; break; case PARA: pad(out, 2); g_string_append_printf(out, "

"); print_html_element_list(out, elt->children, obfuscate); g_string_append_printf(out, "

"); padded = 0; break; case HRULE: pad(out, 2); g_string_append_printf(out, "
"); padded = 0; break; case HTMLBLOCK: pad(out, 2); g_string_append_printf(out, "%s", elt->contents.str); padded = 0; break; case VERBATIM: pad(out, 2); g_string_append_printf(out, "%s", "
");
        print_html_string(out, elt->contents.str, obfuscate);
        g_string_append_printf(out, "%s", "
"); padded = 0; break; case BULLETLIST: pad(out, 2); g_string_append_printf(out, "%s", "
    "); padded = 0; print_html_element_list(out, elt->children, obfuscate); pad(out, 1); g_string_append_printf(out, "%s", "
"); padded = 0; break; case ORDEREDLIST: pad(out, 2); g_string_append_printf(out, "%s", "
    "); padded = 0; print_html_element_list(out, elt->children, obfuscate); pad(out, 1); g_string_append_printf(out, "
"); padded = 0; break; case LISTITEM: pad(out, 1); g_string_append_printf(out, "
  • "); padded = 2; print_html_element_list(out, elt->children, obfuscate); g_string_append_printf(out, "
  • "); padded = 0; break; case BLOCKQUOTE: pad(out, 2); g_string_append_printf(out, "
    \n"); padded = 2; print_html_element_list(out, elt->children, obfuscate); pad(out, 1); g_string_append_printf(out, "
    "); padded = 0; break; case REFERENCE: /* Nonprinting */ break; case NOTE: /* if contents.str == 0, then print note; else ignore, since this * is a note block that has been incorporated into the notes list */ if (elt->contents.str == 0) { add_endnote(elt); ++notenumber; g_string_append_printf(out, "[%d]", notenumber, notenumber, notenumber, notenumber); } break; default: fprintf(stderr, "print_html_element encountered unknown element key = %d\n", elt->key); exit(EXIT_FAILURE); } } static void print_html_endnotes(GString *out) { int counter = 0; GSList *note; element *note_elt; if (endnotes == NULL) return; note = g_slist_reverse(endnotes); g_string_append_printf(out, "
    \n
      "); while (note != NULL) { note_elt = note->data; counter++; pad(out, 1); g_string_append_printf(out, "
    1. \n", counter); padded = 2; print_html_element_list(out, note_elt->children, false); g_string_append_printf(out, " [back]", counter); pad(out, 1); g_string_append_printf(out, "
    2. "); note = note->next; } pad(out, 1); g_string_append_printf(out, "
    "); g_slist_free(endnotes); } /********************************************************************** Functions for printing Elements as LaTeX ***********************************************************************/ /* print_latex_string - print string, escaping for LaTeX */ static void print_latex_string(GString *out, char *str) { while (*str != '\0') { switch (*str) { case '{': case '}': case '$': case '%': case '&': case '_': case '#': g_string_append_printf(out, "\\%c", *str); break; case '^': g_string_append_printf(out, "\\^{}"); break; case '\\': g_string_append_printf(out, "\\textbackslash{}"); break; case '~': g_string_append_printf(out, "\\ensuremath{\\sim}"); break; case '|': g_string_append_printf(out, "\\textbar{}"); break; case '<': g_string_append_printf(out, "\\textless{}"); break; case '>': g_string_append_printf(out, "\\textgreater{}"); break; default: g_string_append_c(out, *str); } str++; } } /* print_latex_element_list - print a list of elements as LaTeX */ static void print_latex_element_list(GString *out, element *list) { while (list != NULL) { print_latex_element(out, list); list = list->next; } } /* print_latex_element - print an element as LaTeX */ static void print_latex_element(GString *out, element *elt) { int lev; int i; switch (elt->key) { case SPACE: g_string_append_printf(out, "%s", elt->contents.str); break; case LINEBREAK: g_string_append_printf(out, "\\\\\n"); break; case STR: print_latex_string(out, elt->contents.str); break; case ELLIPSIS: g_string_append_printf(out, "\\ldots{}"); break; case EMDASH: g_string_append_printf(out, "---"); break; case ENDASH: g_string_append_printf(out, "--"); break; case APOSTROPHE: g_string_append_printf(out, "'"); break; case SINGLEQUOTED: g_string_append_printf(out, "`"); print_latex_element_list(out, elt->children); g_string_append_printf(out, "'"); break; case DOUBLEQUOTED: g_string_append_printf(out, "``"); print_latex_element_list(out, elt->children); g_string_append_printf(out, "''"); break; case CODE: g_string_append_printf(out, "\\texttt{"); print_latex_string(out, elt->contents.str); g_string_append_printf(out, "}"); break; case HTML: /* don't print HTML */ break; case LINK: g_string_append_printf(out, "\\href{%s}{", elt->contents.link->url); print_latex_element_list(out, elt->contents.link->label); g_string_append_printf(out, "}"); break; case IMAGE: g_string_append_printf(out, "\\includegraphics{%s}", elt->contents.link->url); break; case EMPH: g_string_append_printf(out, "\\emph{"); print_latex_element_list(out, elt->children); g_string_append_printf(out, "}"); break; case STRONG: g_string_append_printf(out, "\\textbf{"); print_latex_element_list(out, elt->children); g_string_append_printf(out, "}"); break; case LIST: print_latex_element_list(out, elt->children); break; case RAW: /* Shouldn't occur - these are handled by process_raw_blocks() */ assert(elt->key != RAW); break; case H1: case H2: case H3: pad(out, 2); lev = elt->key - H1 + 1; /* assumes H1 ... H6 are in order */ g_string_append_printf(out, "\\"); for (i = elt->key; i > H1; i--) g_string_append_printf(out, "sub"); g_string_append_printf(out, "section{"); print_latex_element_list(out, elt->children); g_string_append_printf(out, "}"); padded = 0; break; case H4: case H5: case H6: pad(out, 2); g_string_append_printf(out, "\\noindent\\textbf{"); print_latex_element_list(out, elt->children); g_string_append_printf(out, "}"); padded = 0; break; case PLAIN: pad(out, 1); print_latex_element_list(out, elt->children); padded = 0; break; case PARA: pad(out, 2); print_latex_element_list(out, elt->children); padded = 0; break; case HRULE: pad(out, 2); g_string_append_printf(out, "\\begin{center}\\rule{3in}{0.4pt}\\end{center}\n"); padded = 0; break; case HTMLBLOCK: /* don't print HTML block */ break; case VERBATIM: pad(out, 1); g_string_append_printf(out, "\\begin{verbatim}\n"); print_latex_string(out, elt->contents.str); g_string_append_printf(out, "\n\\end{verbatim}"); padded = 0; break; case BULLETLIST: pad(out, 1); g_string_append_printf(out, "\\begin{itemize}"); padded = 0; print_latex_element_list(out, elt->children); pad(out, 1); g_string_append_printf(out, "\\end{itemize}"); padded = 0; break; case ORDEREDLIST: pad(out, 1); g_string_append_printf(out, "\\begin{enumerate}"); padded = 0; print_latex_element_list(out, elt->children); pad(out, 1); g_string_append_printf(out, "\\end{enumerate}"); padded = 0; break; case LISTITEM: pad(out, 1); g_string_append_printf(out, "\\item "); padded = 2; print_latex_element_list(out, elt->children); g_string_append_printf(out, "\n"); break; case BLOCKQUOTE: pad(out, 1); g_string_append_printf(out, "\\begin{quote}"); padded = 0; print_latex_element_list(out, elt->children); pad(out, 1); g_string_append_printf(out, "\\end{quote}"); padded = 0; break; case NOTE: /* if contents.str == 0, then print note; else ignore, since this * is a note block that has been incorporated into the notes list */ if (elt->contents.str == 0) { g_string_append_printf(out, "\\footnote{"); padded = 2; print_latex_element_list(out, elt->children); g_string_append_printf(out, "}"); padded = 0; } break; case REFERENCE: /* Nonprinting */ break; default: fprintf(stderr, "print_latex_element encountered unknown element key = %d\n", elt->key); exit(EXIT_FAILURE); } } /********************************************************************** Functions for printing Elements as groff (mm macros) ***********************************************************************/ static bool in_list_item = false; /* True if we're parsing contents of a list item. */ /* print_groff_string - print string, escaping for groff */ static void print_groff_string(GString *out, char *str) { while (*str != '\0') { switch (*str) { case '\\': g_string_append_printf(out, "\\e"); break; default: g_string_append_c(out, *str); } str++; } } /* print_groff_mm_element_list - print a list of elements as groff ms */ static void print_groff_mm_element_list(GString *out, element *list) { int count = 1; while (list != NULL) { print_groff_mm_element(out, list, count); list = list->next; count++; } } /* print_groff_mm_element - print an element as groff ms */ static void print_groff_mm_element(GString *out, element *elt, int count) { int lev; switch (elt->key) { case SPACE: g_string_append_printf(out, "%s", elt->contents.str); padded = 0; break; case LINEBREAK: pad(out, 1); g_string_append_printf(out, ".br\n"); padded = 0; break; case STR: print_groff_string(out, elt->contents.str); padded = 0; break; case ELLIPSIS: g_string_append_printf(out, "..."); break; case EMDASH: g_string_append_printf(out, "\\[em]"); break; case ENDASH: g_string_append_printf(out, "\\[en]"); break; case APOSTROPHE: g_string_append_printf(out, "'"); break; case SINGLEQUOTED: g_string_append_printf(out, "`"); print_groff_mm_element_list(out, elt->children); g_string_append_printf(out, "'"); break; case DOUBLEQUOTED: g_string_append_printf(out, "\\[lq]"); print_groff_mm_element_list(out, elt->children); g_string_append_printf(out, "\\[rq]"); break; case CODE: g_string_append_printf(out, "\\fC"); print_groff_string(out, elt->contents.str); g_string_append_printf(out, "\\fR"); padded = 0; break; case HTML: /* don't print HTML */ break; case LINK: print_groff_mm_element_list(out, elt->contents.link->label); g_string_append_printf(out, " (%s)", elt->contents.link->url); padded = 0; break; case IMAGE: g_string_append_printf(out, "[IMAGE: "); print_groff_mm_element_list(out, elt->contents.link->label); g_string_append_printf(out, "]"); padded = 0; /* not supported */ break; case EMPH: g_string_append_printf(out, "\\fI"); print_groff_mm_element_list(out, elt->children); g_string_append_printf(out, "\\fR"); padded = 0; break; case STRONG: g_string_append_printf(out, "\\fB"); print_groff_mm_element_list(out, elt->children); g_string_append_printf(out, "\\fR"); padded = 0; break; case LIST: print_groff_mm_element_list(out, elt->children); padded = 0; break; case RAW: /* Shouldn't occur - these are handled by process_raw_blocks() */ assert(elt->key != RAW); break; case H1: case H2: case H3: case H4: case H5: case H6: lev = elt->key - H1 + 1; pad(out, 1); g_string_append_printf(out, ".H %d \"", lev); print_groff_mm_element_list(out, elt->children); g_string_append_printf(out, "\""); padded = 0; break; case PLAIN: pad(out, 1); print_groff_mm_element_list(out, elt->children); padded = 0; break; case PARA: pad(out, 1); if (!in_list_item || count != 1) g_string_append_printf(out, ".P\n"); print_groff_mm_element_list(out, elt->children); padded = 0; break; case HRULE: pad(out, 1); g_string_append_printf(out, "\\l'\\n(.lu*8u/10u'"); padded = 0; break; case HTMLBLOCK: /* don't print HTML block */ break; case VERBATIM: pad(out, 1); g_string_append_printf(out, ".VERBON 2\n"); print_groff_string(out, elt->contents.str); g_string_append_printf(out, ".VERBOFF"); padded = 0; break; case BULLETLIST: pad(out, 1); g_string_append_printf(out, ".BL"); padded = 0; print_groff_mm_element_list(out, elt->children); pad(out, 1); g_string_append_printf(out, ".LE 1"); padded = 0; break; case ORDEREDLIST: pad(out, 1); g_string_append_printf(out, ".AL"); padded = 0; print_groff_mm_element_list(out, elt->children); pad(out, 1); g_string_append_printf(out, ".LE 1"); padded = 0; break; case LISTITEM: pad(out, 1); g_string_append_printf(out, ".LI\n"); in_list_item = true; padded = 2; print_groff_mm_element_list(out, elt->children); in_list_item = false; break; case BLOCKQUOTE: pad(out, 1); g_string_append_printf(out, ".DS I\n"); padded = 2; print_groff_mm_element_list(out, elt->children); pad(out, 1); g_string_append_printf(out, ".DE"); padded = 0; break; case NOTE: /* if contents.str == 0, then print note; else ignore, since this * is a note block that has been incorporated into the notes list */ if (elt->contents.str == 0) { g_string_append_printf(out, "\\*F\n"); g_string_append_printf(out, ".FS\n"); padded = 2; print_groff_mm_element_list(out, elt->children); pad(out, 1); g_string_append_printf(out, ".FE\n"); padded = 1; } break; case REFERENCE: /* Nonprinting */ break; default: fprintf(stderr, "print_groff_mm_element encountered unknown element key = %d\n", elt->key); exit(EXIT_FAILURE); } } /********************************************************************** Functions for printing Elements as ODF ***********************************************************************/ /* print_odf_code_string - print string, escaping for HTML and saving newlines */ static void print_odf_code_string(GString *out, char *str) { char *tmp; while (*str != '\0') { switch (*str) { case '&': g_string_append_printf(out, "&"); break; case '<': g_string_append_printf(out, "<"); break; case '>': g_string_append_printf(out, ">"); break; case '"': g_string_append_printf(out, """); break; case '\n': g_string_append_printf(out, ""); break; case ' ': tmp = str; tmp++; if (*tmp == ' ') { tmp++; if (*tmp == ' ') { tmp++; if (*tmp == ' ') { g_string_append_printf(out, ""); str = tmp; } else { g_string_append_printf(out, " "); } } else { g_string_append_printf(out, " "); } } else { g_string_append_printf(out, " "); } break; default: g_string_append_c(out, *str); } str++; } } /* print_odf_string - print string, escaping for HTML and saving newlines */ static void print_odf_string(GString *out, char *str) { char *tmp; while (*str != '\0') { switch (*str) { case '&': g_string_append_printf(out, "&"); break; case '<': g_string_append_printf(out, "<"); break; case '>': g_string_append_printf(out, ">"); break; case '"': g_string_append_printf(out, """); break; case '\n': tmp = str; tmp--; if (*tmp == ' ') { tmp--; if (*tmp == ' ') { g_string_append_printf(out, ""); } else { g_string_append_printf(out, "\n"); } } else { g_string_append_printf(out, "\n"); } break; case ' ': tmp = str; tmp++; if (*tmp == ' ') { tmp++; if (*tmp == ' ') { tmp++; if (*tmp == ' ') { g_string_append_printf(out, ""); str = tmp; } else { g_string_append_printf(out, " "); } } else { g_string_append_printf(out, " "); } } else { g_string_append_printf(out, " "); } break; default: g_string_append_c(out, *str); } str++; } } /* print_odf_element_list - print an element list as ODF */ static void print_odf_element_list(GString *out, element *list) { while (list != NULL) { print_odf_element(out, list); list = list->next; } } /* print_odf_element - print an element as ODF */ static void print_odf_element(GString *out, element *elt) { int lev; int old_type = 0; switch (elt->key) { case SPACE: g_string_append_printf(out, "%s", elt->contents.str); break; case LINEBREAK: g_string_append_printf(out, ""); break; case STR: print_html_string(out, elt->contents.str, 0); break; case ELLIPSIS: g_string_append_printf(out, "…"); break; case EMDASH: g_string_append_printf(out, "—"); break; case ENDASH: g_string_append_printf(out, "–"); break; case APOSTROPHE: g_string_append_printf(out, "’"); break; case SINGLEQUOTED: g_string_append_printf(out, "‘"); print_odf_element_list(out, elt->children); g_string_append_printf(out, "’"); break; case DOUBLEQUOTED: g_string_append_printf(out, "“"); print_odf_element_list(out, elt->children); g_string_append_printf(out, "”"); break; case CODE: g_string_append_printf(out, ""); print_html_string(out, elt->contents.str, 0); g_string_append_printf(out, ""); break; case HTML: break; case LINK: g_string_append_printf(out, "contents.link->url, 0); g_string_append_printf(out, "\""); if (strlen(elt->contents.link->title) > 0) { g_string_append_printf(out, " office:name=\""); print_html_string(out, elt->contents.link->title, 0); g_string_append_printf(out, "\""); } g_string_append_printf(out, ">"); print_odf_element_list(out, elt->contents.link->label); g_string_append_printf(out, ""); break; case IMAGE: g_string_append_printf(out, "\ncontents.link->url); g_string_append_printf(out,"\" xlink:type=\"simple\" xlink:show=\"embed\" xlink:actuate=\"onLoad\" draw:filter-name=\"<All formats>\"/>\n"); g_string_append_printf(out, "\n"); break; case EMPH: g_string_append_printf(out, ""); print_odf_element_list(out, elt->children); g_string_append_printf(out, ""); break; case STRONG: g_string_append_printf(out, ""); print_odf_element_list(out, elt->children); g_string_append_printf(out, ""); break; case LIST: print_odf_element_list(out, elt->children); break; case RAW: /* Shouldn't occur - these are handled by process_raw_blocks() */ assert(elt->key != RAW); break; case H1: case H2: case H3: case H4: case H5: case H6: lev = elt->key - H1 + 1; /* assumes H1 ... H6 are in order */ g_string_append_printf(out, "", lev); print_odf_element_list(out, elt->children); g_string_append_printf(out, "\n"); padded = 0; break; case PLAIN: print_odf_element_list(out, elt->children); padded = 0; break; case PARA: g_string_append_printf(out, ""); print_odf_element_list(out, elt->children); g_string_append_printf(out, "\n"); break; case HRULE: g_string_append_printf(out,"\n"); break; case HTMLBLOCK: /* don't print HTML block */ /* but do print HTML comments for raw ODF */ if (strncmp(elt->contents.str,"" from end */ elt->contents.str[strlen(elt->contents.str)-3] = '\0'; g_string_append_printf(out, "%s", &elt->contents.str[4]); } break; case VERBATIM: old_type = odf_type; odf_type = VERBATIM; g_string_append_printf(out, ""); print_odf_code_string(out, elt->contents.str); g_string_append_printf(out, "\n"); odf_type = old_type; break; case BULLETLIST: if ((odf_type == BULLETLIST) || (odf_type == ORDEREDLIST)) { /* I think this was made unnecessary by another change. Same for ORDEREDLIST below */ /* g_string_append_printf(out, ""); */ } old_type = odf_type; odf_type = BULLETLIST; g_string_append_printf(out, "%s", ""); print_odf_element_list(out, elt->children); g_string_append_printf(out, "%s", ""); odf_type = old_type; break; case ORDEREDLIST: if ((odf_type == BULLETLIST) || (odf_type == ORDEREDLIST)) { /* g_string_append_printf(out, ""); */ } old_type = odf_type; odf_type = ORDEREDLIST; g_string_append_printf(out, "%s", "\n"); print_odf_element_list(out, elt->children); g_string_append_printf(out, "%s", "\n"); odf_type = old_type; break; case LISTITEM: g_string_append_printf(out, "\n"); if (elt->children->children->key != PARA) { g_string_append_printf(out, ""); } print_odf_element_list(out, elt->children); if ((list_contains_key(elt->children,BULLETLIST) || (list_contains_key(elt->children,ORDEREDLIST)))) { } else { if (elt->children->children->key != PARA) { g_string_append_printf(out, ""); } } g_string_append_printf(out, "\n"); break; case BLOCKQUOTE: old_type = odf_type; odf_type = BLOCKQUOTE; print_odf_element_list(out, elt->children); odf_type = old_type; break; case REFERENCE: break; case NOTE: old_type = odf_type; odf_type = NOTE; /* if contents.str == 0 then print; else ignore - like above */ if (elt->contents.str == 0) { g_string_append_printf(out, "\n"); print_odf_element_list(out, elt->children); g_string_append_printf(out, "\n\n"); } elt->children = NULL; odf_type = old_type; break; break; default: fprintf(stderr, "print_odf_element encountered unknown element key = %d\n", elt->key); exit(EXIT_FAILURE); } } /********************************************************************** Parameterized function for printing an Element. ***********************************************************************/ void print_element_list(GString *out, element *elt, int format, int exts) { /* Initialize globals */ endnotes = NULL; notenumber = 0; extensions = exts; padded = 2; /* set padding to 2, so no extra blank lines at beginning */ switch (format) { case HTML_FORMAT: print_html_element_list(out, elt, false); if (endnotes != NULL) { pad(out, 2); print_html_endnotes(out); } break; case LATEX_FORMAT: print_latex_element_list(out, elt); break; case GROFF_MM_FORMAT: print_groff_mm_element_list(out, elt); break; case ODF_FORMAT: print_odf_header(out); g_string_append_printf(out, "\n\n"); if (elt != NULL) print_odf_element_list(out,elt); print_odf_footer(out); break; default: fprintf(stderr, "print_element - unknown format = %d\n", format); exit(EXIT_FAILURE); } } geany-plugins-1.27/markdown/peg-markdown/parsing_functions.h0000644000175000017500000000112612671261352024641 0ustar00frlanfrlan00000000000000#ifndef PARSING_FUNCTIONS_H #define PARSING_FUNCTIONS_H /* parsing_functions.c - Functions for parsing markdown and * freeing element lists. */ #include "markdown_peg.h" /* free_element_list - free list of elements recursively */ void free_element_list(element * elt); /* free_element - free element and contents */ void free_element(element *elt); element * parse_references(char *string, int extensions); element * parse_notes(char *string, int extensions, element *reference_list); element * parse_markdown(char *string, int extensions, element *reference_list, element *note_list); #endif geany-plugins-1.27/markdown/peg-markdown/markdown_lib.c0000644000175000017500000001570212671261352023556 0ustar00frlanfrlan00000000000000/********************************************************************** markdown_lib.c - markdown in C using a PEG grammar. (c) 2008 John MacFarlane (jgm at berkeley dot edu). This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License or the MIT license. See LICENSE for details. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ***********************************************************************/ #include #include #include #include "markdown_peg.h" #define TABSTOP 4 /* preformat_text - allocate and copy text buffer while * performing tab expansion. */ static GString *preformat_text(char *text) { GString *buf; char next_char; int charstotab; int len = 0; buf = g_string_new(""); charstotab = TABSTOP; while ((next_char = *text++) != '\0') { switch (next_char) { case '\t': while (charstotab > 0) g_string_append_c(buf, ' '), len++, charstotab--; break; case '\n': g_string_append_c(buf, '\n'), len++, charstotab = TABSTOP; break; default: g_string_append_c(buf, next_char), len++, charstotab--; } if (charstotab == 0) charstotab = TABSTOP; } g_string_append(buf, "\n\n"); return(buf); } /* print_tree - print tree of elements, for debugging only. */ static void print_tree(element * elt, int indent) { int i; char * key; while (elt != NULL) { for (i = 0; i < indent; i++) fputc(' ', stderr); switch (elt->key) { case LIST: key = "LIST"; break; case RAW: key = "RAW"; break; case SPACE: key = "SPACE"; break; case LINEBREAK: key = "LINEBREAK"; break; case ELLIPSIS: key = "ELLIPSIS"; break; case EMDASH: key = "EMDASH"; break; case ENDASH: key = "ENDASH"; break; case APOSTROPHE: key = "APOSTROPHE"; break; case SINGLEQUOTED: key = "SINGLEQUOTED"; break; case DOUBLEQUOTED: key = "DOUBLEQUOTED"; break; case STR: key = "STR"; break; case LINK: key = "LINK"; break; case IMAGE: key = "IMAGE"; break; case CODE: key = "CODE"; break; case HTML: key = "HTML"; break; case EMPH: key = "EMPH"; break; case STRONG: key = "STRONG"; break; case PLAIN: key = "PLAIN"; break; case PARA: key = "PARA"; break; case LISTITEM: key = "LISTITEM"; break; case BULLETLIST: key = "BULLETLIST"; break; case ORDEREDLIST: key = "ORDEREDLIST"; break; case H1: key = "H1"; break; case H2: key = "H2"; break; case H3: key = "H3"; break; case H4: key = "H4"; break; case H5: key = "H5"; break; case H6: key = "H6"; break; case BLOCKQUOTE: key = "BLOCKQUOTE"; break; case VERBATIM: key = "VERBATIM"; break; case HTMLBLOCK: key = "HTMLBLOCK"; break; case HRULE: key = "HRULE"; break; case REFERENCE: key = "REFERENCE"; break; case NOTE: key = "NOTE"; break; default: key = "?"; } if ( elt->key == STR ) { fprintf(stderr, "0x%p: %s '%s'\n", (void *)elt, key, elt->contents.str); } else { fprintf(stderr, "0x%p: %s\n", (void *)elt, key); } if (elt->children) print_tree(elt->children, indent + 4); elt = elt->next; } } /* process_raw_blocks - traverses an element list, replacing any RAW elements with * the result of parsing them as markdown text, and recursing into the children * of parent elements. The result should be a tree of elements without any RAWs. */ static element * process_raw_blocks(element *input, int extensions, element *references, element *notes) { element *current = NULL; element *last_child = NULL; char *contents; current = input; while (current != NULL) { if (current->key == RAW) { /* \001 is used to indicate boundaries between nested lists when there * is no blank line. We split the string by \001 and parse * each chunk separately. */ contents = strtok(current->contents.str, "\001"); current->key = LIST; current->children = parse_markdown(contents, extensions, references, notes); last_child = current->children; while ((contents = strtok(NULL, "\001"))) { while (last_child->next != NULL) last_child = last_child->next; last_child->next = parse_markdown(contents, extensions, references, notes); } free(current->contents.str); current->contents.str = NULL; } if (current->children != NULL) current->children = process_raw_blocks(current->children, extensions, references, notes); current = current->next; } return input; } /* markdown_to_gstring - convert markdown text to the output format specified. * Returns a GString, which must be freed after use using g_string_free(). */ GString * markdown_to_g_string(char *text, int extensions, int output_format) { element *result; element *references; element *notes; GString *formatted_text; GString *out; out = g_string_new(""); formatted_text = preformat_text(text); references = parse_references(formatted_text->str, extensions); notes = parse_notes(formatted_text->str, extensions, references); result = parse_markdown(formatted_text->str, extensions, references, notes); result = process_raw_blocks(result, extensions, references, notes); g_string_free(formatted_text, TRUE); print_element_list(out, result, output_format, extensions); free_element_list(result); free_element_list(references); return out; } /* markdown_to_string - convert markdown text to the output format specified. * Returns a null-terminated string, which must be freed after use. */ char * markdown_to_string(char *text, int extensions, int output_format) { GString *out; char *char_out; out = markdown_to_g_string(text, extensions, output_format); char_out = out->str; g_string_free(out, FALSE); return char_out; } /* vim:set ts=4 sw=4: */ geany-plugins-1.27/markdown/peg-markdown/README0000644000175000017500000001714512671261352021625 0ustar00frlanfrlan00000000000000What is this? ============= This is an implementation of John Gruber's [markdown][] in C. It uses a [parsing expression grammar (PEG)][] to define the syntax. This should allow easy modification and extension. It currently supports output in HTML, LaTeX, ODF, or groff_mm formats, and adding new formats is relatively easy. [parsing expression grammar (PEG)]: http://en.wikipedia.org/wiki/Parsing_expression_grammar [markdown]: http://daringfireball.net/projects/markdown/ It is pretty fast. A 179K text file that takes 5.7 seconds for Markdown.pl (v. 1.0.1) to parse takes less than 0.2 seconds for this markdown. It does, however, use a lot of memory (up to 4M of heap space while parsing the 179K file, and up to 80K for a 4K file). (Note that the memory leaks in earlier versions of this program have now been plugged.) Both a library and a standalone program are provided. peg-markdown is written and maintained by John MacFarlane (jgm on github), with significant contributions by Ryan Tomayko (rtomayko). It is released under both the GPL and the MIT license; see LICENSE for details. Installing ========== On a linux or unix-based system ------------------------------- This program is written in portable ANSI C. It requires [glib2](http://www.gtk.org/download/index.php). Most *nix systems will have this installed already. The build system requires GNU make. The other required dependency, [Ian Piumarta's peg/leg PEG parser generator](http://piumarta.com/software/peg/), is included in the source directory. It will be built automatically. (However, it is not as portable as peg-markdown itself, and seems to require gcc.) To make the 'markdown' executable: make (Or, on some systems, `gmake`.) Then, for usage instructions: ./markdown --help To run John Gruber's Markdown 1.0.3 test suite: make test The test suite will fail on one of the list tests. Here's why. Markdown.pl encloses "item one" in the following list in `

    ` tags: 1. item one * subitem * subitem 2. item two 3. item three peg-markdown does not enclose "item one" in `

    ` tags unless it has a following blank line. This is consistent with the official markdown syntax description, and lets the author of the document choose whether `

    ` tags are desired. Cross-compiling for Windows with MinGW on a linux box ----------------------------------------------------- Prerequisites: * Linux system with MinGW cross compiler For Ubuntu: sudo apt-get install mingw32 * [Windows glib-2.0 binary & development files](http://www.gtk.org/download-windows.html). Unzip files into cross-compiler directory tree (e.g., `/usr/i586-mingw32msvc`). Steps: 1. Create the markdown parser using Linux-compiled `leg` from peg-0.1.4: ./peg-0.1.4/leg markdown_parser.leg >markdown_parser.c (Note: The same thing could be accomplished by cross-compiling leg, executing it on Windows, and copying the resulting C file to the Linux cross-compiler host.) 2. Run the cross compiler with include flag for the Windows glib-2.0 headers: for example, /usr/bin/i586-mingw32msvc-cc -c \ -I/usr/i586-mingw32msvc/include/glib-2.0 \ -I/usr/i586-mingw32msvc/lib/glib-2.0/include -Wall -O3 -ansi markdown*.c 3. Link against Windows glib-2.0 headers: for example, /usr/bin/i586-mingw32msvc-cc markdown*.o \ -Wl,-L/usr/i586-mingw32msvc/lib/glib,--dy,--warn-unresolved-symbols,-lglib-2.0 \ -o markdown.exe The resulting executable depends on the glib dll file, so be sure to load the glib binary on the Windows host. Compiling with MinGW on Windows ------------------------------- These directions assume that MinGW is installed in `c:\MinGW` and glib-2.0 is installed in the MinGW directory hierarchy (with the mingw bin directory in the system path). Unzip peg-markdown in a temp directory. From the directory with the peg-markdown source, execute: cd peg-0.1.4 make PKG_CONFIG=c:/path/to/glib/bin/pkg-config.exe Extensions ========== peg-markdown supports extensions to standard markdown syntax. These can be turned on using the command line flag `-x` or `--extensions`. `-x` by itself turns on all extensions. Extensions can also be turned on selectively, using individual command-line options. To see the available extensions: ./markdown --help-extensions The `--smart` extension provides "smart quotes", dashes, and ellipses. The `--notes` extension provides a footnote syntax like that of Pandoc or PHP Markdown Extra. Using the library ================= The library exports two functions: GString * markdown_to_g_string(char *text, int extensions, int output_format); char * markdown_to_string(char *text, int extensions, int output_format); The only difference between these is that `markdown_to_g_string` returns a `GString` (glib's automatically resizable string), while `markdown_to_string` returns a regular character pointer. The memory allocated for these must be freed by the calling program, using `g_string_free()` or `free()`. `text` is the markdown-formatted text to be converted. Note that tabs will be converted to spaces, using a four-space tab stop. Character encodings are ignored. `extensions` is a bit-field specifying which syntax extensions should be used. If `extensions` is 0, no extensions will be used. If it is `0xFFFFFF`, all extensions will be used. To set extensions selectively, use the bitwise `&` operator and the following constants: - `EXT_SMART` turns on smart quotes, dashes, and ellipses. - `EXT_NOTES` turns on footnote syntax. [Pandoc's footnote syntax][] is used here. - `EXT_FILTER_HTML` filters out raw HTML (except for styles). - `EXT_FILTER_STYLES` filters out styles in HTML. [Pandoc's footnote syntax]: http://johnmacfarlane.net/pandoc/README.html#footnotes `output_format` is either `HTML_FORMAT`, `LATEX_FORMAT`, `ODF_FORMAT`, or `GROFF_MM_FORMAT`. To use the library, include `markdown_lib.h`. See `markdown.c` for an example. Hacking ======= It should be pretty easy to modify the program to produce other formats, and to parse syntax extensions. A quick guide: * `markdown_parser.leg` contains the grammar itself. * `markdown_output.c` contains functions for printing the `Element` structure in various output formats. * To add an output format, add the format to `markdown_formats` in `markdown_lib.h`. Then modify `print_element` in `markdown_output.c`, and add functions `print_XXXX_string`, `print_XXXX_element`, and `print_XXXX_element_list`. Also add an option in the main program that selects the new format. Don't forget to add it to the list of formats in the usage message. * To add syntax extensions, define them in the PEG grammar (`markdown_parser.leg`), using existing extensions as a guide. New inline elements will need to be added to `Inline =`; new block elements will need to be added to `Block =`. (Note: the order of the alternatives does matter in PEG grammars.) * If you need to add new types of elements, modify the `keys` enum in `markdown_peg.h`. * By using `&{ }` rules one can selectively disable extensions depending on command-line options. For example, `&{ extension(EXT_SMART) }` succeeds only if the `EXT_SMART` bit of the global `syntax_extensions` is set. Add your option to `markdown_extensions` in `markdown_lib.h`, and add an option in `markdown.c` to turn on your extension. * Note: Avoid using `[^abc]` character classes in the grammar, because they cause problems with non-ascii input. Instead, use: `( !'a' !'b' !'c' . )` Acknowledgements ================ Support for ODF output was added by Fletcher T. Penney. geany-plugins-1.27/markdown/peg-markdown/peg-0.1.9/0000755000175000017500000000000012671261443022154 5ustar00frlanfrlan00000000000000geany-plugins-1.27/markdown/peg-markdown/peg-0.1.9/tree.h0000644000175000017500000000757412671261352023300 0ustar00frlanfrlan00000000000000/* Copyright (c) 2007 by Ian Piumarta * All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the 'Software'), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, provided that the above copyright notice(s) and this * permission notice appear in all copies of the Software. Acknowledgement * of the use of this Software in supporting documentation would be * appreciated but is not required. * * THE SOFTWARE IS PROVIDED 'AS IS'. USE ENTIRELY AT YOUR OWN RISK. * * Last edited: 2007-05-15 10:32:05 by piumarta on emilia */ #include enum { Unknown= 0, Rule, Variable, Name, Dot, Character, String, Class, Action, Predicate, Alternate, Sequence, PeekFor, PeekNot, Query, Star, Plus }; enum { RuleUsed = 1<<0, RuleReached = 1<<1, }; typedef union Node Node; struct Rule { int type; Node *next; char *name; Node *variables; Node *expression; int id; int flags; }; struct Variable { int type; Node *next; char *name; Node *value; int offset; }; struct Name { int type; Node *next; Node *rule; Node *variable; }; struct Dot { int type; Node *next; }; struct Character { int type; Node *next; char *value; }; struct String { int type; Node *next; char *value; }; struct Class { int type; Node *next; unsigned char *value; }; struct Action { int type; Node *next; char *text; Node *list; char *name; Node *rule; }; struct Predicate { int type; Node *next; char *text; }; struct Alternate { int type; Node *next; Node *first; Node *last; }; struct Sequence { int type; Node *next; Node *first; Node *last; }; struct PeekFor { int type; Node *next; Node *element; }; struct PeekNot { int type; Node *next; Node *element; }; struct Query { int type; Node *next; Node *element; }; struct Star { int type; Node *next; Node *element; }; struct Plus { int type; Node *next; Node *element; }; struct Any { int type; Node *next; }; union Node { int type; struct Rule rule; struct Variable variable; struct Name name; struct Dot dot; struct Character character; struct String string; struct Class cclass; struct Action action; struct Predicate predicate; struct Alternate alternate; struct Sequence sequence; struct PeekFor peekFor; struct PeekNot peekNot; struct Query query; struct Star star; struct Plus plus; struct Any any; }; extern Node *actions; extern Node *rules; extern Node *start; extern int ruleCount; extern FILE *output; extern Node *makeRule(char *name); extern Node *findRule(char *name); extern Node *beginRule(Node *rule); extern void Rule_setExpression(Node *rule, Node *expression); extern Node *Rule_beToken(Node *rule); extern Node *makeVariable(char *name); extern Node *makeName(Node *rule); extern Node *makeDot(void); extern Node *makeCharacter(char *text); extern Node *makeString(char *text); extern Node *makeClass(char *text); extern Node *makeAction(char *text); extern Node *makePredicate(char *text); extern Node *makeAlternate(Node *e); extern Node *Alternate_append(Node *e, Node *f); extern Node *makeSequence(Node *e); extern Node *Sequence_append(Node *e, Node *f); extern Node *makePeekFor(Node *e); extern Node *makePeekNot(Node *e); extern Node *makeQuery(Node *e); extern Node *makeStar(Node *e); extern Node *makePlus(Node *e); extern Node *push(Node *node); extern Node *top(void); extern Node *pop(void); extern void Rule_compile_c_header(void); extern void Rule_compile_c(Node *node); extern void Node_print(Node *node); extern void Rule_print(Node *node); geany-plugins-1.27/markdown/peg-markdown/peg-0.1.9/leg.c0000644000175000017500000012750612671261352023101 0ustar00frlanfrlan00000000000000/* A recursive-descent parser generated by peg 0.1.9 */ #include #include #include #define YYRULECOUNT 36 # include "tree.h" # include "version.h" # include # include # include # include # include # include typedef struct Header Header; struct Header { char *text; Header *next; }; FILE *input= 0; int verboseFlag= 0; static int lineNumber= 0; static char *fileName= 0; static char *trailer= 0; static Header *headers= 0; void makeHeader(char *text); void makeTrailer(char *text); void yyerror(char *message); # define YY_INPUT(buf, result, max) \ { \ int c= getc(input); \ if ('\n' == c || '\r' == c) ++lineNumber; \ result= (EOF == c) ? 0 : (*(buf)= c, 1); \ } # define YY_LOCAL(T) static T # define YY_RULE(T) static T #ifndef YY_LOCAL #define YY_LOCAL(T) static T #endif #ifndef YY_ACTION #define YY_ACTION(T) static T #endif #ifndef YY_RULE #define YY_RULE(T) static T #endif #ifndef YY_PARSE #define YY_PARSE(T) T #endif #ifndef YYPARSE #define YYPARSE yyparse #endif #ifndef YYPARSEFROM #define YYPARSEFROM yyparsefrom #endif #ifndef YY_INPUT #define YY_INPUT(buf, result, max_size) \ { \ int yyc= getchar(); \ result= (EOF == yyc) ? 0 : (*(buf)= yyc, 1); \ yyprintf((stderr, "<%c>", yyc)); \ } #endif #ifndef YY_BEGIN #define YY_BEGIN ( ctx->begin= ctx->pos, 1) #endif #ifndef YY_END #define YY_END ( ctx->end= ctx->pos, 1) #endif #ifdef YY_DEBUG # define yyprintf(args) fprintf args #else # define yyprintf(args) #endif #ifndef YYSTYPE #define YYSTYPE int #endif #ifndef YY_PART typedef struct _yycontext yycontext; typedef void (*yyaction)(yycontext *ctx, char *yytext, int yyleng); typedef struct _yythunk { int begin, end; yyaction action; struct _yythunk *next; } yythunk; struct _yycontext { char *buf; int buflen; int pos; int limit; char *text; int textlen; int begin; int end; int textmax; yythunk *thunks; int thunkslen; int thunkpos; YYSTYPE yy; YYSTYPE *val; YYSTYPE *vals; int valslen; #ifdef YY_CTX_MEMBERS YY_CTX_MEMBERS #endif }; #ifdef YY_CTX_LOCAL #define YY_CTX_PARAM_ yycontext *yyctx, #define YY_CTX_PARAM yycontext *yyctx #define YY_CTX_ARG_ yyctx, #define YY_CTX_ARG yyctx #else #define YY_CTX_PARAM_ #define YY_CTX_PARAM #define YY_CTX_ARG_ #define YY_CTX_ARG yycontext yyctx0; yycontext *yyctx= &yyctx0; #endif YY_LOCAL(int) yyrefill(yycontext *ctx) { int yyn; while (ctx->buflen - ctx->pos < 512) { ctx->buflen *= 2; ctx->buf= (char *)realloc(ctx->buf, ctx->buflen); } YY_INPUT((ctx->buf + ctx->pos), yyn, (ctx->buflen - ctx->pos)); if (!yyn) return 0; ctx->limit += yyn; return 1; } YY_LOCAL(int) yymatchDot(yycontext *ctx) { if (ctx->pos >= ctx->limit && !yyrefill(ctx)) return 0; ++ctx->pos; return 1; } YY_LOCAL(int) yymatchChar(yycontext *ctx, int c) { if (ctx->pos >= ctx->limit && !yyrefill(ctx)) return 0; if ((unsigned char)ctx->buf[ctx->pos] == c) { ++ctx->pos; yyprintf((stderr, " ok yymatchChar(ctx, %c) @ %s\n", c, ctx->buf+ctx->pos)); return 1; } yyprintf((stderr, " fail yymatchChar(ctx, %c) @ %s\n", c, ctx->buf+ctx->pos)); return 0; } YY_LOCAL(int) yymatchString(yycontext *ctx, char *s) { int yysav= ctx->pos; while (*s) { if (ctx->pos >= ctx->limit && !yyrefill(ctx)) return 0; if (ctx->buf[ctx->pos] != *s) { ctx->pos= yysav; return 0; } ++s; ++ctx->pos; } return 1; } YY_LOCAL(int) yymatchClass(yycontext *ctx, unsigned char *bits) { int c; if (ctx->pos >= ctx->limit && !yyrefill(ctx)) return 0; c= (unsigned char)ctx->buf[ctx->pos]; if (bits[c >> 3] & (1 << (c & 7))) { ++ctx->pos; yyprintf((stderr, " ok yymatchClass @ %s\n", ctx->buf+ctx->pos)); return 1; } yyprintf((stderr, " fail yymatchClass @ %s\n", ctx->buf+ctx->pos)); return 0; } YY_LOCAL(void) yyDo(yycontext *ctx, yyaction action, int begin, int end) { while (ctx->thunkpos >= ctx->thunkslen) { ctx->thunkslen *= 2; ctx->thunks= (yythunk *)realloc(ctx->thunks, sizeof(yythunk) * ctx->thunkslen); } ctx->thunks[ctx->thunkpos].begin= begin; ctx->thunks[ctx->thunkpos].end= end; ctx->thunks[ctx->thunkpos].action= action; ++ctx->thunkpos; } YY_LOCAL(int) yyText(yycontext *ctx, int begin, int end) { int yyleng= end - begin; if (yyleng <= 0) yyleng= 0; else { while (ctx->textlen < (yyleng + 1)) { ctx->textlen *= 2; ctx->text= (char *)realloc(ctx->text, ctx->textlen); } memcpy(ctx->text, ctx->buf + begin, yyleng); } ctx->text[yyleng]= '\0'; return yyleng; } YY_LOCAL(void) yyDone(yycontext *ctx) { int pos; for (pos= 0; pos < ctx->thunkpos; ++pos) { yythunk *thunk= &ctx->thunks[pos]; int yyleng= thunk->end ? yyText(ctx, thunk->begin, thunk->end) : thunk->begin; yyprintf((stderr, "DO [%d] %p %s\n", pos, thunk->action, ctx->text)); thunk->action(ctx, ctx->text, yyleng); } ctx->thunkpos= 0; } YY_LOCAL(void) yyCommit(yycontext *ctx) { if ((ctx->limit -= ctx->pos)) { memmove(ctx->buf, ctx->buf + ctx->pos, ctx->limit); } ctx->begin -= ctx->pos; ctx->end -= ctx->pos; ctx->pos= ctx->thunkpos= 0; } YY_LOCAL(int) yyAccept(yycontext *ctx, int tp0) { if (tp0) { fprintf(stderr, "accept denied at %d\n", tp0); return 0; } else { yyDone(ctx); yyCommit(ctx); } return 1; } YY_LOCAL(void) yyPush(yycontext *ctx, char *text, int count) { ctx->val += count; } YY_LOCAL(void) yyPop(yycontext *ctx, char *text, int count) { ctx->val -= count; } YY_LOCAL(void) yySet(yycontext *ctx, char *text, int count) { ctx->val[count]= ctx->yy; } #endif /* YY_PART */ #define YYACCEPT yyAccept(ctx, yythunkpos0) YY_RULE(int) yy_end_of_line(yycontext *ctx); /* 36 */ YY_RULE(int) yy_comment(yycontext *ctx); /* 35 */ YY_RULE(int) yy_space(yycontext *ctx); /* 34 */ YY_RULE(int) yy_braces(yycontext *ctx); /* 33 */ YY_RULE(int) yy_range(yycontext *ctx); /* 32 */ YY_RULE(int) yy_char(yycontext *ctx); /* 31 */ YY_RULE(int) yy_END(yycontext *ctx); /* 30 */ YY_RULE(int) yy_BEGIN(yycontext *ctx); /* 29 */ YY_RULE(int) yy_DOT(yycontext *ctx); /* 28 */ YY_RULE(int) yy_class(yycontext *ctx); /* 27 */ YY_RULE(int) yy_literal(yycontext *ctx); /* 26 */ YY_RULE(int) yy_CLOSE(yycontext *ctx); /* 25 */ YY_RULE(int) yy_OPEN(yycontext *ctx); /* 24 */ YY_RULE(int) yy_COLON(yycontext *ctx); /* 23 */ YY_RULE(int) yy_PLUS(yycontext *ctx); /* 22 */ YY_RULE(int) yy_STAR(yycontext *ctx); /* 21 */ YY_RULE(int) yy_QUESTION(yycontext *ctx); /* 20 */ YY_RULE(int) yy_primary(yycontext *ctx); /* 19 */ YY_RULE(int) yy_NOT(yycontext *ctx); /* 18 */ YY_RULE(int) yy_suffix(yycontext *ctx); /* 17 */ YY_RULE(int) yy_action(yycontext *ctx); /* 16 */ YY_RULE(int) yy_AND(yycontext *ctx); /* 15 */ YY_RULE(int) yy_prefix(yycontext *ctx); /* 14 */ YY_RULE(int) yy_BAR(yycontext *ctx); /* 13 */ YY_RULE(int) yy_sequence(yycontext *ctx); /* 12 */ YY_RULE(int) yy_SEMICOLON(yycontext *ctx); /* 11 */ YY_RULE(int) yy_expression(yycontext *ctx); /* 10 */ YY_RULE(int) yy_EQUAL(yycontext *ctx); /* 9 */ YY_RULE(int) yy_identifier(yycontext *ctx); /* 8 */ YY_RULE(int) yy_RPERCENT(yycontext *ctx); /* 7 */ YY_RULE(int) yy_end_of_file(yycontext *ctx); /* 6 */ YY_RULE(int) yy_trailer(yycontext *ctx); /* 5 */ YY_RULE(int) yy_definition(yycontext *ctx); /* 4 */ YY_RULE(int) yy_declaration(yycontext *ctx); /* 3 */ YY_RULE(int) yy__(yycontext *ctx); /* 2 */ YY_RULE(int) yy_grammar(yycontext *ctx); /* 1 */ YY_ACTION(void) yy_9_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_9_primary\n")); push(makePredicate("YY_END")); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_8_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_8_primary\n")); push(makePredicate("YY_BEGIN")); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_7_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_7_primary\n")); push(makeAction(yytext)); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_6_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_6_primary\n")); push(makeDot()); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_5_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_5_primary\n")); push(makeClass(yytext)); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_4_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_4_primary\n")); push(makeString(yytext)); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_3_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_primary\n")); push(makeName(findRule(yytext))); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_2_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_primary\n")); Node *name= makeName(findRule(yytext)); name->name.variable= pop(); push(name); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_primary(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_primary\n")); push(makeVariable(yytext)); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_3_suffix(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_suffix\n")); push(makePlus (pop())); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_2_suffix(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_suffix\n")); push(makeStar (pop())); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_suffix(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_suffix\n")); push(makeQuery(pop())); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_3_prefix(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_3_prefix\n")); push(makePeekNot(pop())); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_2_prefix(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_prefix\n")); push(makePeekFor(pop())); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_prefix(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_prefix\n")); push(makePredicate(yytext)); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_sequence(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_sequence\n")); Node *f= pop(); push(Sequence_append(pop(), f)); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_expression(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_expression\n")); Node *f= pop(); push(Alternate_append(pop(), f)); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_2_definition(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_2_definition\n")); Node *e= pop(); Rule_setExpression(pop(), e); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_definition(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_definition\n")); if (push(beginRule(findRule(yytext)))->rule.expression) fprintf(stderr, "rule '%s' redefined\n", yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_trailer(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_trailer\n")); makeTrailer(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_ACTION(void) yy_1_declaration(yycontext *ctx, char *yytext, int yyleng) { #define yy ctx->yy #define yypos ctx->pos #define yythunkpos ctx->thunkpos yyprintf((stderr, "do yy_1_declaration\n")); makeHeader(yytext); ; #undef yythunkpos #undef yypos #undef yy } YY_RULE(int) yy_end_of_line(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "end_of_line")); { int yypos2= ctx->pos, yythunkpos2= ctx->thunkpos; if (!yymatchString(ctx, "\r\n")) goto l3; goto l2; l3:; ctx->pos= yypos2; ctx->thunkpos= yythunkpos2; if (!yymatchChar(ctx, '\n')) goto l4; goto l2; l4:; ctx->pos= yypos2; ctx->thunkpos= yythunkpos2; if (!yymatchChar(ctx, '\r')) goto l1; } l2:; yyprintf((stderr, " ok %s @ %s\n", "end_of_line", ctx->buf+ctx->pos)); return 1; l1:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "end_of_line", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_comment(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "comment")); if (!yymatchChar(ctx, '#')) goto l5; l6:; { int yypos7= ctx->pos, yythunkpos7= ctx->thunkpos; { int yypos8= ctx->pos, yythunkpos8= ctx->thunkpos; if (!yy_end_of_line(ctx)) goto l8; goto l7; l8:; ctx->pos= yypos8; ctx->thunkpos= yythunkpos8; } if (!yymatchDot(ctx)) goto l7; goto l6; l7:; ctx->pos= yypos7; ctx->thunkpos= yythunkpos7; } if (!yy_end_of_line(ctx)) goto l5; yyprintf((stderr, " ok %s @ %s\n", "comment", ctx->buf+ctx->pos)); return 1; l5:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "comment", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_space(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "space")); { int yypos10= ctx->pos, yythunkpos10= ctx->thunkpos; if (!yymatchChar(ctx, ' ')) goto l11; goto l10; l11:; ctx->pos= yypos10; ctx->thunkpos= yythunkpos10; if (!yymatchChar(ctx, '\t')) goto l12; goto l10; l12:; ctx->pos= yypos10; ctx->thunkpos= yythunkpos10; if (!yy_end_of_line(ctx)) goto l9; } l10:; yyprintf((stderr, " ok %s @ %s\n", "space", ctx->buf+ctx->pos)); return 1; l9:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "space", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_braces(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "braces")); { int yypos14= ctx->pos, yythunkpos14= ctx->thunkpos; if (!yymatchChar(ctx, '{')) goto l15; l16:; { int yypos17= ctx->pos, yythunkpos17= ctx->thunkpos; if (!yy_braces(ctx)) goto l17; goto l16; l17:; ctx->pos= yypos17; ctx->thunkpos= yythunkpos17; } if (!yymatchChar(ctx, '}')) goto l15; goto l14; l15:; ctx->pos= yypos14; ctx->thunkpos= yythunkpos14; { int yypos18= ctx->pos, yythunkpos18= ctx->thunkpos; if (!yymatchChar(ctx, '}')) goto l18; goto l13; l18:; ctx->pos= yypos18; ctx->thunkpos= yythunkpos18; } if (!yymatchDot(ctx)) goto l13; } l14:; yyprintf((stderr, " ok %s @ %s\n", "braces", ctx->buf+ctx->pos)); return 1; l13:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "braces", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_range(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "range")); { int yypos20= ctx->pos, yythunkpos20= ctx->thunkpos; if (!yy_char(ctx)) goto l21; if (!yymatchChar(ctx, '-')) goto l21; if (!yy_char(ctx)) goto l21; goto l20; l21:; ctx->pos= yypos20; ctx->thunkpos= yythunkpos20; if (!yy_char(ctx)) goto l19; } l20:; yyprintf((stderr, " ok %s @ %s\n", "range", ctx->buf+ctx->pos)); return 1; l19:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "range", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_char(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "char")); { int yypos23= ctx->pos, yythunkpos23= ctx->thunkpos; if (!yymatchChar(ctx, '\\')) goto l24; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\204\040\000\000\000\000\000\070\146\100\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l24; goto l23; l24:; ctx->pos= yypos23; ctx->thunkpos= yythunkpos23; if (!yymatchChar(ctx, '\\')) goto l25; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25; goto l23; l25:; ctx->pos= yypos23; ctx->thunkpos= yythunkpos23; if (!yymatchChar(ctx, '\\')) goto l26; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l26; { int yypos27= ctx->pos, yythunkpos27= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l27; goto l28; l27:; ctx->pos= yypos27; ctx->thunkpos= yythunkpos27; } l28:; goto l23; l26:; ctx->pos= yypos23; ctx->thunkpos= yythunkpos23; { int yypos29= ctx->pos, yythunkpos29= ctx->thunkpos; if (!yymatchChar(ctx, '\\')) goto l29; goto l22; l29:; ctx->pos= yypos29; ctx->thunkpos= yythunkpos29; } if (!yymatchDot(ctx)) goto l22; } l23:; yyprintf((stderr, " ok %s @ %s\n", "char", ctx->buf+ctx->pos)); return 1; l22:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "char", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_END(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "END")); if (!yymatchChar(ctx, '>')) goto l30; if (!yy__(ctx)) goto l30; yyprintf((stderr, " ok %s @ %s\n", "END", ctx->buf+ctx->pos)); return 1; l30:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "END", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_BEGIN(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "BEGIN")); if (!yymatchChar(ctx, '<')) goto l31; if (!yy__(ctx)) goto l31; yyprintf((stderr, " ok %s @ %s\n", "BEGIN", ctx->buf+ctx->pos)); return 1; l31:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BEGIN", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_DOT(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "DOT")); if (!yymatchChar(ctx, '.')) goto l32; if (!yy__(ctx)) goto l32; yyprintf((stderr, " ok %s @ %s\n", "DOT", ctx->buf+ctx->pos)); return 1; l32:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "DOT", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_class(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "class")); if (!yymatchChar(ctx, '[')) goto l33; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l33; l34:; { int yypos35= ctx->pos, yythunkpos35= ctx->thunkpos; { int yypos36= ctx->pos, yythunkpos36= ctx->thunkpos; if (!yymatchChar(ctx, ']')) goto l36; goto l35; l36:; ctx->pos= yypos36; ctx->thunkpos= yythunkpos36; } if (!yy_range(ctx)) goto l35; goto l34; l35:; ctx->pos= yypos35; ctx->thunkpos= yythunkpos35; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l33; if (!yymatchChar(ctx, ']')) goto l33; if (!yy__(ctx)) goto l33; yyprintf((stderr, " ok %s @ %s\n", "class", ctx->buf+ctx->pos)); return 1; l33:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "class", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_literal(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "literal")); { int yypos38= ctx->pos, yythunkpos38= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l39; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l39; l40:; { int yypos41= ctx->pos, yythunkpos41= ctx->thunkpos; { int yypos42= ctx->pos, yythunkpos42= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l42; goto l41; l42:; ctx->pos= yypos42; ctx->thunkpos= yythunkpos42; } if (!yy_char(ctx)) goto l41; goto l40; l41:; ctx->pos= yypos41; ctx->thunkpos= yythunkpos41; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l39; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l39; if (!yy__(ctx)) goto l39; goto l38; l39:; ctx->pos= yypos38; ctx->thunkpos= yythunkpos38; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l37; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l37; l43:; { int yypos44= ctx->pos, yythunkpos44= ctx->thunkpos; { int yypos45= ctx->pos, yythunkpos45= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l45; goto l44; l45:; ctx->pos= yypos45; ctx->thunkpos= yythunkpos45; } if (!yy_char(ctx)) goto l44; goto l43; l44:; ctx->pos= yypos44; ctx->thunkpos= yythunkpos44; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l37; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l37; if (!yy__(ctx)) goto l37; } l38:; yyprintf((stderr, " ok %s @ %s\n", "literal", ctx->buf+ctx->pos)); return 1; l37:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "literal", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_CLOSE(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "CLOSE")); if (!yymatchChar(ctx, ')')) goto l46; if (!yy__(ctx)) goto l46; yyprintf((stderr, " ok %s @ %s\n", "CLOSE", ctx->buf+ctx->pos)); return 1; l46:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "CLOSE", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_OPEN(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "OPEN")); if (!yymatchChar(ctx, '(')) goto l47; if (!yy__(ctx)) goto l47; yyprintf((stderr, " ok %s @ %s\n", "OPEN", ctx->buf+ctx->pos)); return 1; l47:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "OPEN", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_COLON(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "COLON")); if (!yymatchChar(ctx, ':')) goto l48; if (!yy__(ctx)) goto l48; yyprintf((stderr, " ok %s @ %s\n", "COLON", ctx->buf+ctx->pos)); return 1; l48:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "COLON", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_PLUS(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "PLUS")); if (!yymatchChar(ctx, '+')) goto l49; if (!yy__(ctx)) goto l49; yyprintf((stderr, " ok %s @ %s\n", "PLUS", ctx->buf+ctx->pos)); return 1; l49:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "PLUS", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_STAR(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "STAR")); if (!yymatchChar(ctx, '*')) goto l50; if (!yy__(ctx)) goto l50; yyprintf((stderr, " ok %s @ %s\n", "STAR", ctx->buf+ctx->pos)); return 1; l50:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "STAR", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_QUESTION(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "QUESTION")); if (!yymatchChar(ctx, '?')) goto l51; if (!yy__(ctx)) goto l51; yyprintf((stderr, " ok %s @ %s\n", "QUESTION", ctx->buf+ctx->pos)); return 1; l51:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "QUESTION", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_primary(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "primary")); { int yypos53= ctx->pos, yythunkpos53= ctx->thunkpos; if (!yy_identifier(ctx)) goto l54; yyDo(ctx, yy_1_primary, ctx->begin, ctx->end); if (!yy_COLON(ctx)) goto l54; if (!yy_identifier(ctx)) goto l54; { int yypos55= ctx->pos, yythunkpos55= ctx->thunkpos; if (!yy_EQUAL(ctx)) goto l55; goto l54; l55:; ctx->pos= yypos55; ctx->thunkpos= yythunkpos55; } yyDo(ctx, yy_2_primary, ctx->begin, ctx->end); goto l53; l54:; ctx->pos= yypos53; ctx->thunkpos= yythunkpos53; if (!yy_identifier(ctx)) goto l56; { int yypos57= ctx->pos, yythunkpos57= ctx->thunkpos; if (!yy_EQUAL(ctx)) goto l57; goto l56; l57:; ctx->pos= yypos57; ctx->thunkpos= yythunkpos57; } yyDo(ctx, yy_3_primary, ctx->begin, ctx->end); goto l53; l56:; ctx->pos= yypos53; ctx->thunkpos= yythunkpos53; if (!yy_OPEN(ctx)) goto l58; if (!yy_expression(ctx)) goto l58; if (!yy_CLOSE(ctx)) goto l58; goto l53; l58:; ctx->pos= yypos53; ctx->thunkpos= yythunkpos53; if (!yy_literal(ctx)) goto l59; yyDo(ctx, yy_4_primary, ctx->begin, ctx->end); goto l53; l59:; ctx->pos= yypos53; ctx->thunkpos= yythunkpos53; if (!yy_class(ctx)) goto l60; yyDo(ctx, yy_5_primary, ctx->begin, ctx->end); goto l53; l60:; ctx->pos= yypos53; ctx->thunkpos= yythunkpos53; if (!yy_DOT(ctx)) goto l61; yyDo(ctx, yy_6_primary, ctx->begin, ctx->end); goto l53; l61:; ctx->pos= yypos53; ctx->thunkpos= yythunkpos53; if (!yy_action(ctx)) goto l62; yyDo(ctx, yy_7_primary, ctx->begin, ctx->end); goto l53; l62:; ctx->pos= yypos53; ctx->thunkpos= yythunkpos53; if (!yy_BEGIN(ctx)) goto l63; yyDo(ctx, yy_8_primary, ctx->begin, ctx->end); goto l53; l63:; ctx->pos= yypos53; ctx->thunkpos= yythunkpos53; if (!yy_END(ctx)) goto l52; yyDo(ctx, yy_9_primary, ctx->begin, ctx->end); } l53:; yyprintf((stderr, " ok %s @ %s\n", "primary", ctx->buf+ctx->pos)); return 1; l52:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "primary", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_NOT(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "NOT")); if (!yymatchChar(ctx, '!')) goto l64; if (!yy__(ctx)) goto l64; yyprintf((stderr, " ok %s @ %s\n", "NOT", ctx->buf+ctx->pos)); return 1; l64:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "NOT", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_suffix(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "suffix")); if (!yy_primary(ctx)) goto l65; { int yypos66= ctx->pos, yythunkpos66= ctx->thunkpos; { int yypos68= ctx->pos, yythunkpos68= ctx->thunkpos; if (!yy_QUESTION(ctx)) goto l69; yyDo(ctx, yy_1_suffix, ctx->begin, ctx->end); goto l68; l69:; ctx->pos= yypos68; ctx->thunkpos= yythunkpos68; if (!yy_STAR(ctx)) goto l70; yyDo(ctx, yy_2_suffix, ctx->begin, ctx->end); goto l68; l70:; ctx->pos= yypos68; ctx->thunkpos= yythunkpos68; if (!yy_PLUS(ctx)) goto l66; yyDo(ctx, yy_3_suffix, ctx->begin, ctx->end); } l68:; goto l67; l66:; ctx->pos= yypos66; ctx->thunkpos= yythunkpos66; } l67:; yyprintf((stderr, " ok %s @ %s\n", "suffix", ctx->buf+ctx->pos)); return 1; l65:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "suffix", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_action(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "action")); if (!yymatchChar(ctx, '{')) goto l71; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l71; l72:; { int yypos73= ctx->pos, yythunkpos73= ctx->thunkpos; if (!yy_braces(ctx)) goto l73; goto l72; l73:; ctx->pos= yypos73; ctx->thunkpos= yythunkpos73; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l71; if (!yymatchChar(ctx, '}')) goto l71; if (!yy__(ctx)) goto l71; yyprintf((stderr, " ok %s @ %s\n", "action", ctx->buf+ctx->pos)); return 1; l71:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "action", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_AND(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "AND")); if (!yymatchChar(ctx, '&')) goto l74; if (!yy__(ctx)) goto l74; yyprintf((stderr, " ok %s @ %s\n", "AND", ctx->buf+ctx->pos)); return 1; l74:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AND", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_prefix(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "prefix")); { int yypos76= ctx->pos, yythunkpos76= ctx->thunkpos; if (!yy_AND(ctx)) goto l77; if (!yy_action(ctx)) goto l77; yyDo(ctx, yy_1_prefix, ctx->begin, ctx->end); goto l76; l77:; ctx->pos= yypos76; ctx->thunkpos= yythunkpos76; if (!yy_AND(ctx)) goto l78; if (!yy_suffix(ctx)) goto l78; yyDo(ctx, yy_2_prefix, ctx->begin, ctx->end); goto l76; l78:; ctx->pos= yypos76; ctx->thunkpos= yythunkpos76; if (!yy_NOT(ctx)) goto l79; if (!yy_suffix(ctx)) goto l79; yyDo(ctx, yy_3_prefix, ctx->begin, ctx->end); goto l76; l79:; ctx->pos= yypos76; ctx->thunkpos= yythunkpos76; if (!yy_suffix(ctx)) goto l75; } l76:; yyprintf((stderr, " ok %s @ %s\n", "prefix", ctx->buf+ctx->pos)); return 1; l75:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "prefix", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_BAR(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "BAR")); if (!yymatchChar(ctx, '|')) goto l80; if (!yy__(ctx)) goto l80; yyprintf((stderr, " ok %s @ %s\n", "BAR", ctx->buf+ctx->pos)); return 1; l80:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BAR", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_sequence(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "sequence")); if (!yy_prefix(ctx)) goto l81; l82:; { int yypos83= ctx->pos, yythunkpos83= ctx->thunkpos; if (!yy_prefix(ctx)) goto l83; yyDo(ctx, yy_1_sequence, ctx->begin, ctx->end); goto l82; l83:; ctx->pos= yypos83; ctx->thunkpos= yythunkpos83; } yyprintf((stderr, " ok %s @ %s\n", "sequence", ctx->buf+ctx->pos)); return 1; l81:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "sequence", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_SEMICOLON(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "SEMICOLON")); if (!yymatchChar(ctx, ';')) goto l84; if (!yy__(ctx)) goto l84; yyprintf((stderr, " ok %s @ %s\n", "SEMICOLON", ctx->buf+ctx->pos)); return 1; l84:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SEMICOLON", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_expression(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "expression")); if (!yy_sequence(ctx)) goto l85; l86:; { int yypos87= ctx->pos, yythunkpos87= ctx->thunkpos; if (!yy_BAR(ctx)) goto l87; if (!yy_sequence(ctx)) goto l87; yyDo(ctx, yy_1_expression, ctx->begin, ctx->end); goto l86; l87:; ctx->pos= yypos87; ctx->thunkpos= yythunkpos87; } yyprintf((stderr, " ok %s @ %s\n", "expression", ctx->buf+ctx->pos)); return 1; l85:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "expression", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_EQUAL(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "EQUAL")); if (!yymatchChar(ctx, '=')) goto l88; if (!yy__(ctx)) goto l88; yyprintf((stderr, " ok %s @ %s\n", "EQUAL", ctx->buf+ctx->pos)); return 1; l88:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "EQUAL", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_identifier(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "identifier")); yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l89; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\040\000\000\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l89; l90:; { int yypos91= ctx->pos, yythunkpos91= ctx->thunkpos; if (!yymatchClass(ctx, (unsigned char *)"\000\000\000\000\000\040\377\003\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l91; goto l90; l91:; ctx->pos= yypos91; ctx->thunkpos= yythunkpos91; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l89; if (!yy__(ctx)) goto l89; yyprintf((stderr, " ok %s @ %s\n", "identifier", ctx->buf+ctx->pos)); return 1; l89:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "identifier", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_RPERCENT(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "RPERCENT")); if (!yymatchString(ctx, "%}")) goto l92; if (!yy__(ctx)) goto l92; yyprintf((stderr, " ok %s @ %s\n", "RPERCENT", ctx->buf+ctx->pos)); return 1; l92:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RPERCENT", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_end_of_file(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "end_of_file")); { int yypos94= ctx->pos, yythunkpos94= ctx->thunkpos; if (!yymatchDot(ctx)) goto l94; goto l93; l94:; ctx->pos= yypos94; ctx->thunkpos= yythunkpos94; } yyprintf((stderr, " ok %s @ %s\n", "end_of_file", ctx->buf+ctx->pos)); return 1; l93:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "end_of_file", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_trailer(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "trailer")); if (!yymatchString(ctx, "%%")) goto l95; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l95; l96:; { int yypos97= ctx->pos, yythunkpos97= ctx->thunkpos; if (!yymatchDot(ctx)) goto l97; goto l96; l97:; ctx->pos= yypos97; ctx->thunkpos= yythunkpos97; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l95; yyDo(ctx, yy_1_trailer, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "trailer", ctx->buf+ctx->pos)); return 1; l95:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "trailer", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_definition(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "definition")); if (!yy_identifier(ctx)) goto l98; yyDo(ctx, yy_1_definition, ctx->begin, ctx->end); if (!yy_EQUAL(ctx)) goto l98; if (!yy_expression(ctx)) goto l98; yyDo(ctx, yy_2_definition, ctx->begin, ctx->end); { int yypos99= ctx->pos, yythunkpos99= ctx->thunkpos; if (!yy_SEMICOLON(ctx)) goto l99; goto l100; l99:; ctx->pos= yypos99; ctx->thunkpos= yythunkpos99; } l100:; yyprintf((stderr, " ok %s @ %s\n", "definition", ctx->buf+ctx->pos)); return 1; l98:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "definition", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy_declaration(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "declaration")); if (!yymatchString(ctx, "%{")) goto l101; yyText(ctx, ctx->begin, ctx->end); if (!(YY_BEGIN)) goto l101; l102:; { int yypos103= ctx->pos, yythunkpos103= ctx->thunkpos; { int yypos104= ctx->pos, yythunkpos104= ctx->thunkpos; if (!yymatchString(ctx, "%}")) goto l104; goto l103; l104:; ctx->pos= yypos104; ctx->thunkpos= yythunkpos104; } if (!yymatchDot(ctx)) goto l103; goto l102; l103:; ctx->pos= yypos103; ctx->thunkpos= yythunkpos103; } yyText(ctx, ctx->begin, ctx->end); if (!(YY_END)) goto l101; if (!yy_RPERCENT(ctx)) goto l101; yyDo(ctx, yy_1_declaration, ctx->begin, ctx->end); yyprintf((stderr, " ok %s @ %s\n", "declaration", ctx->buf+ctx->pos)); return 1; l101:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "declaration", ctx->buf+ctx->pos)); return 0; } YY_RULE(int) yy__(yycontext *ctx) { yyprintf((stderr, "%s\n", "_")); l106:; { int yypos107= ctx->pos, yythunkpos107= ctx->thunkpos; { int yypos108= ctx->pos, yythunkpos108= ctx->thunkpos; if (!yy_space(ctx)) goto l109; goto l108; l109:; ctx->pos= yypos108; ctx->thunkpos= yythunkpos108; if (!yy_comment(ctx)) goto l107; } l108:; goto l106; l107:; ctx->pos= yypos107; ctx->thunkpos= yythunkpos107; } yyprintf((stderr, " ok %s @ %s\n", "_", ctx->buf+ctx->pos)); return 1; } YY_RULE(int) yy_grammar(yycontext *ctx) { int yypos0= ctx->pos, yythunkpos0= ctx->thunkpos; yyprintf((stderr, "%s\n", "grammar")); if (!yy__(ctx)) goto l110; { int yypos113= ctx->pos, yythunkpos113= ctx->thunkpos; if (!yy_declaration(ctx)) goto l114; goto l113; l114:; ctx->pos= yypos113; ctx->thunkpos= yythunkpos113; if (!yy_definition(ctx)) goto l110; } l113:; l111:; { int yypos112= ctx->pos, yythunkpos112= ctx->thunkpos; { int yypos115= ctx->pos, yythunkpos115= ctx->thunkpos; if (!yy_declaration(ctx)) goto l116; goto l115; l116:; ctx->pos= yypos115; ctx->thunkpos= yythunkpos115; if (!yy_definition(ctx)) goto l112; } l115:; goto l111; l112:; ctx->pos= yypos112; ctx->thunkpos= yythunkpos112; } { int yypos117= ctx->pos, yythunkpos117= ctx->thunkpos; if (!yy_trailer(ctx)) goto l117; goto l118; l117:; ctx->pos= yypos117; ctx->thunkpos= yythunkpos117; } l118:; if (!yy_end_of_file(ctx)) goto l110; yyprintf((stderr, " ok %s @ %s\n", "grammar", ctx->buf+ctx->pos)); return 1; l110:; ctx->pos= yypos0; ctx->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "grammar", ctx->buf+ctx->pos)); return 0; } #ifndef YY_PART typedef int (*yyrule)(yycontext *ctx); YY_PARSE(int) YYPARSEFROM(YY_CTX_PARAM_ yyrule yystart) { int yyok; if (!yyctx->buflen) { yyctx->buflen= 1024; yyctx->buf= (char *)malloc(yyctx->buflen); yyctx->textlen= 1024; yyctx->text= (char *)malloc(yyctx->textlen); yyctx->thunkslen= 32; yyctx->thunks= (yythunk *)malloc(sizeof(yythunk) * yyctx->thunkslen); yyctx->valslen= 32; yyctx->vals= (YYSTYPE *)malloc(sizeof(YYSTYPE) * yyctx->valslen); yyctx->begin= yyctx->end= yyctx->pos= yyctx->limit= yyctx->thunkpos= 0; } yyctx->begin= yyctx->end= yyctx->pos; yyctx->thunkpos= 0; yyctx->val= yyctx->vals; yyok= yystart(yyctx); if (yyok) yyDone(yyctx); yyCommit(yyctx); return yyok; } YY_PARSE(int) YYPARSE(YY_CTX_PARAM) { return YYPARSEFROM(YY_CTX_ARG_ yy_grammar); } #endif void yyerror(char *message) { fprintf(stderr, "%s:%d: %s", fileName, lineNumber, message); if (yyctx->text[0]) fprintf(stderr, " near token '%s'", yyctx->text); if (yyctx->pos < yyctx->limit || !feof(input)) { yyctx->buf[yyctx->limit]= '\0'; fprintf(stderr, " before text \""); while (yyctx->pos < yyctx->limit) { if ('\n' == yyctx->buf[yyctx->pos] || '\r' == yyctx->buf[yyctx->pos]) break; fputc(yyctx->buf[yyctx->pos++], stderr); } if (yyctx->pos == yyctx->limit) { int c; while (EOF != (c= fgetc(input)) && '\n' != c && '\r' != c) fputc(c, stderr); } fputc('\"', stderr); } fprintf(stderr, "\n"); exit(1); } void makeHeader(char *text) { Header *header= (Header *)malloc(sizeof(Header)); header->text= strdup(text); header->next= headers; headers= header; } void makeTrailer(char *text) { trailer= strdup(text); } static void version(char *name) { printf("%s version %d.%d.%d\n", name, PEG_MAJOR, PEG_MINOR, PEG_LEVEL); } static void usage(char *name) { version(name); fprintf(stderr, "usage: %s [

      dZ]ώB2 ZD F,?}qwK E&5B>,~v`z`Fy2'ʜ@8x]c㼯-vD8?A|C SW@ HGf wʣuTIENDB`geany-plugins-1.27/scope/data/Continue22.png0000644000175000017500000000216512671261352021204 0ustar00frlanfrlan00000000000000PNG  IHDRĴl;sRGBbKGD pHYs  tIME(2IDAT8˅]le}[q߮Vd 7~1YDRDD1?dDɒ1 _f6:v(pk׮ݻ}>+-$s=ss<<==.,N죯]G`<i|Ky^KMI-3 L]rSW>~7}o}NJ(&BYH%p.\ V8H~=]L~ȩ%rS vVzw^^ k4VKcKKd0i+T&Wn[D49~qN<97~AZ[[0g?_-ʞt34_s79 c)lw4_T`n!μ?eJq=0HJ1 XEGqմu7l!!ȢDؿ(JKFBL-i?f@.w [$A*%JKo?T6#PN( [$iC.ВN_FfxRI"yZ%KRB@!s8J HwI)R5<.C#GKt>RKջ L%cuskpӚwNIB9lP/2@˙SOgEA1km0ŮaPȽ!qQBԞ,d)Hm|\Ҝ <Q6faJL hdk\AEt Sn2FAD`w"h.p'UOVJr\[^=~ZL5"HCF4(b* !ilI~#"$"}C8wޯ Dg"p[zՆVn3)j} ǧ!DrŁǺ J_|ʊ ].T(TH0, 󰧟`u>t99+'ԝX(Hg|<~܏@3WZc1MGi7`i躎i <}Ct:]m{\!o|Me_IENDB`geany-plugins-1.27/scope/data/StepOver22.png0000644000175000017500000000164612671261352021172 0ustar00frlanfrlan00000000000000PNG  IHDRĴl;sRGBbKGD pHYs  tIME-ߛ&IDAT8˵hU?^m6uyEbpI?rAtAE!a`UZGˠ2 􏜠~Ț?n@!|<ܢ+r+ hp mާ3񿀿xWֻWoO4*#FC@ۦy놀WQvˑ0L/p+aw#4pgN:Sxodp %2dI*EjwfCU5' W<=>ơ9}3$ck7pbN+~_p_c\i?gdk;TVVilX-1r3X5KvvuМ7[[CȌ[!7 0PS֑B]f"bFlQT'P(ƭbl*֌c8Uj'}Rvj"j%LU'.ȏ==4Y @C9v;v<1za(1oΙ0Luu%Y#i4&2DE3oԮof(s2'@ 1VW%wD2_g$Ɖuѿ}y s{]cQATI_뢬X|-Tj(`-yw2d }|:  0Cc<$k#%Au]W1S+λ[bb7= ݴ*a\e{zʛ /xI.IENDB`geany-plugins-1.27/scope/data/StepOver.png0000644000175000017500000000130412671261352021015 0ustar00frlanfrlan00000000000000PNG  IHDRasRGBbKGD pHYs  tIME &DIDAT8˝KHTaz3ZhN6)eRA-zXaJ @ZND6QBz-"=,)JQ+ D2xm1:p9s83skޣ%Nyъf-h`ڙ3~@OGށ0rWpcC%QN|f.? ZtW. BNy8rmM,/;HKa XZ+~MN31!o]7Oh;U-ĦZ+L3B2#@9xB[4?`Y -dJ P"bc?8ޅ|ej XJI\I fh(B07 ۄ`dm$W*3}TܸˌW*šJ5{!@*N.=xt7 fR`BAӾ*iS|%EbmɉXJRll0e%EK G"P `lڰ>u0;.`2̀7gy)IENDB`geany-plugins-1.27/scope/data/StepInto22.png0000644000175000017500000000130412671261352021157 0ustar00frlanfrlan00000000000000PNG  IHDRĴl;sRGBbKGD pHYs  tIME!4ODIDAT8˭MkQ:1Ӎ RLĤZҤ?@2 AAT%& VF(H3.5 8.̙{g9s?0mS Ӹw,56Z`G?~!=[C < UIDX@FG6Ala]saMԇRUADsו>ƽ>얿w Vh8 =XV13Kd W_ xwdjnཧon=0WV0«nKɞo9D3zۀɻז{4,'Ym2@e5Vs$.05zLAm=Ʃ8lĢFF#B0. p>].9r56x=],OtQSWǽ;|>rFhn<=#8k <@gDž}rzDHݾQ95qB-bQb kĚh-ef3| ktˋh˱#+d萧tyKYqyeESFl[(X,Ʃ-U{) |ci͸ߠIENDB`geany-plugins-1.27/scope/data/Continue.png0000644000175000017500000000141612671261352021036 0ustar00frlanfrlan00000000000000PNG  IHDRasRGBbKGD pHYs  tIME#AIDAT8e[HTQ3jxBQlMs2-z}"݈FBRYXBj3]ar?ͿbR MH{t@3H`s?WKpݥVaߞ48[#nɌWߟ 't].9[55#B$,Gf,{يO^Ӂ@ֲԻ^CTw;o|ЯQ{<5nf&1⿈ .q"0DمIjT~XCI#!#&BXR`+كXR05Hq!#HCI#VcۢUcf HD^-xWm&YFlK!2t&E1bHi8r_K-w K%@v$"WO!md]GDM.1#?N"fE< Ŧ h s0Զr{R7ew{b\ м|HakMӊkزu#J?1apHӳP@(j;m.ss㼛 2obf\gO VP 87D-^_ӪX 4@jw S IENDB`geany-plugins-1.27/scope/data/RunToCursor22.png0000644000175000017500000000163412671261352021665 0ustar00frlanfrlan00000000000000PNG  IHDRĴl;sRGBbKGD pHYs  tIME)}yTIDAT8˝hUe?dclV?jXm 2,K(HDqCDKXHf%x;yy=u{Wys>c۾7ff 0ưmۜDǾ O~7U桟μʝ\->8s "DMyŽ eXa.;.Qjm D4ɉ'\ۼ|]WJ:.{~ԶmgˆMЏuu({tCga"=c3=>+R W$ "Љ~\RnZtw7ctXO8e!9ܽǷ~+hsYRߍA)[X 1<8'Fƛ^N/.6vp "Lt DU /O|c/eoD)y|+ IJrn ]n:O J89.#f6_@l?MW%t/;=BͺWZnly//bMǃw $*hbܷf߭P(8}lț-yǼyyv>@ʛӢIENDB`geany-plugins-1.27/scope/data/RunToCursor.png0000644000175000017500000000136412671261352021521 0ustar00frlanfrlan00000000000000PNG  IHDRasRGBbKGD pHYs  tIME$)ͲBtIDAT8ˍ[HTQsf ea b.>tB6E`$EZZEL L*29q{05I7ᇽ6{}k_֔Rty47(t|‘09+q>'7:ku5Gz|/@ ӘdLx+_-&i~!(/o@9PL;KnF% >-)%zk2b #a #=60"K_ 12xxQ=0X-F}JOg' q`CݘC`xٻ6c&-cBw8S-^ގa.pӎ2[ B,S)MӴzw;nW;YҸ cdn9lW قxgFRJ4M i{ocV2KIHL4Mt]EJ1԰Ro {*/ ֑֢Z֢s뢟5e$$&pRgf'qqqѢR֓63=6*X,u)ԔKt~?-;=X~\IENDB`geany-plugins-1.27/scope/data/scope.glade0000644000175000017500000055347212671261352020671 0ustar00frlanfrlan00000000000000 99999 10 100 99999 10 100 99999 10 100 True gtk-open 1 True Continue.png True RunToCursor.png True RunToMethod.png True StepInto.png True StepOver.png True StepOut.png True Kill.png True gtk-execute 1 True gtk-refresh 1 True BreakPoint.png True gtk-jump-to 1 True Pause.png True Kill.png True gtk-jump-to 1 True gtk-add 1 True gtk-add 1 True gtk-jump-to 1 True gtk-edit 1 True gtk-add 1 True gtk-find 1 True gtk-edit 1 True gtk-find 1 True gtk-jump-to 1 True gtk-ok 1 True Continue.png True RunToCursor.png True RunToMethod.png True StepInto.png True StepOver.png True StepOut.png True Kill.png True BreakPoint.png True Continue22.png True RunToCursor22.png True RunToMethod22.png True StepInto22.png True StepOver22.png True StepOut22.png True Kill22.png True BreakPoint22.png True Debu_g True _Setup Program True True program_setup_icon False True Recent _Programs True True _Run/Continue True True debug_run_continue_icon False Run to _Cursor True True debug_goto_cursor_icon False Run to _Source True True debug_goto_source_icon False Step _Into True True debug_step_into_icon False Step _Over True True debug_step_over_icon False Step O_ut True True debug_step_out_icon False _Terminate True True debug_terminate_icon False True Toggle _Breakpoint True True break_toggle_icon False _GDB Command True True scope_gdb_command_icon False True True _More True True _Show Terminal True True _Reset Markers True True _Cleanup Files True gtk-copy True True True gtk-paste True True True True _Feed True gtk-select-all True True True True gtk-clear True True True True True _Window True True _Auto Show True True Auto _Hide True True Show on _Error True gtk-refresh True True True True _Unsorted True True _View Source True True thread_view_source_icon False True S_ynchronize True _Interrupt True True thread_interrupt_icon False _Terminate True True thread_terminate_icon False True _Send Signal True True True S_elect on True True _Running True True _Stopped True True _Exited True True _Follow True True _Columns True True Show _Group True True Show _Core True gtk-refresh True True True True _Unsorted True True _View Source True True break_view_source_icon False Add _Break True True break_insert_icon False Add _Watch True True break_watch_icon False gtk-apply True True True True Apply on _Run True gtk-delete True True True gtk-refresh True True True True _Unsorted True True _View Source True True stack_view_source_icon False True S_ynchronize True True _Show @entry True True True Show _Address True gtk-refresh True True True True _Unsorted True True gtk-copy True True True _Modify True True local_modify_icon False _Watch True True local_watch_icon False _Inspect True True local_inspect_icon False True _8-bit mode True True _Default True True _7 bit True local_hb_default True _Locale True local_hb_default True _UTF-8 True local_hb_default True _Show .names True gtk-refresh True True True True _Unsorted True True gtk-add True True True gtk-copy True True True _Modify True True watch_modify_icon False _Inspect True True watch_inspect_icon False True _8-bit mode True True _Default True True _7 bit True watch_hb_default True _Locale True watch_hb_default True _UTF-8 True watch_hb_default True _Show .names True gtk-delete True True True gtk-refresh True True True True R_ead True True memory_read_icon False gtk-copy True True True gtk-clear True True True True True _Group by True True _1 True True _2 True memory_group_1 True _4 True memory_group_1 True _8 True memory_group_1 gtk-copy True True True gtk-select-all True True True True gtk-clear True True True gtk-refresh True True True True False _Jump To True True gtk-add True True True gtk-edit True True True True _Apply True True _Expand True gtk-copy True True True True _Format True True _Natural True True _Decimal True inspect_format_natural True _Hex True inspect_format_natural True _Octal True inspect_format_natural True _Binary True inspect_format_natural True _8-bit mode True True _Default True True _7 bit True inspect_hb_default True _Locale True inspect_hb_default True _UTF-8 True inspect_hb_default gtk-delete True True True gtk-refresh True True True True gtk-copy True True True True _Format True True _Natural True True _Hex True register_format_natural True _Decimal True register_format_natural True _Octal True register_format_natural True _Binary True register_format_natural True _Raw True register_format_natural True True _Query True True Debu_g True True _Evaluate/Modify True True _Watch Expression True True _Inspect Variable True False False False False False False False False False True 100 True False True True True True True automatic True False True True automatic automatic True True thread_store True True Id 0 0 True Pid 3 3 True Gid 4 4 True State 5 5 True File True 1 6 True Line 2 True Function True 7 7 True Address 8 8 True Target Id True 9 9 True Core 10 10 1 True Threads 1 False True True automatic automatic True True break_store True True Type 4 4 True Id 0 0 True 5 5 True Location or expr True 15 6 True Address 8 8 True Times 9 9 True Ignore 10 10 True Condition True 11 11 True Script True 12 12 2 True 2 False True True automatic automatic True True stack_store True # 0 0 True File True 1 3 True Line 2 True Function True 4 4 True Arguments True 5 5 True Address 6 6 3 True Stack 3 False True True automatic automatic True True local_store True 5 5 True Name 0 0 True Value True 1 1 4 True Locals 4 False True True automatic automatic True True watch_store True True 6 6 True Expression 0 0 True Value True 1 1 5 True Watches 5 False True True automatic automatic True True memory_store False False True 0 True 1 True 2 6 True Memory 6 False True True automatic 7 True 7 False True True 3 0 True True 0 in True True automatic automatic True True inspect_store False False True autosize 5 True True 1 True True 0 in True True automatic automatic True register_store False False True autosize 4 True True 1 True normal True vertical True 6 vertical 6 True 0 Enter gdb command: command_view 60 False False 0 True vertical True 0 in True True automatic automatic True True char False 0 True command_store 60 0 False False 1 1 Convert _UTF-8 to locale True True False True True True False False 2 1 True end gtk-close True True True True False False 0 _Thread True True True True False False 1 _Group True True True True False False 2 _Frame True True True True False False 3 _Send True True True True command_send_icon True False False 4 False end 0 command_close command_thread command_group command_frame command_send Setup Program True normal True vertical True 6 vertical 9 True True True 6 vertical 9 True 6 True 0 _Executable: True program_executable_entry False False 0 True True True 60 1 True True True True gtk-open False False 2 False False 0 True 6 True 0 _Arguments: True program_arguments_entry False False 0 True True True 60 1 False False 1 True 6 True 0 0 En_vironment: True program_environment False False 0 True 0 in True True automatic automatic True True False 1 2 True 6 True 0 _Working dir: True program_working_dir_entry False False 0 True True True 60 1 True True True True gtk-open False False 2 False False 3 True 6 True 0 _Load script: True program_load_script_entry False False 0 True True True 60 1 True True True True gtk-open False False 2 False False 4 True 12 Auto _run program/exit gdb True True False True True False False 0 _Non-stop mode True True False True True False False 1 False False 5 True 6 _Temporary breakpoint on load at: True True False True True False False 0 True False True True 1 False False 6 True 6 _Delete all breakpoints, watches, inspects and registers True True False True True False False 0 False False 7 1 True Program 1 False True 6 vertical 9 True 0 none True 12 True 2 True 6 True 0 Open on False False 0 g_db load True True False True True True False False 1 p_rogram start True True False True True True False False 2 False False 0 True 6 Update all _views True True False True True True False False 0 1 True <b>Panel</b> True False False 0 True 0 none True 12 True 2 True 6 True 0 Default 8-bit text mode: False False 0 _7-bit \nnn True True False True True True False False 1 _Locale True True False True True True option_high_bit_mode_7bit False False 2 _UTF-8 True True False True True True option_high_bit_mode_7bit False False 3 False False 0 True 6 True Display False False 0 _member True True False True True False False 1 True and False False 2 _argument True True False True True False False 3 True names False False 4 True True True none True False False 5 False False 1 True <b>Values</b> True False False 1 True 0 none True 12 True 2 True 3 E_xpand on apply True True False True True True False False 0 True 9 True 0 S_how True option_inspect_count False False 1 True 3 True True True 7 option_inspect_count_adjustment 1 True False False 2 True 0 children False False 3 False False 0 True <b>Inspect</b> True False False 2 True 0 none True 12 True 2 True 6 Show =li_brary messages True True False True True True False False 0 Show _tooltips True True False True True True False False 1 False False 0 True <b>Others</b> True False False 3 2 True Options 2 False 0 1 True end _Import True True True True False False 0 gtk-cancel True True True True False False 1 gtk-ok True True True True True False False 2 False end 0 program_import program_cancel program_ok True normal True vertical True 6 vertical 6 True 0 Enter assignment expression: modify_value 60 False False 0 True 0 in True True automatic automatic True True char False 1 1 True end gtk-cancel True True True True False False 0 gtk-ok True True True True True False False 1 False end 0 modify_cancel modify_ok Inspect True normal True vertical True 6 vertical 6 True True 6 True 0 Object: False False 0 True True True 40 1 False False 0 True 6 True 0 Name: False False 0 True True True 15 - 1 True 0 Frame: False False 2 True True True 20 @ 3 False False 1 True 6 _Apply on run True True False True True True False False 0 False False 2 1 True end gtk-cancel True True True True False False 0 gtk-ok True True True True True False False 1 False end 0 inspect_cancel inspect_ok Expand True normal True vertical True 6 vertical 6 True True 6 True 0 Start: False False 0 True True True expand_start_adjustment 1 True 1 True 0 Count: False False 2 True True True expand_count_adjustment 1 True 3 False False 0 True 6 _Expand on apply True True False True True True False False 0 False False 1 1 True end gtk-cancel True True True True False False 0 gtk-ok True True True True True False False 1 False end 0 expand_cancel expand_ok Program Terminal True True automatic True True False char 2 2 True Debug True Inspect True Registers geany-plugins-1.27/scope/data/Kill.png0000644000175000017500000000057412671261352020151 0ustar00frlanfrlan00000000000000PNG  IHDRasRGBbKGD pHYs  tIMEiϯIDAT8˥J@K_Çŕ.S ܻ ćp/}ϽJ'AH0|?_]SOf׷oG _Al "1:/ nO]Vݿ Ǔe}Æ1@"QKǹLRf_>2M?Jl*ߺ_p, Pe)"(,"-ITyy팪3:`IENDB`geany-plugins-1.27/scope/data/Pause22.png0000644000175000017500000000204412671261352020471 0ustar00frlanfrlan00000000000000PNG  IHDRĴl;sRGBbKGD pHYs  tIMETXIDAT8ˍKlU?#`u)iihBX`U! A +ء uê Q! DT@UP jiIƏĸ׏x,l'\|ΝsG`8 mgN7Z_?~U_ x<{c~* XRO^ʸ-Noq́W@W0 $@ذ;R&9u_?S%>98 1Wk YJCw~?r*<7`û<>; vI|~?K&^*Jwsi>h\;Nn ݘUM@ա_rntir+UUּT._hRp\JJ]Hg7ֵ,䊌J**ITT( $W GbȲ,d,&!-,˄#1"scS\ҥpLΞxw6kKY춖<2,4'D$UC)>. wMmm.\xd6ƥLӟaD.dvb>t0 :HV.ZZa$3q{_ns  = x,/R@`؁p;Q e \v #W(?-&t<N/lI$UTx7I3a8v j%U+#IENDB`geany-plugins-1.27/scope/NEWS0000644000175000017500000000530112671261352016327 0ustar00frlanfrlan00000000000000Scope 0.94 (2015-10-01): * Better GDB I/O based on Geany spawn, consequently removed gdb_buffer_length, gdb_send_interval and gdb_wait_death. To leave the Windows console open on program termination, set breakpoints at ExitProcess / TerminateProcess. Geany 1.25+ required. Scope 0.93.2 (2014-02-13): * Remember the total (initial) breakpoint ignore count and restore it on each run. Saving the current (remaining) value across restarts was not very useful. Scope 0.93.1 (2014-01-06): * Show breakpoint origin in the type column, with tooltip. * Show catchpoint condition (depends on the gdb version). * Apply any unapplied breakpoints/inspects marked as "Apply on run" on each run (only important if "Auto run/exit" is off). Scope 0.92 (2013-09-07) * Better support for Geany message window on right, but don't expect miracles. * Apply VTE and Debug panel position preferences immediately. Scope 0.91.2 (2013-07-25) * Fixed various errors on plugin unload-and-reload. Scope 0.91.1 (2013-07-11) * (Un)Block toolbar Toggle Breakpoint when saving a document or switching to another document. * Added F77 to the list of gdb-supported source file types. Scope 0.91 (2013-07-05) * Better support for float frame Inspect variables. * Unified and documented the Watch/Memory/Inspect update policy. Scope 0.90 (2013-06-24) * Added Registers next to Inspect. * Display win32 error texts instead of codes. * Changing the thread/frame honours "Update all views". Scope 0.89 (2013-05-17) * Small fixes and improvements. This should be the last version before a Registers view is added. Scope 0.87 (2013-04-14) * Performance improvements for large Inspect tree and large number of Threads, Breakpoints etc. * Added GTK+ 3 support. * Removed the stash_tree based scope configuration page in Edit -> Plugin Preferences - required a patched Geany. Scope 0.82 (2013-01-15) * Added Memory subpage. * Fixed compatibility with glib-2.20. Scope 0.80 (2013-01-02) * Mark all data views for update when a value is modified. Simpler and more reliable; generates a bit larger gdb traffic. * Select, focus and align tree elements as needed instead of simply selecting. Scope 0.79 (2012-12-27) * Easier sync between Scope/GDB thread/frame. Scope 0.78 (2012-12-23) * Added option "keep_exec_point" to keep the execution point marker and Threads location column when a thread execution is resumed. Scope 0.77 (2012-12-16) * Support for " and \ in evaluate expressions. Scope 0.76 (2012-12-13) * Per-function display of @entry arguments. geany-plugins-1.27/scope/docs/0000755000175000017500000000000012671261444016563 5ustar00frlanfrlan00000000000000geany-plugins-1.27/scope/docs/Makefile.in0000644000175000017500000004775012671261403020640 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = scope/docs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_pluginhtmldoc_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(pluginhtmldocdir)" DATA = $(dist_pluginhtmldoc_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/vars.docs.mk DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ plugindocdir = $(docdir)/$(plugin) htmldocdir = $(plugindocdir) plugindatadir = $(pkgdatadir)/$(plugin) pluginlibdir = $(pkglibdir)/$(plugin) examplesdir = $(plugindatadir) plugin = scope pluginhtmldocdir = $(plugindocdir)/html dist_pluginhtmldoc_DATA = \ scope.html \ codes.html all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.docs.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign scope/docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign scope/docs/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.docs.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_pluginhtmldocDATA: $(dist_pluginhtmldoc_DATA) @$(NORMAL_INSTALL) @list='$(dist_pluginhtmldoc_DATA)'; test -n "$(pluginhtmldocdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(pluginhtmldocdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(pluginhtmldocdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pluginhtmldocdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(pluginhtmldocdir)" || exit $$?; \ done uninstall-dist_pluginhtmldocDATA: @$(NORMAL_UNINSTALL) @list='$(dist_pluginhtmldoc_DATA)'; test -n "$(pluginhtmldocdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pluginhtmldocdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(pluginhtmldocdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_pluginhtmldocDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_pluginhtmldocDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_pluginhtmldocDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dist_pluginhtmldocDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/scope/docs/codes.html0000644000175000017500000002534612671261352020556 0ustar00frlanfrlan00000000000000 Codes
      command sent by receive action
         
      010-file-exec-and-symbols program startup same as 011 if no run script, otherwise nop
      011source program startup apply breaks/inspects, send autorun commands
         
      020<scid>-break-enable check break enabled column set breakpoint enabled column, remark breakpoint
      021<scid>-break-disable uncheck break enabled column set breakpoint enabled column, remark breakpoint
      022<id>-break-after breakpoint Ignore column edited 022-break-info <id>
      023<id>-break-after run program if ignore != [ignore] 022-break-info <id>
      023<id>-break-condition breakpoint Condition column edited -break-info <id>
      023<id>-break-commands breakpoint Script column edited -break-info <id>
      024<id>-break-delete Delete or un-Toggle breakpoint remove breakpoint from the list or clear id
      022-break-info see 022<id>-break-after load break info and set [IGNORE] count
      02-break-list Refresh breakpoints full breakpoint list refresh (without token is partial)
      02-break-insert -t Temporary breakpoint on load at mark for discard
      020-break-insert -t Run to Cursor in scope mode mark for discard and -exec-continue
      02<scid>-break-insert/watch Apply watch, initial break apply send watch ignore, condition and break/watch script
      025<id>-break-delete re-Apply breakpoint (obsolete) apply breakpoint (after being deleted in gdb)
      02-thread-info Synchronize threads refresh threads & select the current gdb thread
      02<tid>-stack-list-frames Refresh stack clear stack list and load stack frames into it
      02<tid>-stack-list-arguments Refresh stack fill stack Arguments column
      02<tid>-stack-info-frame Syncronize stack select the current gdb frame
      02<fid>-stack-list-variables Refresh locals clear locals list and load local variables into it
      02-data-list-register-names Query register names 029<fid>-data-list-register-values <all>
      029<fid>-data-list-register-values Refresh registers, see prev line update register values
      02<f><fid>-data-list-register-values change register Format update register value and/or format
      02<scid>-var-evaluate-expression Refresh inspects update inspect value
         
      03<scid>-data-evaluate-expression tooltip hover display tooltip or process error
         
      04-break-list views idle update same as 02
      04-thread-info <id> thread created -> fetch target id load thread info into list
      04-thread-info views idle update (partial) thread list refresh
      04-data-disassemble views idle update (print instruction in debug console)
      040-var-update views idle update (partial) inspects update
      041-var-update Refresh inspects (prepare gdb for -var-evaluate-expression)
      04<tid>-stack-list-frames views idle update same as 02
      04<tid>-stack-list-arguments views idle update same as 02
      04<fid>-stack-list-variables views idle update same as 02
      04-data-read-memory-bytes views idle update fill Memory with data
      04<tid>-stack-info-frame at stopped thread without address fill the thread columns
      04<fid>-data-list-changed-registers views idle update 049<fid>-data-list-register-values <changed>
      049<fid>-data-list-register-values views idle update, see prev line same as 02
      04<scid>-var-evaluate-expression views idle update same as 02
         
      05 gdb startup if autorun -exec-run if active breaks & no errors
      05 after temp break insert location same as above
      05 after temp break insert 1st loc same as above
      05-list-features first time gdb startup check for breakpoint-notifications
         
      06<scid>-data-evaluate-expression watch Add, Refresh set watch Value column to value or error
         
      07-list-target-features each gdb startup check for async
      07<scid>-var-create auto/manual inspect Apply set format if non-native, expand if automatic
      07<scid>-var-set-format change inspect Format update inspect value and format
      07<start><scid>-var-list-children auto/manual Expand inspect insert children, set range if needed
      07-var-assign inspect Value column edited mark data views as dirty
      07-gdb-set local Modify / Value column edited mark data views as dirty
      07-gdb-set watch Modify / Value column edited mark data views as dirty
      07-data-write-memory-bytes memory hex values column edited mark data views as dirty
      070<scid>-var-delete un-Apply inspect, invalid variable delete all children, clear columns
      071<scid>-var-delete Delete inspect remove inspect from the tree
         
      08<scid>-data-evaluate-expression popup Evaluate/Modify command dialog with -gdb-set var expr=value

      <scid>internal id assigned by scope
      <id>gdb id
      <tid>selected thread id
      <fid>selected thread and frame id: <length of thread id - 1><thread id><frame id>
      geany-plugins-1.27/scope/docs/Makefile.am0000644000175000017500000000023012671261352020610 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.docs.mk plugin = scope pluginhtmldocdir = $(plugindocdir)/html dist_pluginhtmldoc_DATA = \ scope.html \ codes.html geany-plugins-1.27/scope/docs/scope.html0000644000175000017500000010327712671261352020572 0ustar00frlanfrlan00000000000000 Scope

      Scope

      A relatively simple GDB front-end

      "We are like dwarfs sitting on the shoulders of giants."
      -- Bernard of Chartres


      Contents


      About

      Scope is a graphical GDB front-end with the normal functions you would expect (stepping, breakpoints...), and a few notable features:

      • The entire comminication between Scope and gdb is asynchronous.
      • You can enter any gdb command, at any time (of course, for the command to be executed, gdb must be[come] available).
      • All gdb I/O (along with some other messages) is displayed in a terminal-like "Debug Console".
        Whenever you find the GUI lacking, simply switch to that console and work directly with gdb.
      • 7-bit/Locale/UTF-8 support for values.

      Scope is currently implemented as a Geany plugin.

      "Source files" refers to the file types supported by gdb: C/C++, D, Objective C, Fortran, Java, Pascal, Assembler and Ada (ATM).

      Trivial topics that require neither description nor comment are not included in this document.


      Requirements

      Geany 1.25 or later and the respective libraries.

      GDB 7.3 or later.

      *nix only: VTE library.

      Windows only: XP or later.

      GDB manual (recommended).


      Quick start

      From the main Geany menu, invoke Debug --> Setup Program (or Tools --> Debug --> Setup Program, if there's no Debug in the main menu).
      Choose some small executable file compiled with gdb debug information.
      Check Temporary breakpoint on load at and press OK.
      Invoke Debug --> Run/Continue.

      If everything went all right, several things will happen:
      - A colored Load label will appear shortly on the right of Geany status bar
      - The message window will be shown (if hidden) and the Debug page will be focused
      - The cursor will be positioned at the first line of code, opening the corresponding source file if neccessary
      - The first line of code will be marked with brown arrow in the markers margin, or with brown background
      - All source files will be marked as read-only (their tab text will become green)
      - The Load label will be replaced with a color-less Debug.

      That's it, you are debugging. Try the other Debug menu commands, select the Debug subpages from the lower Geany panel etc.


      Interface

      Consists of:

      • Debug menu in the main Geany menu, containing the most commonly used commands (running, stepping, toggle breakpoint etc.)
        If Scope can't access the main menu, it'll place Debug under Tools.
      • Debug page in the lower panel, with subpages that display the program output, threads, breakpoints etc.
      • Inspect and Registers pages in the side panel.
      • Local menus for the Debug subpages, Inspect and Registers.
      • Toolbar items - identical to their Debug menu counterparts.
      • Command Dialog - to enter gdb commands. Will be closed automatically if gdb exits.
      • A small label on the right of your Geany status bar, which displays the current debugging state. The possible states are:
        (no label)[N]Not debugging.
        Busy[B]Scope and/or gdb is busy. Any debugging information may be outdated.
        Ready[R]GDB is ready to accept commands, but there is no thread selected, or the currently selected thread is running. The execution and stack-related commands will be disabled. Other commands may fail to execute, depending on your target.
        Debug[D]A stopped thread is selected, and gdb is ready to accept commands. This is the normal debugging state.
        Assem[D]Like Debug, but the source location can not be determined. The stepping menu commands will do assembler steps, and the current assembler instruction will be shown in the debug console each time the thread is stopped.
        Hang[H]GDB is loaded, but the program is not started yet, or is already terminated. Scope will automatically switch to this state in some situations.
        (blinking)Loading a program, signal received, error parsing gdb output etc.
        The bracketed letters are used to indicate the states supported by a command. For example, [RH] means "available in Ready and Hang states only". Debug and Assem are almost identical in this aspect and share [D].

      Debug menu

      Setup Program

      You can use non-existent Executable, Working dir and Run Script, and create them later.

      Arguments are in gdb syntax.

      Environment is one varname=value per line.

      Load script is a gdb script, executed when gdb is loaded. May be used to setup the program. If no Executable is specified, Scope will assume that the script, if any, loads the program.

      Auto run program/exit gdb - with this box unchecked, the first Run/Continue will load and setup the program without running it, and when the program terminates, gdb will not be unloaded. Useful if you want to run a program several times without reloading, for example to run it unmodified with different sets of input data.

      Non-stop mode - gdb non-stop mode. You'd better activate gdb asynchronous mode from Scope preferences to take advantage of this.

      Temporary breakpoint on load at - set a temporary breakpoint when the program is loaded. If you leave the text field empty, Scope will try to find the 1st line of code and place a breakpoint on it. Any breakpoint options and location are allowed in the text, for example main for C/C++ programs. Since setting a breakpoint requires a program, this option will be disabled if both Executable and Load script are empty.

      Delete all breakpoints, watches and inspects - usually when setting up a new program. Scope will ask for confirmation.

      Update all views - update all relevant debug subpages when the current thread stops, or a different thread is selected. By default, only the current subpage is updated.

      Using Locale text mode requires the same code page for Geany/Scope and the program being debugged.

      Unchecking Display member and argument names or using Name=value are not guaranteed to work; single-quoted strings ending with backslash will fail. GDB "set print" commands also affect display.

      Import - get Executable and Working dir from the second Geany Execute command (from Tools -> Set Build Commands).

      When you start Geany, or open/close a project, Scope will try to load the debugging settings for a program that matches the second Execute command, if any [N]. The command will not be expanded. Letter case will be ignored under Windows.

      Run/Continue [NHD]

      Not debugging state (first run):
      - Load and setup gdb
      - Load the Executable and execute the Load script, if any
      - If an executable and/or a load script was processed, and there were no errors so far:
      • apply any points and inspects marked as Apply on Run and create the Temporary breakpoint on load
      • run the program if Auto run/exit is checked, at least 1 breakpoint was applied, and there weren't any errors.

      On errors, Scope will enter Hang state, letting you execute commands manually, and fix or recreate any points or inspects if needed.

      Hang state: try to apply any unapplied points or inspects marked as Apply on Run, and -exec-run despite any errors.

      Debug/Assem: -exec-continue.

      Run to Cursor [D]

      scope_goto_cursor=0: -exec-until with the current filename:line
      scope_goto_cursor=1: set temporary breakpoint at the current position and -exec-continue.

      Run to Source [D]

      Assem state only: -exec-step. See gdb step description.

      Step Into / Step Over [D]

      Debug state: -exec-step / -exec-next.
      Assem state: -exec-step-instruction / -exec-next-instruction.

      Terminate [^N]

      Busy state: terminate gdb, even if Auto Run/exit is unchecked.
      If you want to terminate the program without unloading gdb, switch to Threads and invoke Terminate or Send Signal.

      Debug or Ready state with Auto Run/Exit off: (gdb) kill.

      Otherwise: -gdb-exit.

      GDB Command [^N]

      Commands starting with 0<digit> are used internally by Scope and will be blocked.

      Both MI and CLI commands are supported.

      Scope tries to keep track of the current gdb thread, and to emit a -thread-select command on Send/Busy if the gdb thread does not match the one (if any) selected in Threads. Tracking the current gdb frame asynchronously is impossible, so you must use a gdb frame selection command or --frame for the non-zero frames.

      Writing a full combo box for multi-line text is outside the scope of this project.

      Reset Markers

      Synchronize the breakpoint and execution point markers for the current file with the Scope data. They can become out of sync if you Save as a file with markers, set a source file type to non-source and edit it, and possibly in other situations.

      Cleanup Files

      While debugging a program, Scope will automatically open the source files required to show the current execution point(s). This command closes such files.

      Debug panel

      The sort orders and column widths are not saved. However, the breakpoints and watches are saved in their current order.

      Sorting by file name (including breakpoint location) uses the full locale name, so the order may be different from the displayed UTF-8 base names.

      Program Terminal (*nix only)

      Will be disabled if a pseudo-tty can not be created.

      May be displayed either in a Debug panel tab or as a separate window.

      Window:
      Auto showSwitch to separate window display on program startup (when the first thread is created).
      Auto hideSwitch to Debug panel tab display on program shutdown (when the last thread is exited).
      Show on ErrorSwitch to separate window display when a thread group is exited with a non-zero status.
      Not reliable if combined with Auto Hide on multi-thread-group programs.

      Threads

      The thread list is updated by asynchronous gdb messages. Normally you should not need to refresh it, and Refresh won't append or remove threads, only update the current ones.

      Synchronize - refresh and select the current gdb thread. Shift-click: -thread-select.

      Interrupt - *nix: SIGINT, win~1: DebugBreakProcess.

      Terminate - *nix: SIGTERM, win~1: TerminateProcess.

      Both Interrupt and Terminate require an extra Step deliver a signal/*process to a stopped thread, and an extra Step to terminate a process.

      Select on:
      RunningSelect a stopped thread (if any) when the current thread becomes running. Useful when starting/stopping lots of threads, but may be annoying in other situations - for example, if you are single-stepping a thread, and another stopped thread exists, it'll be selected on each step.
      StoppedSelect a thread when it stops (if there is no stopped thread already selected).
      ExitedSelect a stopped thread (if any) when the current thread is exited.
      FollowFollow gdb =thread-selected. It'll be better to clear the other options.

      Breakpoints

      There is no dialog for adding/editing breakpoints. You can use Debug -> Toggle Breakpoint, edit the Ignore, Condition and Script columns, or invoke Add Break / Add Watch [HRD], which brings up the command dialog.

      Breakpoints created with MI commands are kept in the list permanently. When a temporary MI breakpoint is hit, it's Id column is cleared. Toggle breakpoint, Add Break and Add Watch use MI commands.

      Breakpoints created with CLI commands (from scripts or GDB Command) are removed when the program is unloaded. When a temporary CLI breakpoint is hit, it's removed. If a MI command produces none or invalid output, and the breapoint appears later (from Refresh or async message), Scope will consider it CLI.

      Scope remembers the total (initial) ignore count, and re-applies it on each run. When a breakpoint is applied, Ignore shows the current value, followed by the total value surrounded in brackets. On gdb 'ignore' (or -break-after followed by refresh), the total value will be set only if the new count is larger: there is no way to tell whether a smaller count resulted from a command execution or breakpoint hit(s). Edit the Ignore column to set a smaller count.

      The above paragraphs apply to watchpoints and tracepoints as well.

      Due to MI limitations and deficiencies:
      - The catchpoints are displayed incompletely and removed on program unload
      - Disposition "dis" is ignored, and "del" (i.e. temporary) is saved for break and trace points only
      - The difference between software and hardware watchpoints is ignored, but gdb will create hardware watchpoints as needed.

      For tracepoints, only the generic breakpoint commands and attributes are supported (with ignore for passcount), not the tracepoint-specific commands.

      Apply on run is off by default for watchpoints, because they are often related to a local expression.

      Shift-clicking Apply applies the breakpoint for the currently selected thread only, if any.

      GDB may report an error for invalid Condition and/or Script, but still accept them, and continue to emit errors each time they are evaluated.

      The breakpoint line markers, View Source and double-click use the last known file name and line, as displayed in Location or expr. They may change when a breakpoint is applied or resolved.

      With gdb 7.4 and later, the breakpoint list is updated by asynchronous gdb messages (except for async_break_bugs). Use Refresh to fully refresh it.

      Condition, Script and watchpoint expr use the default 8-bit text mode.

      For multi-address breakpoints, the individual locations are not loaded or saved, and are deleted as soon as the program is unloaded, so you may prefer to turn Auto run/exit off when using them. When a breakpoint is disabled, GDB treats all it's locations as disabled, despite their individual state. However, with at least one enabled location for a file:line, the marker for enabled breakpoint will be used for that line.

      Stack

      The function arguments are subject to 8-bit text conversion. Their individual modes may be set via Locals.

      Synchronize - select the current gdb frame. Shift-click: -stack-select-frame.

      Show @entry - display any @entry arguments reported by gdb for the selected frame function. Depends on GDB "print entry-values". Applies to Locals too.

      Locals

      The first column is "1" for arguments, empty for local variables.

      Watches

      This is a flat list of expressions, evaluated each time the current thread stops or changes (subject to Update all views), in the context of the current thread and frame. Unlike Inspect, any gdb-evaluatable expressions may be used, and there is no need to apply them.

      Locals/Watches

      Modify is useful for setting individual array / structure elements.

      Shift-clicking Modify displays strings as "TEXT" instead of 0xADDR, and characters as 'C' instead of VALUE (see Editing values).
      Any char[] arrays will still be displayed as arrays.

      Show .names - display member names. Shift+Click resets it to the value specified in Setup Program.

      Memory

      Group by is for visual convinience only and ignores endian.

      Groups are not wrapped, so with Group by > 1, less than memory_line_bytes may be displayed.

      A maximum of 16K may be displayed (128 lines * 128 bytes).

      Debug Console

      Redgdb stderr (or sometimes exec) error messages
      Graynormal gdb messages
      Cyancommands send to gdb
      MagentaScope messages, mostly parsing errors

      Typing a graphical ascii character or pressing Insert brings up the command dialog.

      Note that whether the last displayed line is a gdb prompt is not a proper indicator if GDB is ready to receive commands. For example, in synchronous mode, GDB displays a prompt immediately resuming the program execution; or the prompt may be followed by asynchronous messages. The Scope state (Busy, Debug etc.) is more accurate.

      Windows console

      Displayed automatically by Windows when starting a Windows console program, and closed automatically when the program terminates. To leave the console open on program termination, set breakpoints at ExitProcess / TerminateProcess.

      Side pages

      Inspect

      -var-* commands entered from the command line will not update the Inspect view, because their output does not provide enough information to identify the variable object, and/or their PRINT-VALUES argument is unknown.

      Jump To lists the top-level variables, which is useful if you have a lot of children displayed. It's disabled while gdb is inactive, because all variables are collapsed anyway.

      Double-click or Return applies/unapplies a variable.

      Add will try to apply the variable object immediately, Edit will not. Apply on run is off by default, because the variables are often local.

      Expand is primary to change the expansion options. After a variable is applied, you can expand it simply by using the keyboard or mouse, like with any other gtk+ tree.

      The command "echo ^(Scope)#07name" will try to apply the variable name. You can include such commands in your breakpoint scripts. The name must start will a letter ("-" will not do).

      When modifying variables, gdb interprets "TEXT" as the identifier TEXT.

      The format and 7-bit mode are saved only for the top-level variables, not for children (but see Keeping modes).

      Registers

      Scope will query the register names once after a program is loaded, or when the gdb executable is changed. If you switch to a different architecture, but your gdb name remains the same, invoke Query from the local menu.

      Preferences

      Once again, trivial items are not included.

      [scope]

      async_break_bugs (win~1 only) - whether gdb escapes slashes twice in the asynchronous break messages. if true (the default), only =breakpoint-deleted will be handled.

      var_update_bug - whether -var-update causes internal gdb error if the program is loaded but not running. If true (the default), the update of inspect expressions (including Refresh) will be disabled in Hand state. AFAIK, they will always have the globally initialized values (if any) in that state anyway.

      auto_view_source - seek in source on single click in threads, breakpoints and stack.

      keep_exec_point - do not clear the execution point marker and Threads location columns when a thread execution is resumed.

      visual_beep_length - hundreds of seconds to flash the state label on Scope errors. Default = 25.

      debug_console_vte (*nix only) - use vte terminal for the debug console. The alternative is a GtkTextView based console, which has a few quirks, but consumes less CPU power. That can be useful if you use the console a lot, and have a slow CPU or a limited power supply. The win~1 version of Scope always uses GtkTextView.

      sci_marker_first - Scope uses markers 17..19 by default; they may be changed to avoid conflicts with other plugins.

      sci_caret_policy, sci_caret_slop - Scintilla Y caret policy when moving/scrolling to show the current execution point (does not affect the normal navigation and editing). Default policy = CARET_SLOP | CARET_JUMPS | CARET_EVEN, slop = 3.
      See ScintillaDoc.html#SCI_SETYCARETPOLICY and Scintilla.h for more information.

      unmark_current_line - disable the current line highlighting while debugging. Useful if the current line background covers the breakpoint or execution point backgrounds. Affects the source files only.

      seek_with_navqueue - use Geany navqueue when seeking in source.

      panel_tab_pos - see GtkPositionType. Some tab names will be shortened in Left and Right.

      show_recent_items - number of items to display in Debug --> Recent Programs. Default = 10, maximum = 28. Note that Scope will always keep the settings for the last 28 programs; on project open/close and Geany startup, settings which are not visible in the menu may be loaded.

      show_toolbar_items - bitmask: 1 = Run/Continue, 2 = Goto Cursor, 4 = Goto Source, 8 = Step Into, 16 = Step Over, 32 = Step Out, 64 = Terminate and 128 = Toggle Breakpoint.

      tooltips_fail_action - 1 = blink on tooltip evaluate errors, 2 = display them as tooltips.

      tooltips_send_delay - increase this setting to reduce the CPU time and GDB traffic used by the tooltips, or decrease it if they appear slower than your gtk+ setting.

      pref_tooltips_length - maximum length of a tooltip message, 0 = unlimited. Default = 2048.

      memory_line_bytes - maximum bytes per Memory line.

      [terminal] (*nix only)

      width, height - VTE widget (not the entire terminal window) size

      save_pos - auto save window position and widget size

      padding - whether width and height include the extra VTE widget padding. If save_pos is active, they will be saved with the padding.

      [disabled_break], [enabled_break], [execution_line]

      mark - Scintilla mark. See Scintilla.h: SC_MARK_.

      Notes

      Changes in Geany VTE preferences will be applied when Scope is restarted.

      Locale/UTF-8 conversion is fully supported for values only. Filenames not matching your locale and non-ascii identifiers are not guaranteed to work.

      When editing a column while the program is running, it's value will be updated after/if the respective gdb command is executed.

      If you use multiply Geany instances with session management, make sure that only one of them has Scope enabled. Otherwise, the list of programs and their settings may break.

      A disabled check button or check menu item means that the respective functionality is unavailable; it doesn't matter if the interface element is checked or not.

      Frame-dependent commands entered from the command line will not update the respective view, because their output does not contain thread and frame information.

      Editing values

      GDB often displays values in format unsuitable for assigning. So when editing a value, Scope will try to:
      - Cut any member names, because set foo = { i = 4, c = 'x' } actually means i = 4; c = 'x'; foo = {4, 'x'}
      - Cut any array indexes
      - Cut 0xADDR "TEXT" to 0xADDR. Leaving both is invalid, and "TEXT" always creates a new string pointer
      - Cut VAL 'C' to VAL. Again, leaving both is invalid
      - Detect <repeats, <optimized etc. and clear the entire value if editing via the Value column
      - Convert char[] arrays displayed as string to character array, because a string always includes a trailing '\0', so a char[4] may be displayed as "TEXT", but can not be assigned like that.
        Note that UTF-8 texts will be converted to 8-bit character arrays.

      Of course, you can still enter a "TEXT" or a 'C'haracter.

      The above steps are not guaranteed to work; in particular, single-quoted strings ending with backslash will fail. If parsing errors are detected when editing the Value column, the entire value will be cleared - but that is not guaranteed to work either.

      Keeping modes

      The 7-bit, .names etc. modes for temporary objects, such as local variables, are not saved. However, there is a global list with names and modes, and when you change a mode, it is saved in that list. Then, when a temporary object is created, Scope searches the list, and sets the modes (if any) for that object. For inspect children, the displayed names are used (including numbers for array elements), not the fully qualified names.

      Shared memory

      Scope does not know which Inspect/Watch expressions are thread and frame dependent, as well as whether the Memory address and range are process/thread dependent, so their handling is a compromise.
      In particular:
      - the values will not be updated if threads exist, but none is selected, or if the selected thread is running
      - for Watches and Inspect, Scope will try to select a frame before sending the update command(s)
      - on a thread or frame change, if the values can not be updated at the moment, they will not be cleared.

      Sample dark colors

      [disabled_break]
      mark=0
      alpha=256
      fore=#008000
      back=#005000
      
      [enabled_break]
      mark=0
      alpha=256
      fore=#0000E0
      back=#000068
      
      [execution_line]
      mark=4
      alpha=256
      fore=#F0F000
      back=#707000
      

      Pre-FAQ

      Questions which are likely to be asked frequently:

      Q. How about tree lists in Locals and Watches?

      A. They operate with the entire struct/array values, so creating tree lists would be completely artificial. Some front ends automatically create/delete gdb variables for the locals as they come into/go out of scope, or even or each step, but I'm not willing to do that. The watches can not be represented with variables (see Watches). So, use Inspect for tree lists.

      Why isn't Interrupt implemented as -exec-interrupt?

      Because it requires a gdb prompt, and see Bugs. Of course, using target-specific functions has it's own drawbacks, but you can always try to send an -exec-interrupt from the GDB command line if you need it.

      Q. Why not leave the member names (array indexes) while editing a value?

      A. They must be removed before sending the value to GDB. Leaving them while editing gives the false impression that you can assign selectively, while in fact omitting a "foo = value," moves all values left by 1, and changing a name or index has no effect.

      Q. A "signal `project-before-save' is invalid" warning is displayed on Geany startup, and an "assertion `handler_id > 0' failed" message on quit.

      A. Your Geany does not support this signal. Either apply the patch from Geany sourceforge patch tracker ID 3594050 and recompile it, or make sure to Terminate the debugged program before quitting Geany or switching to another project. Otherwise, your source files will be marked as read-only when the current project is reopened. Of course, you can awlays unlock them manually (via Document --> Read Only), so it's nothing serious.

      Bugs

      For some reason, -exec-interrupt under Linux (*nix?) signals gdb and Geany, but not the program/thread. The other Geany debugger plugin has the same problem.

      Report bugs to <dimitar.zhekov@gmail.com>

      TODO

      Various tests, source code checks etc.
      Format (natural, decimal...) for Watches?
      Add clear icon to entries? not very useful.
      Don't remove [index] along with member names?
      libtool support / exec wrapper support.

      Not TODO

      "The master programmer knows when to leave things in their simple form."
      -- Eloquent Javascript
      Things that will not be implemented in Scope:
      • Support for debuggers other than GDB
      • "Proper GObject-ification"
      • Combined subpages, such as Nemiver Context
      • GUI for functions that don't really need it.
      • Anything that requires parsing non-MI output.

      Legal information

      License

      Scope is distributed 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.

      Copyright

      Scope 0.94, Copyright (C) 2015 Dimitar Toshkov Zhekov

      The menu and toolbar icons are from Netbeans, except for BreakPoint.

      The End

      geany-plugins-1.27/scope/COPYING0000644000175000017500000004310012671261352016662 0ustar00frlanfrlan00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. geany-plugins-1.27/scope/ChangeLog0000644000175000017500000005165512671261352017417 0ustar00frlanfrlan000000000000002015-10-03 Dimitar Zhekov * docs/scope.html: Small documentation fixes. * src/prefs.c, src/prefs.h: Cleanup the obsolete gdb_send_interval and gdb_wait_death. * src/debug.c, src/debug.h, src/parse.c: Don't say "GDB died unexpectedly" if the user types -gdb-exit. * src/debug.c: Don't display possible binary zeros received from gdb stderr. Fix line read error message for non-MI lines. 2015-10-02 Dimitar Zhekov * src/scope.c: Removed the unused saved_id variable. * src/plugme.h: Removed the #ifndef checks, they don't work with Geany 1.25. * src/common.h, src/plugme.c, src/scope.c: Removed geany_functions, obsolete in Geany 1.25. 2015-10-01 Dimitar Zhekov * src/debug.c: Switched gdb I/O to Geany spawn. No more attempts to send the commands at 50 ms and permanent console under Windows. The gdb buffer size is now 1 MB (no performance penalty for large buffer sizes either), longer lines or ones with '\0' are not parsed. * src/debug.c, src/prefs.c, src/prefs.h, docs/scope.html: Removed gdb_buffer_length, gdb_send_interval and gdb_wait_death preferences. Obsoleted by the new gdb I/O and the fact that spawn sends SIGTERM under *nix, not SIGKILL (though _death was unneeded anyway). * docs/scope.html, src/scope.c: Increased version to 0.94. 2015-04-24 Dimitar Zhekov * data/scope.glade, src/Makefile.am, src/common.h, src/scope.c: Removed support for gtk+ 2.16. * src/gtk216.c, src/gtk216.h: Removed. 2015-04-19 Dimitar Zhekov * README, src/store/scptreestore.c: Removed support for gtk+ 2.16. 2014-06-12 Dimitar Zhekov * docs/scope.html: Small changes in the "Temporary breakpoint on load" description. * src/menu.c, src/scope.c, src/scope.h: Replaced scope find_widget() with Geany ui_lookup_widget(). * src/scope.c: Insert the Debug menu after Build if possible, instead of using a fixed position. * src/scope.c, src/utils.c, src/utils.h: Sync Geany "Document -> [ ] Read only" state of the current document if possible when locking/unlocking it on Run/Terminate. 2014-04-27 Dimitar Zhekov * src/conterm.c: Declare unlockpt() and grantpt() prototypes instead of detecting N kinds of *nix. Taken from the debugger plugin. * src/program.c: Define PATH_MAX if none (for example GNU/Hurd), by Evgeni Golov. 2014-02-17 Dimitar Zhekov * src/store/scptreestore.c: Fixed warning generated by emitting "rows-reordered" for empty brances (g_new() returns NULL for 0 elements). * docs/scope.html, src/scope.c: Increased version to 0.93.2. 2014-02-13 Dimitar Zhekov * data/scope.glade, docs/codes.html, docs/scope.html, src/break.c, src/views.c, src/views.h: Remember the total (initial) breakpoint ignore count and restore it on each run. * docs/codes.html, docs/scope.html: Small changes and clarifications. 2014-01-08 Dimitar Zhekov * src/utils.c: Check whether file from a thread/breakpoint/stack location exists before attempting to open it (gdb 7.6+ includes "fullname" for missing files). 2014-01-06 Dimitar Zhekov * data/scope.glade, src/break.c: Show breakpoint origin in the type column, with tooltip. * data/scope.glade, docs/scope.html: "Temporary breakpoint at" -> "Temporary breakpoint on load at". * docs/scope.html: Some improvements and clarifications. * src/break.c: Remove the "Temporary breakpoint on load" only on unload, not on hit or when resetting the program state. Show catchpoint condition (depends on the gdb version). Support filenames and watch expressions with spaces. * src/break.c, src/debug.c, src/inspect.c: Apply any unapplied breakpoints/inspects marked as "Apply on run" on each run (only important if "Auto run/exit" is off). * src/gtk216.c: Make sort_column_ids[] const. * src/scope.c, src/watch.c: Unify GPOINTER_TO_INT(FALSE) handling. * src/scope.c: Emit a message to Geany log if scope.glade can't be loaded, by Enrico Tröger. Removed static last_statusbar_state, unused since ScpTreeStore dynamic registration. * docs/scope.html, src/scope.c: Increased version to 0.93.1. 2013-10-26 Dimitar Zhekov * src/memory.c: Handle offset (although it seems that gdb just adds it to start). Fix counting for memory block with holes. sscanf() -> g_ascii_strtoull(). * src/prefs.c: Removed an unused structure. 2013-10-12 Dimitar Zhekov * src/debug.c: Fixed a lapsus which prevented gdb stdout resync on overflow. * src/memory.c: Improved re-selection of the current line. * src/memory.c, src/pref.c: Decreased the maximum memory block size to 15.5K and increased the default gdb stdout buffer size to 32K to match each other. 2013-09-25 Dimitar Zhekov * src/scope.c: Register ScpTreeStore dynamically, making Scope unloadable again. * src/break.c, src/conterm.c, src/debug.c, src/inspect.c, src/memory.c, src/menu.c, src/parse.c, src/program.c, src/register.c, src/scope.c, src/stack.c, src/thread.c, src/tooltip.c, src/tooltip.h, src/views.c: Reverted the startup variable initialization from 2013-07-25. * src/conterm.c, src/inspect.c, src/prefs.c, src/watch.c: Small startup changes. * docs/scope.html, src/scope.c: Increased version to 0.93. 2013-09-07 Dimitar Zhekov * data/scope.glade: Removed "Program Terminal", "Breakpoints" and "Debug Console" panel tab names - they are always initialized explicitly now. * src/conterm.c, src/conterm.h, src/prefs.c, src/scope.c: Apply VTE settings immediately after Edit -> Preferences. * src/prefs.c, src/prefs.h, src/scope.c, src/scope.h: Apply pref_panel_tab_pos immediately after scope.conf save. Automatically switch to short panel tab names if Geany message window is on right. * docs/scope.html, src/scope.c: Increased version to 0.92. 2013-08-31 Dimitar Zhekov * data/scope.glade: Set Debug Panel tabs to "scrollable", so that Geany message window is not extended if it's not wide/tall enough to fit the tab names. * src/break.c: No async break messages only: don't disable a "dis" breakpoint on hit, it may have a count (which is not available ATM). * docs/scope.html, src/scope.c: Increased version to 0.91.4. 2013-08-25 Dimitar Zhekov * docs/codes.html, docs/scope.html, src/inspect.c, src/prefs.c, src/prefs.h, src/views.c: Fixed Inspect Refresh. Added an option to disable Inspect Refresh/update in Hang mode (causes internal gdb error). * wscript_build: Fixed the path handling when building with Waf under win32: Geany does not change to it's own directory any more. * src/register.c, src/scope.c: Fixed unused variable warnings. * docs/scope.html, src/scope.c: Increased version to 0.91.3. 2013-07-30 Dimitar Zhekov * src/views.c: Use map signal to pre-change contents when editing tree cells, since map-event is not received under Windows. * Windows panel defaults to THREADS view, not PROGRAM. 2013-07-25 Dimitar Zhekov * src/break.c, src/conterm.c, src/debug.c, src/inspect.c, src/memory.c, src/menu.c, src/parse.c, src/program.c, src/register.c, src/scope.c, src/stack.c, src/thread.c, src/tooltip.c, src/tooltip.h, src/views.c: Explicitly initialize all sensitive global and static variables on startup, since reactivating a resident plugin will not do that. * src/store/scptreestore.c: Fixed indentation. * docs/scope.html, src/scope.c: Increased version to 0.91.2. 2013-07-11 Dimitar Zhekov * src/scope.c: Update toolbar state when saving a document or switching to another document, and properly cache the last state. * src/utils.c: Recognize F77 as gdb-supported file type (was only Fortran). * docs/scope.html, src/scope.c: Increased version to 0.91.1. 2013-07-05 Dimitar Zhekov * src/codes.html: Documented the new Inspect commands. * src/scope.html: Explained the unified Watches/Memory/Inspect update policy. * src/debug.c, src/debug.h, src/inspect.c, src/memory.c, src/views.c, src/watch.c: Unified the Watches/Memory/Inspect update policy. * src/inspect.c, src/parse.c: Added full Refresh instead of -var-update. Fixed "new_numchild" -> "new_num_children". Full update on an external changelist with >=1 elements. Better support for float frame Inspect variables. Support for out-of-scope assignments ignored by changelist. * src/register.c: Full update only if an external changed-registers contains at least one element. Disallow Format if no threads. * docs/scope.html, src/scope.c: Increased version to 0.91. * TODO: Inlined into scope.html. 2013-07-02 Dimitar Zhekov * src/views.c: Fixed shutdown sequence error when destroying Inspect or Registers switches to the other page and causes refresh. Fixed the page number to refresh when switching to Inspect or Registers. 2013-06-24 Dimitar Zhekov * data/scope.glade, docs/codes.html, docs/scope.html, src/Makefile.am, src/break.c, src/common.h, src/debug.c, src/inspect.c, src/inspect.h, src/parse.c, src/program.c, src/register.c, src/register.h, src/scope.c, src/stack.c, src/thread.c, src/views.c, src/views.h: Added Registers next to Inspect. * docs/codes.html: Small syntax changes, explanation about the <> values. * docs/scope.html, src/break.c, src/debug.c, src/debug.h, src/local.c, src/stack.c, src/views.c, src/thread.c, src/views.c, src/views.h: Small syntax changes/fixes. * src/conterm.c: Clear the console with a single function call. * src/inspect.c: Fixed hexadecimal format. Only set "editable" if an eleemnt is selected. * src/common.h, src/local.src/utils.c, src/utils.h: A (mostly) common mechanism to send/receive thread+frame. * src/utils.c: Display win32 error texts instead of codes. * src/views.c: Changing the thread/frame honours "Update all views". Fixed the automatic text selection when the command dialog is invoked. * docs/scope.html, src/scope.c: Increased version to 0.90. 2013-05-23 Dimitar Zhekov * scope/src/inspect.c: Fixed new value receiving after Format change. 2013-05-17 Dimitar Zhekov * scope/src/prefs.c: Fixed config reload when a file other than scope.conf is saved. * src/program.c: Use scp_tree_store_traverse() to search recent programs. * docs/scope.html, src/scope.c: Increased version to 0.89. 2013-05-16 Dimitar Zhekov * src/store/ChangeLog: Separate change log for ScpTreeStore - initial release. 2013-05-08 Dimitar Zhekov * src/conterm.c: Insert or typing into console brings up the command dialog only if gdb is loaded. * src/store/scptreestore.html: Note that ScpTreeStore can not be currently used with Glade. * src/view.c: Small improvements. * docs/scope.html, src/scope.c: Increased version to 0.88. 2013-05-04 Dimitar Zhekov * data/scope.glade, src/break.c, src/gtk216.c, src/gtk216.h, src/inspect.c, src/local.c, src/memory.c, src/menu.c, src/parse.c, src/parse.h, src/program.c, src/scope.c, src/stack.c, src/thread.c, src/tooltip.c, src/utils.c, src/utils.h, src/watch.c: GArray parse_modes -> ScpTreeStore. GArray recent_programs -> ScpTreeStore. Removed get array element size emulation. Removed all array utility functions. 2013-05-02 Dimitar Zhekov * data/scope.glade, src/thread.c: GArray thread_groups -> ScpTreeStore. 2013-04-25 Dimitar Zhekov * src/break.c, src/utils.c: Small improvements. * src/store/scptreestore.c: Added i18n for gtk+ >= 2.18. * src/store/scptreestore.html: ScpTreeStore documentation fixes. 2013-04-04 Dimitar Zhekov * data/scope.glade, src/Makefile.am, src/break.c, src/common.h, src/inspect.c, src/local.c, src/memory.c, src/menu.c, src/scope.c, src/stack.c, src/store.h, src/store/scptreedata.c, src/store/scptreedata.h, src/store/scptreestore.c, src/store/scptreestore.h, src/thread.c, src/utils.c, src/utils.h, src/views.c, src/views.h, src/watch.c, wscript_build: Switched from GtkList/TreeStore to ScpTreeStore. * src/stack.c, src/watch.c: Removed search optimizations, ScpTreeStore is fast enough. * src/menu.c, src/menu.h, src/scope.c: PLUGIN_KEY_GROUP() -> plugin_set_key_group(). * src/prefs.c: Removed the stash_tree based plugin_configure(). Looked nice, but there is no indication that stash_tree will be included in the plugin API. * src/scope.c, src/tooltip.c, src/views.c: Changes to support GTK+ 3. * docs/scope.html, src/scope.c: Increased version to 0.87. 2013-03-07 Enrico Tröger * wscript_build: Fixed the path handling when building with Waf. 2013-03-07 Dimitar Zhekov * src/gtk216.c: Fixed a bug in array size emulation. 2013-02-21 Dimitar Zhekov * docs/scope.html: Explained the "signal `project-before-save' is invalid" warning. 2013-02-21 Dimitar Zhekov * src/inspect.c: Unified inspect display, fixing empty "value" looking identical to unapplied variable. * src/prefs.c: Fixed the default value for tooltips_fail_action. * scope.glade: Inspect -> Format -> s/binary/Binary/. * scope.html: Small fixes. * docs/scope.html, src/scope.c: Increased version to 0.84. 2013-01-31 Enrico Tröger * src/gtk216.c: Fixed typo in get array element size emulation. 2013-01-29 Dimitar Zhekov * src/gtk216.c, src/gtk216.h: Enable g_array_get_element_size() emulation for glib < 2.22 instead of glib < 2.20. 2013-01-26 YosefOr * src/debug.c: Reverted glibconfig.h include for win32 waitpid()/kill() emulation to glib.h - the new glib versions don't allow individual includes. 2013-01-22 Dimitar Zhekov * src/debug.c: Win32 waitpid()/kill() emulation depends on glibconfig.h only and sets errno = EINVAL on error. * wscript_build: Define empty libraries for win32 only. 2013-01-22 Vadim Kochan * wscript_build: Define default empty libriaries. 2013-01-20 Dimitar Zhekov * src/debug.c: Reduced dependency of win32 waitpid()/kill() emulation on glib. * src/thread.c: Change frame id to 0 or none immediately after thread change. * src/stack.c: Select frame 0 instead of the first available if the current frame is no longer valid. * src/local.c, src/views.c, src/views.h, src/watch.c: Skip stack update if frame 0 for watches only. * src/stack.c: Select and focus only if the current frame is not valid any more. * docs/scope.html: Added tips about Memory. * src/memory.c: Distinguish between memory Clear and auto clear. Fixed menu extra state bug. * src/views.c: Mark memory as auto clear. * src/break.c, src/inspect.c, src/local.c, src/menu.c, src/stack.c, src/thread.c, src/views.c, src/utils.c, src/watch.c: Free string values returned by gtk_tree_model_get(). * docs/scope.html, src/scope.c: Increased version to 0.83. 2013-01-15 Dimitar Zhekov * data/scope.glade, docs/codes.html, docs/scope.html, src/common.h, src/Makefile.am, src/memory.c, src/memory.h, src/parse.c, src/prefs.c, src/prefs.h, src/scope.c, src/views.c, src/views.h: Added Memory subpage. * data/scope.glade, src/conterm.c: GtkTextView "debug_console" -> "debug_context". * src/break.c, src/gtk216.c, src/scope.h, src/stack.c, src/thread.c, src/views.c: GTK_TREE_COLUMN(get_object(name)) -> get_column(name). * src/conterm.c, src/menu.c, src/views.c: Handle GDK_KP_Insert/GDK_KP_Delete/GTK_ISO_Space. * src/conterm.c: Don't invoke console on Ctrl/Alt/Mod ASCII characters. Don't set debug_context properties already defined in scope.glade. * src/conterm.h: Properly declare dc_output/dc_output_nl as extern. * src/debug.c, src/scope.c: Invoke finalizers in (hopefully) proper order instead of processing pending gtk+ events on finalize. * src/debug.c: Small initial wait for gdb kill in finalize instead of waiting gdb_wait_death + 1. * src/gtk216.c, src/gtk216.h, src/scope.c: Emulate g_array_get_element_size() under glib 2.20. * src/menu.c, src/plugme.c, src/utils.c, src/utils.h, src/views.c: utils_str_replace_all() -> utils_strchrepl(). * src/scope.c: Properly initialize inspects state. * src/stack.c: Select and focus the current frame instead of simply selecting. * src/tooltip.c: Unlimited toolbar length on pref_tooltips_length = 0, as described in scope.html. * src/utils.c: Invoke g_array_get_element_size() only once in array_save(). * docs/scope.html, src/scope.c: Increased version to 0.82. 2013-01-03 Dimitar Zhekov * src/debug.c, src/scope.c: Ask user whether to terminate debugging on build actions. * src/debug.c: Ignore "Auto run/exit" on Terminate if neither an executable nor a load script is specified. * docs/codes.html, src/inspect.c, src/inspect.h, src/local.c, src/local.h, src/menu.c, src/menu.h, src/parse.c, src/views.c, src/views.h, src/watch.c, src/watch.h: Unified/simplified all "modified" tokens. The original version was an overkill, and did not update all possible value references. * src/thread.c: Small "modified" tokens unification related changes. * docs/scope.html, src/scope.c: Increased version to 0.80. 2012-12-30 Dimitar Zhekov * src/break.c, src/inspect.c, src/stack.c, src/thread.c, src/utils.c, src/utils.h, src/watch.c: Select, focus and align tree elements instead of simply selecting. 2012-12-28 Dimitar Zhekov * src/break.c, src/inspect.c, src/parse.c, src/program.c, src/watch.c: g_key_file_get_*() -> utils_get_setting_*(), provide reasonable defaults for some settings on load error. * src/conterm.c: gtk_widget_modify_font() -> ui_widget_modify_font_from_string(). 2012-12-27 Dimitar Zhekov * data/scope.glade, docs/codes.html, docs/scope.html, src/parse.c, src/stack.c, src/stack.h, src/thread.c, src/thread.h, src/views.c: Easier sync between GDB/Scope thread/frame. * docs/scope.html, src/scope.c: Increased version to 0.79. 2012-12-26 Dimitar Zhekov * data/scope.glade, docs/codes.html, src/break.c, src/inspect.c, src/local.c, src/menu.c, src/stack.c, src/thread.c, src/views.h, src/watch.c: Small fixes, simplified menu action debug states. 2012-12-24 Dimitar Zhekov * src/thread.c: Limit TerminateProcess() exit code to UINT_MAX, not NSIG. 2012-12-23 Dimitar Zhekov * docs/scope.html, src/prefs.c, src/prefs.h, src/thread.c: Added option "keep_exec_point" to keep the execution point marker and Threads location columns when a thread execution is resumed. * docs/scope.html, src/scope.c: Increased version to 0.78. 2012-12-22 Dimitar Zhekov * NEWS: Real NEWS. * docs/scope.html: Small clarification. * src/parse.c: Fixed breakpoint-deleted id format. * src/parse.h: Removed parse_lead_locale(), not used. * src/program.c, src/scope.c: Unified error message format. 2012-12-18 Dimitar Zhekov * build/scope.m4, scope/src/Makefile.am: No -lutil under win32. 2012-12-16 Dimitar Zhekov * src/common.h, src/menu.h: Fixed forward declarations (though my gcc accepts them). * src/menu.c, src/tooltip.c, src/views.c, src/views.h: Clear scid_gen on program exit. No real risk of overflow, but smaller values look better in Debug Console. * src/menu.c: Position cursor in modify dialog after " = ". * src/tooltip.c: Reset internal variables on program exit. * src/debug.c: Escape "\ in evaluate expressions. * docs/scope.html, src/scope.c: Increased version to 0.77. 2012-12-13 Dimitar Zhekov * data/scope.glade, src/local.c, src/parse.c, src/parse.h, src/stack.c, src/stack.h: Per-function display of @entry arguments. * src/inspect.c, src/menu.c: Small per-function @entry arguments related changes. * src/inspect.c, src/local.c (int) strlen(...) to avoid format warnings. * docs/scope.html, src/scope.c: Increased version to 0.76, small fixes and clarifications. geany-plugins-1.27/scope/src/0000755000175000017500000000000012671261444016422 5ustar00frlanfrlan00000000000000geany-plugins-1.27/scope/src/stack.h0000644000175000017500000000202212671261352017672 0ustar00frlanfrlan00000000000000/* * stack.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef STACK_H extern const char *frame_id; void on_stack_frames(GArray *nodes); void on_stack_arguments(GArray *nodes); void on_stack_follow(GArray *nodes); gboolean stack_entry(void); void stack_clear(void); gboolean stack_update(void); void stack_init(void); #define STACK_H 1 #endif geany-plugins-1.27/scope/src/prefs.c0000644000175000017500000002435012671261352017707 0ustar00frlanfrlan00000000000000/* * prefs.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "common.h" #ifdef G_OS_UNIX #include #endif gchar *pref_gdb_executable; gboolean pref_gdb_async_mode; #ifndef G_OS_UNIX gboolean pref_async_break_bugs; #endif gboolean pref_var_update_bug; gboolean pref_auto_view_source; gboolean pref_keep_exec_point; gint pref_visual_beep_length; #ifdef G_OS_UNIX gboolean pref_debug_console_vte; #endif gint pref_sci_marker_first; static gint pref_sci_marker_1st; gint pref_sci_caret_policy; gint pref_sci_caret_slop; gboolean pref_unmark_current_line; gboolean pref_scope_goto_cursor; gboolean pref_seek_with_navqueue; gint pref_panel_tab_pos; gint pref_show_recent_items; gint pref_show_toolbar_items; gint pref_tooltips_fail_action; gint pref_tooltips_send_delay; gint pref_tooltips_length; gint pref_memory_bytes_per_line; gchar *pref_memory_font; #ifdef G_OS_UNIX static gboolean pref_terminal_save_pos; gboolean pref_terminal_padding; gint pref_terminal_window_x; gint pref_terminal_window_y; gint pref_terminal_width; gint pref_terminal_height; #endif /* G_OS_UNIX */ gboolean pref_vte_blinken; gchar *pref_vte_emulation; gchar *pref_vte_font; gint pref_vte_scrollback; GdkColor pref_vte_colour_fore; GdkColor pref_vte_colour_back; typedef struct _MarkerStyle { const gchar *name; gint mark; gint fore; gint back; gint alpha; gint default_mark; const gchar *default_fore; const gchar *default_back; guint default_alpha; } MarkerStyle; #define MARKER_COUNT 3 static MarkerStyle pref_marker_styles[MARKER_COUNT] = { { "disabled_break", 0, 0, 0, 0, SC_MARK_CIRCLE, "#008000", "#C0E0D0", 256 }, { "enabled_break", 0, 0, 0, 0, SC_MARK_CIRCLE, "#000080", "#C0D0F0", 256 }, { "execution_line", 0, 0, 0, 0, SC_MARK_SHORTARROW, "#808000", "#F0F090", 256 } }; void prefs_apply(GeanyDocument *doc) { gint i; ScintillaObject *sci = doc->editor->sci; MarkerStyle *style = pref_marker_styles; for (i = pref_sci_marker_first; i < pref_sci_marker_first + MARKER_COUNT; i++, style++) { scintilla_send_message(sci, SCI_MARKERDEFINE, i, style->mark); scintilla_send_message(sci, SCI_MARKERSETFORE, i, style->fore); scintilla_send_message(sci, SCI_MARKERSETBACK, i, style->back); scintilla_send_message(sci, SCI_MARKERSETALPHA, i, style->alpha); } } static StashGroup *scope_group; static StashGroup *terminal_group; static StashGroup *marker_group[MARKER_COUNT]; static void load_scope_prefs(GKeyFile *config) { guint i; MarkerStyle *style = pref_marker_styles; stash_group_load_from_key_file(scope_group, config); stash_group_load_from_key_file(terminal_group, config); for (i = 0; i < MARKER_COUNT; i++, style++) { gchar *tmp_string; stash_group_load_from_key_file(marker_group[i], config); tmp_string = utils_get_setting_string(config, style->name, "fore", style->default_fore); style->fore = utils_parse_sci_color(tmp_string); g_free(tmp_string); tmp_string = utils_get_setting_string(config, style->name, "back", style->default_back); style->back = utils_parse_sci_color(tmp_string); g_free(tmp_string); } } static const char *obsolete_prefs[] = { "gdb_buffer_length", "gdb_wait_death", "gdb_send_interval", NULL }; static void save_scope_prefs(GKeyFile *config) { guint i; MarkerStyle *style = pref_marker_styles; stash_group_save_to_key_file(scope_group, config); stash_group_save_to_key_file(terminal_group, config); for (i = 0; i < MARKER_COUNT; i++, style++) { gchar *tmp_string; stash_group_save_to_key_file(marker_group[i], config); tmp_string = g_strdup_printf("#%02X%02X%02X", style->fore & 0xFF, (style->fore >> 8) & 0xFF, style->fore >> 16); g_key_file_set_string(config, style->name, "fore", tmp_string); g_free(tmp_string); tmp_string = g_strdup_printf("#%02X%02X%02X", style->back & 0xFF, (style->back >> 8) & 0xFF, style->back >> 16); g_key_file_set_string(config, style->name, "back", tmp_string); g_free(tmp_string); } for (i = 0; obsolete_prefs[i]; i++) g_key_file_remove_key(config, "scope", obsolete_prefs[i], NULL); } static void prefs_configure(void) { static const char *const view_source_items[] = { "thread_view_source", "break_view_source", "stack_separator1", "stack_view_source", NULL }; const char *const *p; guint i; for (p = view_source_items; *p; p++) gtk_widget_set_visible(get_widget(*p), !pref_auto_view_source); foreach_document(i) prefs_apply(documents[i]); configure_panel(); } char *prefs_file_name(void) { return g_build_filename(geany->app->configdir, "plugins", "scope", "scope.conf", NULL); } static void on_document_save(G_GNUC_UNUSED GObject *obj, GeanyDocument *doc, G_GNUC_UNUSED gpointer gdata) { char *configfile = prefs_file_name(); if (doc->real_path && !utils_filenamecmp(doc->real_path, configfile)) { GKeyFile *config = g_key_file_new(); g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL); load_scope_prefs(config); prefs_configure(); configure_toolbar(); g_key_file_free(config); } g_free(configfile); } static GtkWidget *config_item; void prefs_init(void) { guint i; MarkerStyle *style = pref_marker_styles; StashGroup *group; char *configdir = g_build_filename(geany->app->configdir, "plugins", "scope", NULL); char *configfile = prefs_file_name(); GKeyFile *config = g_key_file_new(); gboolean obsolete = FALSE; group = stash_group_new("scope"); stash_group_add_string(group, &pref_gdb_executable, "gdb_executable", "gdb"); stash_group_add_boolean(group, &pref_gdb_async_mode, "gdb_async_mode", FALSE); #ifndef G_OS_UNIX stash_group_add_boolean(group, &pref_async_break_bugs, "async_break_bugs", TRUE); #endif stash_group_add_boolean(group, &pref_var_update_bug, "var_update_bug", TRUE); stash_group_add_boolean(group, &pref_auto_view_source, "auto_view_source", FALSE); stash_group_add_boolean(group, &pref_keep_exec_point, "keep_exec_point", FALSE); stash_group_add_integer(group, &pref_visual_beep_length, "visual_beep_length", 25); #ifdef G_OS_UNIX stash_group_add_boolean(group, &pref_debug_console_vte, "debug_console_vte", TRUE); #endif stash_group_add_integer(group, &pref_sci_marker_1st, "sci_marker_first", 17); stash_group_add_integer(group, &pref_sci_caret_policy, "sci_caret_policy", CARET_SLOP | CARET_JUMPS | CARET_EVEN); stash_group_add_integer(group, &pref_sci_caret_slop, "sci_caret_slop", 3); stash_group_add_boolean(group, &pref_unmark_current_line, "unmark_current_line", FALSE); stash_group_add_boolean(group, &pref_scope_goto_cursor, "scope_run_to_cursor", FALSE); stash_group_add_boolean(group, &pref_seek_with_navqueue, "seek_with_navqueue", FALSE); stash_group_add_integer(group, &pref_panel_tab_pos, "panel_tab_pos", GTK_POS_TOP); stash_group_add_integer(group, &pref_show_recent_items, "show_recent_items", 10); stash_group_add_integer(group, &pref_show_toolbar_items, "show_toolbar_items", 0xFF); stash_group_add_integer(group, &pref_tooltips_fail_action, "tooltips_fail_action", 0); stash_group_add_integer(group, &pref_tooltips_send_delay, "tooltips_send_delay", 25); stash_group_add_integer(group, &pref_tooltips_length, "tooltips_length", 2048); stash_group_add_integer(group, &pref_memory_bytes_per_line, "memory_line_bytes", 16); stash_group_add_string(group, &pref_memory_font, "memory_font", ""); scope_group = group; config_item = ui_add_config_file_menu_item(configfile, NULL, NULL); plugin_signal_connect(geany_plugin, NULL, "document-save", FALSE, G_CALLBACK(on_document_save), NULL); group = stash_group_new("terminal"); #ifdef G_OS_UNIX stash_group_add_boolean(group, &pref_terminal_save_pos, "save_pos", TRUE); stash_group_add_boolean(group, &pref_terminal_padding, "padding", TRUE); stash_group_add_integer(group, &pref_terminal_window_x, "window_x", 70); stash_group_add_integer(group, &pref_terminal_window_y, "window_y", 50); stash_group_add_integer(group, &pref_terminal_width, "width", 640); stash_group_add_integer(group, &pref_terminal_height, "height", 480); #endif /* G_OS_UNIX */ terminal_group = group; for (i = 0; i < MARKER_COUNT; i++, style++) { group = stash_group_new(style->name); stash_group_add_integer(group, &style->mark, "mark", style->default_mark); stash_group_add_integer(group, &style->alpha, "alpha", style->default_alpha); marker_group[i] = group; } g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL); load_scope_prefs(config); for (i = 0; obsolete_prefs[i]; i++) { GError *gerror = NULL; g_key_file_get_integer(config, "scope", obsolete_prefs[i], &gerror); if (gerror) { g_error_free(gerror); gerror = NULL; } else { obsolete = TRUE; break; } } pref_sci_marker_first = pref_sci_marker_1st; prefs_configure(); program_load_config(config); if (obsolete || !g_file_test(configfile, G_FILE_TEST_IS_REGULAR)) { gint error = utils_mkdir(configdir, TRUE); if (error) msgwin_status_add(_("Scope: %s: %s."), configdir, g_strerror(error)); else { save_scope_prefs(config); if (utils_key_file_write_to_file(config, configfile)) msgwin_status_add(_("Scope: created configuration file.")); } } g_key_file_free(config); g_free(configfile); g_free(configdir); } void prefs_finalize(void) { guint i; #ifdef G_OS_UNIX if (pref_terminal_save_pos) { char *configfile = prefs_file_name(); stash_group_save_to_file(terminal_group, configfile, G_KEY_FILE_KEEP_COMMENTS); g_free(configfile); } g_free(pref_vte_font); g_free(pref_vte_emulation); #endif /* G_OS_UNIX */ gtk_widget_destroy(config_item); utils_stash_group_free(scope_group); utils_stash_group_free(terminal_group); for (i = 0; i < MARKER_COUNT; i++) utils_stash_group_free(marker_group[i]); } geany-plugins-1.27/scope/src/local.h0000644000175000017500000000167412671261352017673 0ustar00frlanfrlan00000000000000/* * local.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef LOCAL_H void on_local_variables(GArray *nodes); void locals_clear(void); gboolean locals_update(void); void locals_update_state(DebugState state); void local_init(void); #define LOCAL_H 1 #endif geany-plugins-1.27/scope/src/break.c0000644000175000017500000011166512671261352017662 0ustar00frlanfrlan00000000000000/* * break.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include "common.h" enum { BREAK_ID, BREAK_FILE, BREAK_LINE, BREAK_SCID, BREAK_TYPE, BREAK_ENABLED, BREAK_DISPLAY, BREAK_FUNC, BREAK_ADDR, BREAK_TIMES, BREAK_IGNORE, BREAK_COND, BREAK_SCRIPT, BREAK_IGNNOW, BREAK_PENDING, BREAK_LOCATION, BREAK_RUN_APPLY, BREAK_TEMPORARY, BREAK_DISCARD, BREAK_MISSING }; static gint break_id_compare(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, G_GNUC_UNUSED gpointer gdata) { const char *s1, *s2; gint result; scp_tree_store_get(store, a, BREAK_ID, &s1, -1); scp_tree_store_get(store, b, BREAK_ID, &s2, -1); result = utils_atoi0(s1) - utils_atoi0(s2); if (result || !s1 || !s2) return result; while (isdigit(*s1)) s1++; while (isdigit(*s2)) s2++; return atoi(s1 + (*s1 == '.')) - atoi(s2 + (*s2 == '.')); } static gint break_location_compare(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, G_GNUC_UNUSED gpointer gdata) { gint result = store_seek_compare(store, a, b, NULL); return result ? result : scp_tree_store_compare_func(store, a, b, GINT_TO_POINTER(BREAK_LOCATION)); } static const char *const BP_TYPES = "bhtfwwwaarrc?", *const BP_BREAKS = "bh", *const BP_TRACES = "tf", *const BP_HARDWS = "hf", *const BP_BORTS = "bhtf", *const BP_WHATS = "warc", *const BP_KNOWNS = "btfwar", *const BP_WATCHES = "war", *const BP_WATOPTS = "ar"; typedef struct _BreakType { const char *text; const char *type; const gchar *desc; } BreakType; static const BreakType break_types[] = { { "breakpoint", "break", N_("breakpoint") }, { "hw breakpoint", "hbreak", N_("hardware breakpoint")}, { "tracepoint", "trace", N_("tracepoint") }, { "fast tracepoint", "ftrace", N_("fast tracepoint") }, { "wpt", "watch", N_("write watchpoint") }, { "watchpoint", "watch", NULL }, { "hw watchpoint", "watch", NULL }, { "hw-awpt", "access", N_("access watchpoint") }, { "acc watchpoint", "access", NULL }, { "hw-rwpt", "read", N_("read watchpoint") }, { "read watchpoint", "read", NULL }, { "catchpoint", "catch", N_("catchpoint") }, { NULL, "??", NULL } }; typedef enum _BreakStage { BG_PERSIST, BG_DISCARD, BG_UNKNOWN, BG_PARTLOC, BG_APPLIED, BG_FOLLOW, BG_IGNORE, BG_ONLOAD, BG_RUNTO, BG_COUNT } BreakStage; typedef struct _BreakInfo { char info; const char *text; } BreakInfo; static const BreakInfo break_infos[BG_COUNT] = { { '\0', NULL }, { 'c', N_("CLI") }, { 'u', N_("unsupported MI") }, { '\0', NULL }, { '\0', NULL }, { 'c', N_("CLI") }, { '\0', NULL }, { 'l', N_("on load") }, { 'r', N_("Run to Cursor") } }; static void break_type_set_data_func(G_GNUC_UNUSED GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { char type, info; gint discard; gboolean temporary; GString *string = g_string_sized_new(0x0F); gtk_tree_model_get(model, iter, BREAK_TYPE, &type, BREAK_TEMPORARY, &temporary, BREAK_DISCARD, &discard, -1); g_string_append(string, break_types[strchr(BP_TYPES, type) - BP_TYPES].type); info = break_infos[discard].info; if (info || temporary) { g_string_append_c(string, ','); if (info) g_string_append_c(string, info); if (temporary) g_string_append_c(string, 't'); } g_object_set(cell, "text", string->str, NULL); g_string_free(string, TRUE); } static void break_ignore_set_data_func(G_GNUC_UNUSED GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { const gchar *ignore, *ignnow; gtk_tree_model_get(model, iter, BREAK_IGNORE, &ignore, BREAK_IGNNOW, &ignnow, -1); if (ignnow) { char *text = g_strdup_printf("%s [%s]", ignnow, ignore); g_object_set(cell, "text", text, NULL); g_free(text); } else g_object_set(cell, "text", ignore, NULL); } static ScpTreeStore *store; static GtkTreeSelection *selection; static gint scid_gen = 0; static void break_mark(GtkTreeIter *iter, gboolean mark) { const char *file; gint line; gboolean enabled; scp_tree_store_get(store, iter, BREAK_FILE, &file, BREAK_LINE, &line, BREAK_ENABLED, &enabled, -1); utils_mark(file, line, mark, MARKER_BREAKPT + enabled); } static void break_enable(GtkTreeIter *iter, gboolean enable) { break_mark(iter, FALSE); scp_tree_store_set(store, iter, BREAK_ENABLED, enable, -1); break_mark(iter, TRUE); } static void on_break_enabled_toggled(G_GNUC_UNUSED GtkCellRendererToggle *renderer, gchar *path_str, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; DebugState state = debug_state(); const char *id; gint scid; gboolean enabled; scp_tree_store_get_iter_from_string(store, &iter, path_str); scp_tree_store_get(store, &iter, BREAK_ID, &id, BREAK_SCID, &scid, BREAK_ENABLED, &enabled, -1); enabled ^= TRUE; if (state == DS_INACTIVE || !id) { break_enable(&iter, enabled); } else if (state & DS_SENDABLE) { debug_send_format(N, "02%d%d-break-%sable %s", enabled, scid, enabled ? "en" : "dis", id); } else plugin_beep(); } #define EDITCOLS 3 static const char *break_command(gint index, char type) { static const char *const break_commands[EDITCOLS] = { "after", "condition", "commands" }; return !index && strchr(BP_TRACES, type) ? "passcount" : break_commands[index]; } static void on_break_column_edited(G_GNUC_UNUSED GtkCellRendererText *renderer, gchar *path_str, gchar *new_text, gpointer gdata) { gint index = GPOINTER_TO_INT(gdata) - 1; const gchar *set_text = validate_column(new_text, index > 0); GtkTreeIter iter; const char *id; char type; scp_tree_store_get_iter_from_string(store, &iter, path_str); scp_tree_store_get(store, &iter, BREAK_ID, &id, BREAK_TYPE, &type, -1); if (id && (debug_state() & DS_SENDABLE)) { char *locale = utils_get_locale_from_display(new_text, HB_DEFAULT); if (index) { debug_send_format(F, "023%s-break-%s %s %s", id, break_command(index, type), id, locale ? locale : ""); } else { debug_send_format(N, "022%s-break-%s %s %s", id, break_command(0, type), id, locale ? locale : "0"); } g_free(locale); } else if (!id) { scp_tree_store_set(store, &iter, index + BREAK_IGNORE, set_text, index ? -1 : BREAK_IGNNOW, NULL, -1); } else plugin_beep(); } static void on_break_ignore_editing_started(G_GNUC_UNUSED GtkCellRenderer *cell, GtkCellEditable *editable, const gchar *path_str, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; const gchar *ignore; if (GTK_IS_EDITABLE(editable)) validator_attach(GTK_EDITABLE(editable), VALIDATOR_NUMERIC); if (GTK_IS_ENTRY(editable)) gtk_entry_set_max_length(GTK_ENTRY(editable), 10); scp_tree_store_get_iter_from_string(store, &iter, path_str); scp_tree_store_get(store, &iter, BREAK_IGNORE, &ignore, -1); g_signal_connect(editable, "map", G_CALLBACK(on_view_editable_map), g_strdup(ignore)); } static const TreeCell break_cells[] = { { "break_enabled", G_CALLBACK(on_break_enabled_toggled) }, { "break_ignore", G_CALLBACK(on_break_column_edited) }, { "break_cond", G_CALLBACK(on_break_column_edited) }, { "break_script", G_CALLBACK(on_break_column_edited) }, { NULL, NULL } }; static void append_script_command(const ParseNode *node, GString *string) { iff (node->type == PT_VALUE, "script: contains array") { gchar *display = utils_get_display_from_7bit((char *) node->value, HB_DEFAULT); const gchar *s; if (string->len) g_string_append_c(string, ' '); g_string_append_c(string, '"'); for (s = display; *s; s++) { if (*s == '"' || *s == '\\') g_string_append_c(string, '\\'); g_string_append_c(string, *s); } g_string_append_c(string, '"'); g_free(display); } } typedef struct _BreakData { GtkTreeIter iter; char type; BreakStage stage; } BreakData; static void break_iter_applied(GtkTreeIter *iter, const char *id) { const gchar *columns[EDITCOLS]; gboolean enabled; char type; gint index; scp_tree_store_get(store, iter, BREAK_ENABLED, &enabled, BREAK_IGNORE, &columns[0], BREAK_COND, &columns[1], BREAK_SCRIPT, &columns[2], BREAK_TYPE, &type, -1); if (strchr(BP_BORTS, type)) { if (strchr(BP_BREAKS, type)) columns[0] = NULL; columns[1] = NULL; } else if (!enabled) debug_send_format(N, "-break-disable %s", id); for (index = 0; index < EDITCOLS; index++) { char *locale = utils_get_locale_from_display(columns[index], HB_DEFAULT); if (locale) { debug_send_format(F, "-break-%s %s %s", break_command(index, type), id, locale); g_free(locale); } } } static void break_node_parse(const ParseNode *node, BreakData *bd) { GArray *nodes = (GArray *) node->value; const char *id; if (node->type == PT_VALUE) { dc_error("breaks: contains value"); bd->stage = BG_DISCARD; } else if ((id = parse_find_value(nodes, "number")) == NULL) { dc_error("no number"); bd->stage = BG_DISCARD; } else /* enough data to parse */ { const char *text_type = parse_find_value(nodes, "type"); const BreakType *bt; char type; gboolean leading = !strchr(id, '.'); gboolean borts; ParseLocation loc; gboolean enabled = g_strcmp0(parse_find_value(nodes, "enabled"), "n"); GtkTreeIter *const iter = &bd->iter; const char *times = parse_find_value(nodes, "times"); gboolean temporary = !g_strcmp0(parse_find_value(nodes, "disp"), "del"); if (!text_type) text_type = node->name; for (bt = break_types; bt->text; bt++) if (!strcmp(text_type, bt->text)) break; type = BP_TYPES[bt - break_types]; if (leading || bd->stage != BG_FOLLOW || type != '?') bd->type = type; else type = bd->type; borts = strchr(BP_BORTS, type) != NULL; parse_location(nodes, &loc); if (bd->stage != BG_APPLIED) { const ParseNode *script = parse_find_node(nodes, "script"); GtkTreeIter iter1; gchar *cond = utils_get_display_from_7bit(parse_find_value(nodes, "cond"), HB_DEFAULT); gchar *commands; if (store_find(store, &iter1, BREAK_ID, id)) { bd->iter = iter1; break_mark(iter, FALSE); } else /* new breakpoint */ { const char *location = parse_find_locale(nodes, "original-location"); char *original = g_strdup(location); gchar *display; gboolean pending = parse_find_locale(nodes, "pending") != NULL; if (original) { char *split = strchr(original, ':'); if (g_path_is_absolute(original) && split > original && split[1] != ':') { *split++ = '\0'; if (!loc.file) loc.file = original; if (isdigit(*split) && !loc.line) loc.line = atoi(split); } } else if (strchr(BP_WHATS, type)) { if ((location = parse_find_locale(nodes, "exp")) == NULL) location = parse_find_locale(nodes, "what"); } if (!location || !strchr(BP_KNOWNS, type)) { if (bd->stage == BG_PERSIST) bd->stage = BG_UNKNOWN; /* can't create apply command */ if (!location) location = loc.func; } display = borts ? utils_get_utf8_basename(location) : utils_get_display_from_locale(location, HB_DEFAULT); if (leading) scp_tree_store_append(store, iter, NULL); else { scp_tree_store_insert(store, &iter1, NULL, scp_tree_store_iter_tell(store, iter) + 1); bd->iter = iter1; } scp_tree_store_set(store, iter, BREAK_SCID, ++scid_gen, BREAK_TYPE, type, BREAK_DISPLAY, display, BREAK_PENDING, pending, BREAK_LOCATION, location, BREAK_RUN_APPLY, leading && borts, BREAK_DISCARD, leading ? bd->stage : BG_PARTLOC, -1); if (leading && bd->stage == BG_PERSIST) utils_tree_set_cursor(selection, iter, 0.5); g_free(original); g_free(display); } utils_mark(loc.file, loc.line, TRUE, MARKER_BREAKPT + enabled); if (script) { GString *string = g_string_sized_new(0x7F); if (script->type == PT_VALUE) append_script_command(script, string); else { parse_foreach((GArray *) script->value, (GFunc) append_script_command, string); } commands = g_string_free(string, FALSE); } else commands = NULL; scp_tree_store_set(store, iter, BREAK_ENABLED, enabled, BREAK_COND, cond, BREAK_SCRIPT, commands, -1); g_free(cond); g_free(commands); } if (strchr(BP_BREAKS, type) || bd->stage != BG_APPLIED) { const char *ignnow = parse_find_value(nodes, "ignore"); const char *ignore; if (!ignnow) ignnow = parse_find_value(nodes, "pass"); scp_tree_store_get(store, iter, BREAK_IGNORE, &ignore, -1); scp_tree_store_set(store, iter, BREAK_IGNNOW, ignnow, !ignore || utils_atoi0(ignnow) > atoi(ignore) || bd->stage == BG_IGNORE ? BREAK_IGNORE : -1, ignnow, -1); } scp_tree_store_set(store, iter, BREAK_ID, id, BREAK_FILE, loc.file, BREAK_LINE, loc.line, BREAK_FUNC, loc.func, BREAK_ADDR, loc.addr, BREAK_TIMES, utils_atoi0(times), BREAK_MISSING, FALSE, BREAK_TEMPORARY, temporary, -1); parse_location_free(&loc); if (bd->stage == BG_APPLIED) break_iter_applied(iter, id); else if (bd->stage == BG_RUNTO) debug_send_thread("-exec-continue"); bd->stage = BG_FOLLOW; } } void on_break_inserted(GArray *nodes) { const char *token = parse_grab_token(nodes); BreakData bd; bd.stage = BG_PERSIST; if (token) { if (*token == '0') bd.stage = BG_RUNTO; else if (*token) { iff (store_find(store, &bd.iter, BREAK_SCID, token), "%s: b_scid not found", token) { bd.stage = BG_APPLIED; } } else bd.stage = BG_ONLOAD; } parse_foreach(nodes, (GFunc) break_node_parse, &bd); } static void break_apply(GtkTreeIter *iter, gboolean thread) { GString *command = g_string_sized_new(0x1FF); gint scid; char type; const char *ignore, *location, *s; gboolean enabled, pending, temporary; const gchar *cond; gboolean borts; scp_tree_store_get(store, iter, BREAK_SCID, &scid, BREAK_TYPE, &type, BREAK_ENABLED, &enabled, BREAK_IGNORE, &ignore, BREAK_COND, &cond, BREAK_LOCATION, &location, BREAK_PENDING, &pending, BREAK_TEMPORARY, &temporary, -1); borts = strchr(BP_BORTS, type) != NULL; g_string_append_printf(command, "02%d-break-%s", scid, borts ? "insert" : "watch"); if (borts) { if (temporary) g_string_append(command, " -t"); if (strchr(BP_HARDWS, type)) g_string_append(command, " -h"); if (strchr(BP_BREAKS, type)) { if (ignore) g_string_append_printf(command, " -i %s", ignore); } else g_string_append(command, " -a"); if (!enabled) g_string_append(command, " -d"); if (cond) { char *locale = utils_get_locale_from_display(cond, HB_DEFAULT); g_string_append_printf(command, " -c \"%s\"", locale); g_free(locale); } if (pending) g_string_append(command, " -f"); if (thread && thread_id) g_string_append_printf(command, " -p %s", thread_id); } else if (strchr(BP_WATOPTS, type)) g_string_append_printf(command, " -%c", type); for (s = location; *s; s++) { if (isspace(*s)) { s = "\""; break; } } g_string_append_printf(command, " %s%s%s", s, location, s); debug_send_command(F, command->str); g_string_free(command, TRUE); } static void break_clear(GtkTreeIter *iter) { char type; scp_tree_store_get(store, iter, BREAK_TYPE, &type, -1); scp_tree_store_set(store, iter, BREAK_ID, NULL, BREAK_ADDR, NULL, BREAK_IGNNOW, NULL, strchr(BP_BORTS, type) ? -1 : BREAK_TEMPORARY, FALSE, -1); } static gboolean break_remove(GtkTreeIter *iter) { break_mark(iter, FALSE); return scp_tree_store_remove(store, iter); } static gboolean break_remove_all(const char *pref, gboolean force) { GtkTreeIter iter; int len = strlen(pref); gboolean valid = scp_tree_store_get_iter_first(store, &iter); gboolean found = FALSE; while (valid) { const char *id; gint discard; scp_tree_store_get(store, &iter, BREAK_ID, &id, BREAK_DISCARD, &discard, -1); if (id && !strncmp(id, pref, len) && strchr(".", id[len])) { found = TRUE; if (discard % BG_ONLOAD || force) { valid = break_remove(&iter); continue; } break_clear(&iter); } valid = scp_tree_store_iter_next(store, &iter); } return found; } void on_break_done(GArray *nodes) { const char *token = parse_grab_token(nodes); const char oper = *token++; const char *prefix = ""; switch (oper) { case '0' : case '1' : { GtkTreeIter iter; iff (store_find(store, &iter, BREAK_SCID, token), "%s: b_scid not found", token) { break_enable(&iter, oper == '1'); } break; } case '2' : prefix = "022"; /* and continue */ case '3' : { debug_send_format(N, "%s-break-info %s", prefix, token); break; } case '4' : { if (!break_remove_all(token, TRUE)) dc_error("%s: bid not found", token); break; } default : dc_error("%c%s: invalid b_oper", oper, token); } } static void break_iter_missing(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { scp_tree_store_set(store, iter, BREAK_MISSING, TRUE, -1); } static void breaks_missing(void) { GtkTreeIter iter; gboolean valid = scp_tree_store_get_iter_first(store, &iter); while (valid) { const char *id; gint discard; gboolean missing; scp_tree_store_get(store, &iter, BREAK_ID, &id, BREAK_DISCARD, &discard, BREAK_MISSING, &missing, -1); if (id && missing) { if (discard % BG_ONLOAD) { valid = break_remove(&iter); continue; } break_clear(&iter); } valid = scp_tree_store_iter_next(store, &iter); } } void on_break_list(GArray *nodes) { iff ((nodes = parse_find_array(parse_lead_array(nodes), "body")) != NULL, "no body") { const char *token = parse_grab_token(nodes); gboolean refresh = !g_strcmp0(token, ""); BreakData bd; if (refresh) store_foreach(store, (GFunc) break_iter_missing, NULL); bd.stage = !g_strcmp0(token, "2") ? BG_IGNORE : BG_DISCARD; parse_foreach(nodes, (GFunc) break_node_parse, &bd); if (refresh) breaks_missing(); } } gint break_async = -1; void on_break_stopped(GArray *nodes) { if (break_async < TRUE) { const char *id = parse_find_value(nodes, "bkptno"); if (id && !g_strcmp0(parse_find_value(nodes, "disp"), "del")) break_remove_all(id, FALSE); } on_thread_stopped(nodes); } void on_break_created(GArray *nodes) { #ifndef G_OS_UNIX if (!pref_async_break_bugs) #endif { BreakData bd; bd.stage = BG_DISCARD; parse_foreach(nodes, (GFunc) break_node_parse, &bd); } break_async = TRUE; } void on_break_deleted(GArray *nodes) { break_remove_all(parse_lead_value(nodes), FALSE); break_async = TRUE; } static void break_feature_node_check(const ParseNode *node, G_GNUC_UNUSED gpointer gdata) { if (!strcmp((const char *) node->value, "breakpoint-notifications")) break_async = TRUE; } void on_break_features(GArray *nodes) { parse_foreach(parse_lead_array(nodes), (GFunc) break_feature_node_check, NULL); } static void break_delete(GtkTreeIter *iter) { const char *id; scp_tree_store_get(store, iter, BREAK_ID, &id, -1); if (debug_state() == DS_INACTIVE || !id) break_remove(iter); else debug_send_format(N, "024%s-break-delete %s", id, id); } static void break_iter_mark(GtkTreeIter *iter, GeanyDocument *doc) { const char *file; gint line; gboolean enabled; scp_tree_store_get(store, iter, BREAK_FILE, &file, BREAK_LINE, &line, BREAK_ENABLED, &enabled, -1); if (line && !utils_filenamecmp(file, doc->real_path)) sci_set_marker_at_line(doc->editor->sci, line - 1, MARKER_BREAKPT + enabled); } void breaks_mark(GeanyDocument *doc) { if (doc->real_path) store_foreach(store, (GFunc) break_iter_mark, doc); } void breaks_clear(void) { GtkTreeIter iter; gboolean valid = scp_tree_store_get_iter_first(store, &iter); while (valid) { gint discard; scp_tree_store_get(store, &iter, BREAK_DISCARD, &discard, -1); if (discard) valid = break_remove(&iter); else { break_clear(&iter); valid = scp_tree_store_iter_next(store, &iter); } } } static void break_iter_reset(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { scp_tree_store_set(store, iter, BREAK_TIMES, 0, -1); } void breaks_reset(void) { store_foreach(store, (GFunc) break_iter_reset, NULL); } static void break_iter_apply(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { const char *id, *ignore, *ignnow; char type; gboolean run_apply; scp_tree_store_get(store, iter, BREAK_ID, &id, BREAK_TYPE, &type, BREAK_IGNORE, &ignore, BREAK_IGNNOW, &ignnow, BREAK_RUN_APPLY, &run_apply, -1); if (id) { if (g_strcmp0(ignore, ignnow)) { debug_send_format(F, "023-break-%s %s %s", break_command(0, type), id, ignore); } } else if (run_apply) break_apply(iter, FALSE); } void breaks_apply(void) { store_foreach(store, (GFunc) break_iter_apply, NULL); } void breaks_query_async(GString *commands) { if (break_async == -1) { break_async = FALSE; g_string_append(commands, "05-list-features\n"); } } static void break_relocate(GtkTreeIter *iter, const char *real_path, gint line) { char *location = g_strdup_printf("%s:%d", real_path, line); gchar *display = utils_get_utf8_basename(location); scp_tree_store_set(store, iter, BREAK_FILE, real_path, BREAK_LINE, line, BREAK_DISPLAY, display, BREAK_LOCATION, location, -1); g_free(display); g_free(location); } void breaks_delta(ScintillaObject *sci, const char *real_path, gint start, gint delta, gboolean active) { GtkTreeIter iter; gboolean valid = scp_tree_store_get_iter_first(store, &iter); while (valid) { const char *file; gint line; gboolean enabled; const char *location; scp_tree_store_get(store, &iter, BREAK_FILE, &file, BREAK_LINE, &line, BREAK_ENABLED, &enabled, BREAK_LOCATION, &location, -1); if (--line >= 0 && start <= line && !utils_filenamecmp(file, real_path)) { if (active) { utils_move_mark(sci, line, start, delta, MARKER_BREAKPT + enabled); } else if (delta > 0 || start - delta <= line) { char *split = strchr(location, ':'); line += delta + 1; if (split && isdigit(split[1])) break_relocate(&iter, real_path, line); else scp_tree_store_set(store, &iter, BREAK_LINE, line, -1); } else { sci_delete_marker_at_line(sci, start, MARKER_BREAKPT + enabled); valid = scp_tree_store_remove(store, &iter); continue; } } valid = scp_tree_store_iter_next(store, &iter); } } static void break_iter_check(GtkTreeIter *iter, guint *active) { const char *id; gboolean enabled; scp_tree_store_get(store, iter, BREAK_ID, &id, BREAK_ENABLED, &enabled, -1); *active += enabled && id; } guint breaks_active(void) { guint active = 0; store_foreach(store, (GFunc) break_iter_check, &active); return active; } void on_break_toggle(G_GNUC_UNUSED const MenuItem *menu_item) { GeanyDocument *doc = document_get_current(); gint doc_line = utils_current_line(doc); GtkTreeIter iter, iter1; gboolean valid = scp_tree_store_get_iter_first(store, &iter); gint found = 0; while (valid) { const char *id, *file; gint line; scp_tree_store_get(store, &iter, BREAK_ID, &id, BREAK_FILE, &file, BREAK_LINE, &line, -1); if (line == doc_line && !utils_filenamecmp(file, doc->real_path)) { if (found && found != utils_atoi0(id)) { dialogs_show_msgbox(GTK_MESSAGE_INFO, _("There are two or more breakpoints at %s:%d.\n\n" "Use the breakpoint list to remove the exact one."), doc->file_name, doc_line); return; } found = id ? atoi(id) : -1; iter1 = iter; } valid = scp_tree_store_iter_next(store, &iter); } if (found) break_delete(&iter1); else if (debug_state() != DS_INACTIVE) debug_send_format(N, "-break-insert %s:%d", doc->real_path, doc_line); else { scp_tree_store_append_with_values(store, &iter, NULL, BREAK_SCID, ++scid_gen, BREAK_TYPE, 'b', BREAK_ENABLED, TRUE, BREAK_RUN_APPLY, TRUE, -1); break_relocate(&iter, doc->real_path, doc_line); utils_tree_set_cursor(selection, &iter, 0.5); sci_set_marker_at_line(doc->editor->sci, doc_line - 1, MARKER_BREAKPT + TRUE); } } gboolean breaks_update(void) { debug_send_command(N, "04-break-list"); return TRUE; } static void break_iter_unmark(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { break_mark(iter, FALSE); } void breaks_delete_all(void) { store_foreach(store, (GFunc) break_iter_unmark, NULL); store_clear(store); scid_gen = 0; } enum { STRING_FILE, STRING_DISPLAY, STRING_FUNC, STRING_IGNORE, STRING_COND, STRING_SCRIPT, STRING_LOCATION, STRING_COUNT }; static const char *string_names[STRING_COUNT] = { "file", "display", "func", "ignore", "cond", "script", "location" }; static gboolean break_load(GKeyFile *config, const char *section) { guint i; gint line, type; gboolean enabled, pending, run_apply, temporary; char *strings[STRING_COUNT]; gboolean valid = FALSE; line = utils_get_setting_integer(config, section, "line", 0); type = utils_get_setting_integer(config, section, "type", 0); enabled = utils_get_setting_boolean(config, section, "enabled", TRUE); pending = utils_get_setting_boolean(config, section, "pending", FALSE); run_apply = utils_get_setting_boolean(config, section, "run_apply", strchr(BP_BORTS, type) != NULL); temporary = utils_get_setting_boolean(config, section, "temporary", FALSE); for (i = 0; i < STRING_COUNT; i++) strings[i] = utils_key_file_get_string(config, section, string_names[i]); if (type && strchr(BP_KNOWNS, type) && strings[STRING_LOCATION] && line >= 0) { GtkTreeIter iter; char *ignore = validate_column(strings[STRING_IGNORE], FALSE); if (!strings[STRING_FILE]) line = 0; scp_tree_store_append_with_values(store, &iter, NULL, BREAK_FILE, strings[STRING_FILE], BREAK_LINE, line, BREAK_SCID, ++scid_gen, BREAK_TYPE, type, BREAK_ENABLED, enabled, BREAK_DISPLAY, strings[STRING_DISPLAY], BREAK_FUNC, strings[STRING_FUNC], BREAK_IGNORE, ignore, BREAK_COND, strings[STRING_COND], BREAK_SCRIPT, strings[STRING_SCRIPT], BREAK_PENDING, pending, BREAK_LOCATION, strings[STRING_LOCATION], BREAK_RUN_APPLY, run_apply, BREAK_TEMPORARY, temporary, -1); break_mark(&iter, TRUE); valid = TRUE; } for (i = 0; i < STRING_COUNT; i++) g_free(strings[i]); return valid; } void breaks_load(GKeyFile *config) { breaks_delete_all(); utils_load(config, "break", break_load); } static gboolean break_save(GKeyFile *config, const char *section, GtkTreeIter *iter) { gint discard; scp_tree_store_get(store, iter, BREAK_DISCARD, &discard, -1); if (!discard) { guint i; gint line; char type; gboolean enabled, pending, run_apply, temporary; const char *strings[STRING_COUNT]; scp_tree_store_get(store, iter, BREAK_FILE, &strings[STRING_FILE], BREAK_LINE, &line, BREAK_TYPE, &type, BREAK_ENABLED, &enabled, BREAK_DISPLAY, &strings[STRING_DISPLAY], BREAK_FUNC, &strings[STRING_FUNC], BREAK_IGNORE, &strings[STRING_IGNORE], BREAK_COND, &strings[STRING_COND], BREAK_SCRIPT, &strings[STRING_SCRIPT], BREAK_PENDING, &pending, BREAK_LOCATION, &strings[STRING_LOCATION], BREAK_RUN_APPLY, &run_apply, BREAK_TEMPORARY, &temporary, -1); if (line) g_key_file_set_integer(config, section, "line", line); else g_key_file_remove_key(config, section, "line", NULL); g_key_file_set_integer(config, section, "type", type); g_key_file_set_boolean(config, section, "enabled", enabled); g_key_file_set_boolean(config, section, "pending", pending); g_key_file_set_boolean(config, section, "run_apply", run_apply); for (i = 0; i < STRING_COUNT; i++) { if (strings[i]) g_key_file_set_string(config, section, string_names[i], strings[i]); else g_key_file_remove_key(config, section, string_names[i], NULL); } if (strchr(BP_BORTS, type)) g_key_file_set_boolean(config, section, "temporary", temporary); else g_key_file_remove_key(config, section, "temporary", NULL); return TRUE; } return FALSE; } void breaks_save(GKeyFile *config) { store_save(store, config, "break", break_save); } static GObject *block_cells[EDITCOLS]; static void on_break_selection_changed(GtkTreeSelection *selection, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const char *id; gboolean editable; gint index; scp_tree_store_get(store, &iter, BREAK_ID, &id, -1); editable = !id || !strchr(id, '.'); for (index = 0; index < EDITCOLS; index++) g_object_set(block_cells[index], "editable", editable, NULL); } } static GtkTreeView *tree; static GtkTreeViewColumn *break_type_column; static GtkTreeViewColumn *break_display_column; #define gdk_rectangle_point_in(rect, x, y) ((guint) (x - rect.x) < (guint) rect.width && \ (guint) (y - rect.y) < (guint) rect.height) static gboolean on_break_query_tooltip(G_GNUC_UNUSED GtkWidget *widget, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, G_GNUC_UNUSED gpointer gdata) { GtkTreePath *path; GtkTreeIter iter; gboolean has_tip = FALSE; if (gtk_tree_view_get_tooltip_context(tree, &x, &y, keyboard_tip, NULL, &path, &iter)) { GString *text = g_string_sized_new(0xFF); GtkTreeViewColumn *tip_column = NULL; if (keyboard_tip) gtk_tree_view_get_cursor(tree, NULL, &tip_column); else { GdkRectangle rect; gtk_tree_view_get_background_area(tree, path, break_type_column, &rect); tip_column = gdk_rectangle_point_in(rect, x, y) ? break_type_column : NULL; if (!tip_column) { gtk_tree_view_get_background_area(tree, path, break_display_column, &rect); if (gdk_rectangle_point_in(rect, x, y)) tip_column = break_display_column; } } if (tip_column == break_type_column) { char type; gint discard; gboolean temporary; gtk_tree_view_set_tooltip_cell(tree, tooltip, NULL, tip_column, NULL); scp_tree_store_get(store, &iter, BREAK_TYPE, &type, BREAK_TEMPORARY, &temporary, BREAK_DISCARD, &discard, -1); g_string_append(text, break_types[strchr(BP_TYPES, type) - BP_TYPES].desc); has_tip = TRUE; if (break_infos[discard].text) g_string_append_printf(text, _(", %s"), break_infos[discard].text); if (temporary) g_string_append(text, ", temporary"); } else if (tip_column == break_display_column) { const char *file, *func; gint line; gtk_tree_view_set_tooltip_cell(tree, tooltip, NULL, tip_column, NULL); scp_tree_store_get(store, &iter, BREAK_FILE, &file, BREAK_LINE, &line, BREAK_FUNC, &func, -1); if (file) { g_string_append(text, file); if (line) g_string_append_printf(text, ":%d", line); has_tip = TRUE; } if (func) { if (has_tip) g_string_append(text, ", "); g_string_append_printf(text, _("func %s"), func); has_tip = TRUE; } } gtk_tooltip_set_text(tooltip, text->str); g_string_free(text, TRUE); gtk_tree_path_free(path); } return has_tip; } static void on_break_refresh(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_command(N, "02-break-list"); } static void on_break_unsorted(G_GNUC_UNUSED const MenuItem *menu_item) { scp_tree_store_set_sort_column_id(store, BREAK_SCID, GTK_SORT_ASCENDING); } static void on_break_insert(G_GNUC_UNUSED const MenuItem *menu_item) { GeanyDocument *doc = document_get_current(); GString *command = g_string_new("-break-insert "); if (doc && utils_source_document(doc)) g_string_append_printf(command, "%s:%d", doc->file_name, utils_current_line(doc)); view_command_line(command->str, _("Add Breakpoint"), " ", TRUE); g_string_free(command, TRUE); } static void on_break_watch(G_GNUC_UNUSED const MenuItem *menu_item) { gchar *expr = utils_get_default_selection(); GString *command = g_string_new("-break-watch "); if (expr) { g_string_append(command, expr); g_free(expr); } view_command_line(command->str, _("Add Watchpoint"), " ", TRUE); g_string_free(command, TRUE); } static void on_break_apply(const MenuItem *menu_item) { if (menu_item || thread_id) { GtkTreeIter iter; gtk_tree_selection_get_selected(selection, NULL, &iter); break_apply(&iter, !menu_item); } else plugin_beep(); } static void on_break_run_apply(const MenuItem *menu_item) { GtkTreeIter iter; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_set(store, &iter, BREAK_RUN_APPLY, gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menu_item->widget)), -1); } static void on_break_delete(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; gtk_tree_selection_get_selected(selection, NULL, &iter); break_delete(&iter); } static void break_seek_selected(gboolean focus) { GtkTreeViewColumn *column; gtk_tree_view_get_cursor(tree, NULL, &column); if (column) { static const char *unseeks[] = { "break_enabled_column", "break_ignore_column", "break_cond_column", "break_script_column", NULL }; const char *name = gtk_buildable_get_name(GTK_BUILDABLE(column)); const char **unseek; for (unseek = unseeks; *unseek; unseek++) if (!strcmp(*unseek, name)) return; } view_seek_selected(selection, focus, SK_DEFAULT); } static void on_break_view_source(G_GNUC_UNUSED const MenuItem *menu_item) { view_seek_selected(selection, FALSE, SK_DEFAULT); } #define DS_VIEWABLE (DS_BASICS | DS_EXTRA_2) #define DS_APPLIABLE (DS_SENDABLE | DS_EXTRA_1) #define DS_RUN_APPLY (DS_BASICS | DS_EXTRA_3) #define DS_DELETABLE (DS_NOT_BUSY | DS_EXTRA_3) static MenuItem break_menu_items[] = { { "break_refresh", on_break_refresh, DS_SENDABLE, NULL, NULL }, { "break_unsorted", on_break_unsorted, 0, NULL, NULL }, { "break_view_source", on_break_view_source, DS_VIEWABLE, NULL, NULL }, { "break_insert", on_break_insert, DS_SENDABLE, NULL, NULL }, { "break_watch", on_break_watch, DS_SENDABLE, NULL, NULL }, { "break_apply", on_break_apply, DS_APPLIABLE, NULL, NULL }, { "break_run_apply", on_break_run_apply, DS_RUN_APPLY, NULL, NULL }, { "break_delete", on_break_delete, DS_DELETABLE, NULL, NULL }, { NULL, NULL, 0, NULL, NULL } }; static guint break_menu_extra_state(void) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const char *id, *file; scp_tree_store_get(store, &iter, BREAK_ID, &id, BREAK_FILE, &file, -1); return (!id << DS_INDEX_1) | ((file != NULL) << DS_INDEX_2) | ((!id || !strchr(id, '.')) << DS_INDEX_3); } return 0; } static MenuInfo break_menu_info = { break_menu_items, break_menu_extra_state, 0 }; static gboolean on_break_key_press(GtkWidget *widget, GdkEventKey *event, G_GNUC_UNUSED gpointer gdata) { return menu_insert_delete(event, &break_menu_info, "break_insert", "break_delete") || on_view_key_press(widget, event, break_seek_selected); } static void on_break_menu_show(G_GNUC_UNUSED GtkWidget *widget, const MenuItem *menu_item) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { gboolean run_apply; scp_tree_store_get(store, &iter, BREAK_RUN_APPLY, &run_apply, -1); menu_item_set_active(menu_item, run_apply); } } static void on_break_apply_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { menu_shift_button_release(widget, event, menu, on_break_apply); } void break_init(void) { GtkWidget *menu; guint i; GtkCellRenderer *break_ignore = GTK_CELL_RENDERER(get_object("break_ignore")); break_type_column = get_column("break_type_column"); break_display_column = get_column("break_display_column"); tree = view_connect("break_view", &store, &selection, break_cells, "break_window", NULL); gtk_tree_view_column_set_cell_data_func(break_type_column, GTK_CELL_RENDERER(get_object("break_type")), break_type_set_data_func, NULL, NULL); gtk_tree_view_column_set_cell_data_func(get_column("break_ignore_column"), break_ignore, break_ignore_set_data_func, NULL, NULL); g_signal_connect(break_ignore, "editing-started", G_CALLBACK(on_break_ignore_editing_started), NULL); view_set_sort_func(store, BREAK_ID, break_id_compare); view_set_sort_func(store, BREAK_IGNORE, store_gint_compare); view_set_sort_func(store, BREAK_LOCATION, break_location_compare); for (i = 0; i < EDITCOLS; i++) block_cells[i] = get_object(break_cells[i + 1].name); g_signal_connect(selection, "changed", G_CALLBACK(on_break_selection_changed), NULL); gtk_widget_set_has_tooltip(GTK_WIDGET(tree), TRUE); g_signal_connect(tree, "query-tooltip", G_CALLBACK(on_break_query_tooltip), NULL); menu = menu_select("break_menu", &break_menu_info, selection); g_signal_connect(tree, "key-press-event", G_CALLBACK(on_break_key_press), NULL); g_signal_connect(tree, "button-press-event", G_CALLBACK(on_view_button_1_press), break_seek_selected); g_signal_connect(menu, "show", G_CALLBACK(on_break_menu_show), (gpointer) menu_item_find(break_menu_items, "break_run_apply")); g_signal_connect(get_widget("break_apply"), "button-release-event", G_CALLBACK(on_break_apply_button_release), menu); } void break_finalize(void) { store_foreach(store, (GFunc) break_iter_unmark, NULL); } geany-plugins-1.27/scope/src/scope.c0000644000175000017500000004461212671261352017704 0ustar00frlanfrlan00000000000000/* * scope.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include "common.h" GeanyPlugin *geany_plugin; GeanyData *geany_data; PLUGIN_VERSION_CHECK(224) PLUGIN_SET_TRANSLATABLE_INFO(LOCALEDIR, GETTEXT_PACKAGE, _("Scope Debugger"), _("Relatively simple GDB front-end."), "0.94", "Dimitar Toshkov Zhekov ") /* Keybinding(s) */ enum { /* Note: must match debug_menu_keys/items */ SET_PROGRAM_KB, RUN_CONTINUE_KB, GOTO_CURSOR_KB, GOTO_SOURCE_KB, STEP_INTO_KB, STEP_OVER_KB, STEP_OUT_KB, TERMINATE_KB, BREAKPOINT_KB, GDB_COMMAND_KB, #ifdef G_OS_UNIX SHOW_TERMINAL_KB, #endif EVALUATE_KB, WATCH_KB, INSPECT_KB, COUNT_KB }; static MenuKey debug_menu_keys[EVALUATE_KB] = { { "setup_program", N_("Setup program") }, { "run_continue", N_("Run/continue") }, { "goto_cursor", N_("Run to cursor") }, { "goto_source", N_("Run to source") }, { "step_into", N_("Step into") }, { "step_over", N_("Step over") }, { "step_out", N_("Step out") }, { "terminate", N_("Terminate") }, { "breakpoint", N_("Toggle breakpoint") }, #ifdef G_OS_UNIX { "gdb_command", N_("GDB command") }, { "show_terminal", N_("Show terminal") } #else { "gdb_command", N_("GDB command") } #endif }; static void on_scope_gdb_command(G_GNUC_UNUSED const MenuItem *menu_item) { view_command_line(NULL, NULL, NULL, FALSE); } static void on_scope_reset_markers(G_GNUC_UNUSED const MenuItem *menu_item) { utils_remark(document_get_current()); } static void on_scope_cleanup_files(G_GNUC_UNUSED const MenuItem *menu_item) { guint i; foreach_document(i) { if (utils_attrib(documents[i], SCOPE_OPEN)) document_close(documents[i]); } } static void on_scope_recent_item(G_GNUC_UNUSED const MenuItem *menu_item) { } /* Menu item(s) */ #define DS_RUNNABLE (DS_INACTIVE | DS_DEBUG | DS_HANGING) #define DS_JUMPABLE (DS_DEBUG | DS_EXTRA_2) #define DS_SOURCABLE (DS_DEBUG | DS_EXTRA_3) #define DS_STEPABLE (DS_DEBUG | DS_EXTRA_1) #define DS_BREAKABLE (DS_NOT_BUSY | DS_EXTRA_2) #define DS_RECENT (DS_INACTIVE | DS_EXTRA_4) static MenuItem debug_menu_items[] = { { "program_setup", on_program_setup, 0, NULL, NULL }, { "debug_run_continue", on_debug_run_continue, DS_RUNNABLE, NULL, NULL }, { "debug_goto_cursor", on_debug_goto_cursor, DS_JUMPABLE, NULL, NULL }, { "debug_goto_source", on_debug_goto_source, DS_SOURCABLE, NULL, NULL }, { "debug_step_into", on_debug_step_into, DS_STEPABLE, NULL, NULL }, { "debug_step_over", on_debug_step_over, DS_STEPABLE, NULL, NULL }, { "debug_step_out", on_debug_step_out, DS_DEBUG, NULL, NULL }, { "debug_terminate", on_debug_terminate, DS_ACTIVE, NULL, NULL }, { "break_toggle", on_break_toggle, DS_BREAKABLE, NULL, NULL }, { "scope_gdb_command", on_scope_gdb_command, DS_ACTIVE, NULL, NULL }, #ifdef G_OS_UNIX { "terminal_show", on_terminal_show, 0, NULL, NULL }, #endif { "scope_reset_markers", on_scope_reset_markers, 0, NULL, NULL }, { "scope_cleanup_files", on_scope_cleanup_files, 0, NULL, NULL }, { "scope_recent_item", on_scope_recent_item, DS_RECENT, NULL, NULL }, { NULL, NULL, 0, NULL, NULL } }; static guint debug_menu_extra_state(void) { GeanyDocument *doc = document_get_current(); return ((thread_state >= THREAD_AT_SOURCE) << DS_INDEX_1) | ((doc && utils_source_document(doc)) << DS_INDEX_2) | ((thread_state == THREAD_AT_ASSEMBLER) << DS_INDEX_3) | (recent_menu_items() << DS_INDEX_4); } static MenuInfo debug_menu_info = { debug_menu_items, debug_menu_extra_state, 0 }; static void on_scope_key(guint key_id) { menu_item_execute(&debug_menu_info, debug_menu_items + key_id, FALSE); } typedef struct _ToolItem { gint index; const char *icon[2]; GtkWidget *widget; } ToolItem; static ToolItem toolbar_items[] = { { RUN_CONTINUE_KB, { "small_run_continue_icon", "large_run_continue_icon" }, NULL }, { GOTO_CURSOR_KB, { "small_goto_cursor_icon", "large_goto_cursor_icon" }, NULL }, { GOTO_SOURCE_KB, { "small_goto_source_icon", "large_goto_source_icon" }, NULL }, { STEP_INTO_KB, { "small_step_into_icon", "large_step_into_icon" }, NULL }, { STEP_OVER_KB, { "small_step_over_icon", "large_step_over_icon" }, NULL }, { STEP_OUT_KB, { "small_step_out_icon", "large_step_out_icon" }, NULL }, { TERMINATE_KB, { "small_terminate_icon", "large_terminate_icon" }, NULL }, { BREAKPOINT_KB, { "small_breakpoint_icon", "large_breakpoint_icon", }, NULL }, { -1, { NULL, NULL }, NULL } }; static void on_toolbar_button_clicked(G_GNUC_UNUSED GtkToolButton *toolbutton, gpointer gdata) { menu_item_execute(&debug_menu_info, debug_menu_items + GPOINTER_TO_INT(gdata), TRUE); } static void on_toolbar_reconfigured(GtkToolItem *tool_item, ToolItem *item) { GtkToolShell *shell = GTK_TOOL_SHELL(gtk_widget_get_parent(item->widget)); gboolean large = gtk_tool_shell_get_icon_size(shell) > GTK_ICON_SIZE_MENU; gchar *tooltip = NULL; if (gtk_tool_shell_get_style(shell) == GTK_TOOLBAR_ICONS) { GtkMenuItem *menu_item = GTK_MENU_ITEM(debug_menu_items[item->index].widget); tooltip = g_strdup(gtk_menu_item_get_label(menu_item)); utils_str_remove_chars(tooltip, "_"); } gtk_tool_item_set_tooltip_text(tool_item, tooltip); g_free(tooltip); gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(tool_item), get_widget(item->icon[large])); } static void toolbar_update_state(DebugState state) { static DebugState last_state = 0; state |= debug_menu_extra_state(); if (state != last_state) { ToolItem *item; for (item = toolbar_items; item->index != -1; item++) { gtk_widget_set_sensitive(item->widget, menu_item_matches_state(debug_menu_items + item->index, state)); } last_state = state; } } static GtkStatusbar *geany_statusbar; static GtkWidget *debug_statusbar; static GtkLabel *debug_state_label; void statusbar_update_state(DebugState state) { static DebugState last_state = DS_INACTIVE; if (thread_state == THREAD_AT_ASSEMBLER) state = DS_EXTRA_1; if (state != last_state) { static const char *const states[] = { N_("Busy"), N_("Ready"), N_("Debug"), N_("Hang"), N_("Assem"), N_("Load"), NULL }; guint i; for (i = 0; states[i]; i++) if (state & (DS_BUSY << i)) break; gtk_label_set_text(debug_state_label, _(states[i])); if (state == DS_INACTIVE) { gtk_widget_hide(debug_statusbar); #if GTK_CHECK_VERSION(3, 0, 0) gtk_window_set_has_resize_grip(GTK_WINDOW(geany->main_widgets->window), TRUE); #else gtk_statusbar_set_has_resize_grip(geany_statusbar, TRUE); #endif } else if (last_state == DS_INACTIVE) { #if GTK_CHECK_VERSION(3, 0, 0) gtk_window_set_has_resize_grip(GTK_WINDOW(geany->main_widgets->window), FALSE); #else gtk_statusbar_set_has_resize_grip(geany_statusbar, FALSE); #endif gtk_widget_show(debug_statusbar); } last_state = state; } } static guint blink_id = 0; static gboolean plugin_unblink(G_GNUC_UNUSED gpointer gdata) { gtk_widget_set_state(debug_statusbar, GTK_STATE_NORMAL); blink_id = 0; return FALSE; } void plugin_blink(void) { if (pref_visual_beep_length) { if (blink_id) g_source_remove(blink_id); else gtk_widget_set_state(debug_statusbar, GTK_STATE_SELECTED); blink_id = plugin_timeout_add(geany_plugin, pref_visual_beep_length * 10, plugin_unblink, NULL); } } void plugin_beep(void) { if (geany_data->prefs->beep_on_errors) gdk_beep(); else plugin_blink(); } void update_state(DebugState state) { menu_update_state(state); program_update_state(state); toolbar_update_state(state); statusbar_update_state(state); views_update_state(state); } static void on_document_new(G_GNUC_UNUSED GObject *obj, GeanyDocument *doc, G_GNUC_UNUSED gpointer gdata) { prefs_apply(doc); } static void on_document_open(G_GNUC_UNUSED GObject *obj, GeanyDocument *doc, G_GNUC_UNUSED gpointer gdata) { prefs_apply(doc); breaks_mark(doc); if (debug_state() != DS_INACTIVE) threads_mark(doc); } static gboolean settings_saved(gpointer gdata) { guint i; foreach_document(i) { documents[i]->readonly = scintilla_send_message(documents[i]->editor->sci, SCI_GETREADONLY, 0, 0); } if (gdata) { conterm_load_config(); conterm_apply_config(); } return FALSE; } static void schedule_settings_saved(gboolean conterm) { guint i; plugin_idle_add(geany_plugin, settings_saved, GINT_TO_POINTER(conterm)); foreach_document(i) { if (utils_attrib(documents[i], SCOPE_LOCK)) documents[i]->readonly = FALSE; } } static void on_settings_save(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GKeyFile *keyfile, G_GNUC_UNUSED gpointer gdata) { configure_panel(); schedule_settings_saved(TRUE); } static void on_project_before_save(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GKeyFile *keyfile, G_GNUC_UNUSED gpointer gdata) { schedule_settings_saved(FALSE); } static gboolean on_editor_notify(G_GNUC_UNUSED GObject *obj, GeanyEditor *editor, SCNotification *nt, G_GNUC_UNUSED gpointer gdata) { GeanyDocument *doc = editor->document; if (nt->nmhdr.code == SCN_MODIFIED && nt->linesAdded && utils_source_document(doc)) { gboolean active = debug_state() != DS_INACTIVE; ScintillaObject *sci = editor->sci; gint start = sci_get_line_from_position(sci, nt->position); if (active) threads_delta(sci, doc->real_path, start, nt->linesAdded); breaks_delta(sci, doc->real_path, start, nt->linesAdded, active); } return FALSE; } static void on_document_filetype_set(G_GNUC_UNUSED GObject *obj, GeanyDocument *doc, G_GNUC_UNUSED GeanyFiletype *filetype_old, G_GNUC_UNUSED gpointer gdata) { DebugState state = debug_state(); utils_lock_unlock(doc, state != DS_INACTIVE && utils_source_document(doc)); toolbar_update_state(state); } static void on_document_activate(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GeanyDocument *doc, G_GNUC_UNUSED gpointer user_data) { toolbar_update_state(debug_state()); } static void on_project_open(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GKeyFile *config) { program_context_changed(); } static gboolean change_context(G_GNUC_UNUSED gpointer gdata) { program_context_changed(); return FALSE; } static void on_project_close(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GKeyFile *config) { plugin_idle_add(geany_plugin, change_context, NULL); } static void on_geany_startup_complete(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED gpointer gdata) { if (!geany->app->project) program_context_changed(); } static void on_build_start(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED gpointer gdata) { if (debug_state() != DS_INACTIVE && dialogs_show_question(_("Build action activated. " "Terminate debugging?"))) { on_debug_terminate(NULL); } } typedef struct _ScopeCallback /* we don't want callbacks on builder init failure */ { const char *name; GCallback callback; } ScopeCallback; static const ScopeCallback scope_callbacks[] = { { "document-new", G_CALLBACK(on_document_new) }, { "document-open", G_CALLBACK(on_document_open) }, { "document-reload", G_CALLBACK(on_document_open) }, { "save-settings", G_CALLBACK(on_settings_save) }, { "editor-notify", G_CALLBACK(on_editor_notify) }, { "document-filetype-set", G_CALLBACK(on_document_filetype_set) }, { "document-activate", G_CALLBACK(on_document_activate) }, { "document-save", G_CALLBACK(on_document_activate) }, { "project-before-save", G_CALLBACK(on_project_before_save) }, { "project-open", G_CALLBACK(on_project_open) }, { "project-close", G_CALLBACK(on_project_close) }, { "geany-startup-complete", G_CALLBACK(on_geany_startup_complete) }, { "build-start", G_CALLBACK(on_build_start) }, { NULL, NULL } }; static GtkBuilder *builder; GObject *get_object(const char *name) { #ifdef G_DISABLE_ASSERT return gtk_builder_get_object(builder, name); #else /* G_DISABLE_ASSERT */ GObject *object = gtk_builder_get_object(builder, name); if (!object) { fprintf(stderr, "Scope: object %s is missing\n", name); abort(); } return object; #endif /* G_DISABLE_ASSERT */ } GtkWidget *get_widget(const char *name) { #ifdef G_DISABLE_ASSERT return GTK_WIDGET(get_object(name)); #else /* !SC_DISABLE_ASSERT */ GObject *object = get_object(name); if (!GTK_IS_WIDGET(object)) { fprintf(stderr, "Scope: object %s is not a widget\n", name); abort(); } return GTK_WIDGET(object); #endif /* G_DISABLE_ASSERT */ } void configure_toolbar(void) { guint item; ToolItem *tool_item = toolbar_items; for (item = 0; tool_item->index != -1; item++, tool_item++) gtk_widget_set_visible(tool_item->widget, pref_show_toolbar_items & (1 << item)); } void plugin_help() { char *helpfile = g_build_filename(PLUGINHTMLDOCDIR, "scope.html", NULL); utils_open_browser(helpfile); g_free(helpfile); } #define DEBUG_MENU_ITEM_POS 7 static GtkWidget *debug_item; static GtkWidget *debug_panel; void open_debug_panel(void) { GtkNotebook *notebook = GTK_NOTEBOOK(geany->main_widgets->message_window_notebook); msgwin_switch_tab(gtk_notebook_page_num(notebook, debug_panel), TRUE); gtk_widget_grab_focus(debug_panel); } void configure_panel(void) { gboolean short_tab_names = pref_panel_tab_pos == GTK_POS_LEFT || pref_panel_tab_pos == GTK_POS_RIGHT || geany_data->interface_prefs->msgwin_orientation == GTK_ORIENTATION_HORIZONTAL; gtk_label_set_label(GTK_LABEL(get_widget("program_terminal_label")), short_tab_names ? _("Program") : _("Program Terminal")); gtk_label_set_label(GTK_LABEL(get_widget("break_view_label")), short_tab_names ? _("Breaks") : _("Breakpoints")); gtk_label_set_label(GTK_LABEL(get_widget("debug_console_label")), short_tab_names ? _("Console") : _("Debug Console")); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(debug_panel), pref_panel_tab_pos); } void plugin_init(G_GNUC_UNUSED GeanyData *gdata) { GeanyKeyGroup *scope_key_group; char *gladefile = g_build_filename(PLUGINDATADIR, "scope.glade", NULL); GError *gerror = NULL; GtkWidget *menubar1 = ui_lookup_widget(geany->main_widgets->window, "menubar1"); guint item; const MenuKey *menu_key = debug_menu_keys; ToolItem *tool_item = toolbar_items; const ScopeCallback *scb; scope_key_group = plugin_set_key_group(geany_plugin, "scope", COUNT_KB, NULL); builder = gtk_builder_new(); gtk_builder_set_translation_domain(builder, GETTEXT_PACKAGE); scp_tree_store_register_dynamic(); if (!gtk_builder_add_from_file(builder, gladefile, &gerror)) { msgwin_status_add(_("Scope: %s."), gerror->message); g_warning(_("Scope: %s."), gerror->message); g_error_free(gerror); g_object_unref(builder); builder = NULL; } g_free(gladefile); if (!builder) return; /* interface */ #ifndef G_OS_UNIX gtk_widget_hide(get_widget("terminal_show")); #endif debug_item = get_widget("debug_item"); if (menubar1) { GList *children = gtk_container_get_children(GTK_CONTAINER(menubar1)); GtkWidget *menu_build1 = ui_lookup_widget(menubar1, "menu_build1"); gtk_menu_shell_insert(GTK_MENU_SHELL(menubar1), debug_item, menu_build1 ? g_list_index(children, menu_build1) + 1 : DEBUG_MENU_ITEM_POS); } else gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), debug_item); menu_connect("debug_menu", &debug_menu_info, NULL); ui_add_document_sensitive(get_widget("scope_reset_markers")); ui_add_document_sensitive(get_widget("scope_cleanup_files")); for (item = 0; item < EVALUATE_KB; item++, menu_key++) { keybindings_set_item(scope_key_group, item, on_scope_key, 0, 0, menu_key->name, _(menu_key->label), debug_menu_items[item].widget); } geany_statusbar = GTK_STATUSBAR(gtk_widget_get_parent(geany->main_widgets->progressbar)); debug_statusbar = get_widget("debug_statusbar"); debug_state_label = GTK_LABEL(get_widget("debug_state_label")); gtk_box_pack_end(GTK_BOX(geany_statusbar), debug_statusbar, FALSE, FALSE, 0); debug_panel = get_widget("debug_panel"); gtk_notebook_append_page(GTK_NOTEBOOK(geany->main_widgets->message_window_notebook), debug_panel, get_widget("debug_label")); /* startup */ program_init(); prefs_init(); conterm_init(); inspect_init(); register_init(); parse_init(); utils_init(); debug_init(); views_init(); thread_init(); break_init(); watch_init(); stack_init(); local_init(); memory_init(); menu_init(); menu_set_popup_keybindings(scope_key_group, item); for (item = 0; tool_item->index != -1; item++, tool_item++) { GtkMenuItem *menu_item = GTK_MENU_ITEM(debug_menu_items[tool_item->index].widget); GtkToolItem *button = gtk_tool_button_new(NULL, gtk_menu_item_get_label(menu_item)); gtk_tool_button_set_use_underline(GTK_TOOL_BUTTON(button), gtk_menu_item_get_use_underline(menu_item)); g_signal_connect(button, "clicked", G_CALLBACK(on_toolbar_button_clicked), GINT_TO_POINTER(tool_item->index)); g_signal_connect(button, "toolbar-reconfigured", G_CALLBACK(on_toolbar_reconfigured), tool_item); tool_item->widget = GTK_WIDGET(button); plugin_add_toolbar_item(geany_plugin, button); } toolbar_update_state(DS_INACTIVE); views_update_state(DS_INACTIVE); configure_toolbar(); g_signal_connect(debug_panel, "switch-page", G_CALLBACK(on_view_changed), NULL); for (scb = scope_callbacks; scb->name; scb++) plugin_signal_connect(geany_plugin, NULL, scb->name, FALSE, scb->callback, NULL); } void plugin_cleanup(void) { ToolItem *item; if (!builder) return; gtk_widget_destroy(debug_item); gtk_widget_destroy(debug_panel); for (item = toolbar_items; item->index != -1; item++) gtk_widget_destroy(item->widget); /* shutdown */ tooltip_finalize(); program_finalize(); conterm_finalize(); registers_finalize(); inspect_finalize(); thread_finalize(); break_finalize(); memory_finalize(); menu_finalize(); views_finalize(); utils_finalize(); parse_finalize(); prefs_finalize(); debug_finalize(); gtk_widget_destroy(debug_statusbar); g_object_unref(builder); } geany-plugins-1.27/scope/src/Makefile.in0000644000175000017500000015010412671261403020463 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = scope/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(geanypluginsdir)" LTLIBRARIES = $(geanyplugins_LTLIBRARIES) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) scope_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am__dirstamp = $(am__leading_dot)dirstamp am_scope_la_OBJECTS = scope_la-break.lo scope_la-conterm.lo \ scope_la-debug.lo scope_la-inspect.lo scope_la-local.lo \ scope_la-memory.lo scope_la-menu.lo scope_la-parse.lo \ scope_la-plugme.lo scope_la-prefs.lo scope_la-program.lo \ scope_la-register.lo scope_la-scope.lo scope_la-stack.lo \ scope_la-thread.lo scope_la-tooltip.lo scope_la-utils.lo \ scope_la-views.lo scope_la-watch.lo \ store/scope_la-scptreedata.lo store/scope_la-scptreestore.lo scope_la_OBJECTS = $(am_scope_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = scope_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(scope_la_CFLAGS) \ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(scope_la_SOURCES) DIST_SOURCES = $(scope_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/cppcheck.mk \ $(top_srcdir)/build/vars.build.mk \ $(top_srcdir)/build/vars.docs.mk $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @MINGW_FALSE@GP_PREFIX = $(prefix) @MINGW_TRUE@GP_PREFIX = . @MINGW_FALSE@GP_DATADIR = $(datadir) @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR) @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale @MINGW_FALSE@GP_DOCDIR = $(docdir) @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE) @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir) @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE) @MINGW_FALSE@GP_LIBDIR = $(libdir) @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir) @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE) LOCAL_AM_CFLAGS = \ -DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \ -DPREFIX=\""$(GP_PREFIX)"\" \ -DDOCDIR=\""$(GP_DOCDIR)"\" \ -DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \ -DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \ -DLIBDIR=\""$(GP_LIBDIR)"\" \ -DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \ -DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \ -DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \ -DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \ -DPLUGIN="\"$(plugin)\"" AM_CFLAGS = \ ${LOCAL_AM_CFLAGS} \ $(GEANY_CFLAGS) \ $(GP_CFLAGS) AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS) COMMONLIBS = \ $(GEANY_LIBS) \ $(INTLLIBS) plugindocdir = $(docdir)/$(plugin) htmldocdir = $(plugindocdir) plugindatadir = $(pkgdatadir)/$(plugin) pluginlibdir = $(pkglibdir)/$(plugin) examplesdir = $(plugindatadir) geanyplugins_LTLIBRARIES = scope.la plugin = scope scope_la_SOURCES = \ break.c \ break.h \ common.h \ conterm.c \ conterm.h \ debug.c \ debug.h \ inspect.c \ inspect.h \ local.c \ local.h \ memory.c \ memory.h \ menu.c \ menu.h \ parse.c \ parse.h \ plugme.c \ plugme.h \ prefs.c \ prefs.h \ program.c \ program.h \ register.c \ register.h \ scope.c \ scope.h \ stack.c \ stack.h \ thread.c \ thread.h \ tooltip.c \ tooltip.h \ utils.c \ utils.h \ views.c \ views.h \ watch.c \ watch.h \ store.h \ store/scptreedata.h \ store/scptreedata.c \ store/scptreestore.h \ store/scptreestore.c scope_la_LIBADD = $(COMMONLIBS) $(VTE_LIBS) $(PTY_LIBS) scope_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"Scope\" scope_la_CFLAGS = $(AM_CFLAGS) $(VTE_CFLAGS) \ -DPLUGINHTMLDOCDIR=\"$(plugindocdir)/html\" \ -Wno-shadow # http://trac.cppcheck.net/ticket/7243 AM_CPPCHECKFLAGS = --suppress='unknownEvaluationOrder:$(srcdir)/store/scptreestore.c:909' all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/vars.docs.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign scope/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign scope/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/vars.docs.mk $(top_srcdir)/build/cppcheck.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \ } uninstall-geanypluginsLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \ done clean-geanypluginsLTLIBRARIES: -test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES) @list='$(geanyplugins_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } store/$(am__dirstamp): @$(MKDIR_P) store @: > store/$(am__dirstamp) store/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) store/$(DEPDIR) @: > store/$(DEPDIR)/$(am__dirstamp) store/scope_la-scptreedata.lo: store/$(am__dirstamp) \ store/$(DEPDIR)/$(am__dirstamp) store/scope_la-scptreestore.lo: store/$(am__dirstamp) \ store/$(DEPDIR)/$(am__dirstamp) scope.la: $(scope_la_OBJECTS) $(scope_la_DEPENDENCIES) $(EXTRA_scope_la_DEPENDENCIES) $(AM_V_CCLD)$(scope_la_LINK) -rpath $(geanypluginsdir) $(scope_la_OBJECTS) $(scope_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f store/*.$(OBJEXT) -rm -f store/*.lo distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-break.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-conterm.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-debug.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-inspect.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-local.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-memory.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-menu.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-parse.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-plugme.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-prefs.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-program.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-register.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-scope.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-stack.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-thread.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-tooltip.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-utils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-views.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scope_la-watch.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@store/$(DEPDIR)/scope_la-scptreedata.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@store/$(DEPDIR)/scope_la-scptreestore.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< scope_la-break.lo: break.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-break.lo -MD -MP -MF $(DEPDIR)/scope_la-break.Tpo -c -o scope_la-break.lo `test -f 'break.c' || echo '$(srcdir)/'`break.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-break.Tpo $(DEPDIR)/scope_la-break.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='break.c' object='scope_la-break.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-break.lo `test -f 'break.c' || echo '$(srcdir)/'`break.c scope_la-conterm.lo: conterm.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-conterm.lo -MD -MP -MF $(DEPDIR)/scope_la-conterm.Tpo -c -o scope_la-conterm.lo `test -f 'conterm.c' || echo '$(srcdir)/'`conterm.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-conterm.Tpo $(DEPDIR)/scope_la-conterm.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='conterm.c' object='scope_la-conterm.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-conterm.lo `test -f 'conterm.c' || echo '$(srcdir)/'`conterm.c scope_la-debug.lo: debug.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-debug.lo -MD -MP -MF $(DEPDIR)/scope_la-debug.Tpo -c -o scope_la-debug.lo `test -f 'debug.c' || echo '$(srcdir)/'`debug.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-debug.Tpo $(DEPDIR)/scope_la-debug.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='debug.c' object='scope_la-debug.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-debug.lo `test -f 'debug.c' || echo '$(srcdir)/'`debug.c scope_la-inspect.lo: inspect.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-inspect.lo -MD -MP -MF $(DEPDIR)/scope_la-inspect.Tpo -c -o scope_la-inspect.lo `test -f 'inspect.c' || echo '$(srcdir)/'`inspect.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-inspect.Tpo $(DEPDIR)/scope_la-inspect.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='inspect.c' object='scope_la-inspect.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-inspect.lo `test -f 'inspect.c' || echo '$(srcdir)/'`inspect.c scope_la-local.lo: local.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-local.lo -MD -MP -MF $(DEPDIR)/scope_la-local.Tpo -c -o scope_la-local.lo `test -f 'local.c' || echo '$(srcdir)/'`local.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-local.Tpo $(DEPDIR)/scope_la-local.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='local.c' object='scope_la-local.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-local.lo `test -f 'local.c' || echo '$(srcdir)/'`local.c scope_la-memory.lo: memory.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-memory.lo -MD -MP -MF $(DEPDIR)/scope_la-memory.Tpo -c -o scope_la-memory.lo `test -f 'memory.c' || echo '$(srcdir)/'`memory.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-memory.Tpo $(DEPDIR)/scope_la-memory.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='memory.c' object='scope_la-memory.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-memory.lo `test -f 'memory.c' || echo '$(srcdir)/'`memory.c scope_la-menu.lo: menu.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-menu.lo -MD -MP -MF $(DEPDIR)/scope_la-menu.Tpo -c -o scope_la-menu.lo `test -f 'menu.c' || echo '$(srcdir)/'`menu.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-menu.Tpo $(DEPDIR)/scope_la-menu.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='menu.c' object='scope_la-menu.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-menu.lo `test -f 'menu.c' || echo '$(srcdir)/'`menu.c scope_la-parse.lo: parse.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-parse.lo -MD -MP -MF $(DEPDIR)/scope_la-parse.Tpo -c -o scope_la-parse.lo `test -f 'parse.c' || echo '$(srcdir)/'`parse.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-parse.Tpo $(DEPDIR)/scope_la-parse.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parse.c' object='scope_la-parse.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-parse.lo `test -f 'parse.c' || echo '$(srcdir)/'`parse.c scope_la-plugme.lo: plugme.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-plugme.lo -MD -MP -MF $(DEPDIR)/scope_la-plugme.Tpo -c -o scope_la-plugme.lo `test -f 'plugme.c' || echo '$(srcdir)/'`plugme.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-plugme.Tpo $(DEPDIR)/scope_la-plugme.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugme.c' object='scope_la-plugme.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-plugme.lo `test -f 'plugme.c' || echo '$(srcdir)/'`plugme.c scope_la-prefs.lo: prefs.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-prefs.lo -MD -MP -MF $(DEPDIR)/scope_la-prefs.Tpo -c -o scope_la-prefs.lo `test -f 'prefs.c' || echo '$(srcdir)/'`prefs.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-prefs.Tpo $(DEPDIR)/scope_la-prefs.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='prefs.c' object='scope_la-prefs.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-prefs.lo `test -f 'prefs.c' || echo '$(srcdir)/'`prefs.c scope_la-program.lo: program.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-program.lo -MD -MP -MF $(DEPDIR)/scope_la-program.Tpo -c -o scope_la-program.lo `test -f 'program.c' || echo '$(srcdir)/'`program.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-program.Tpo $(DEPDIR)/scope_la-program.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='program.c' object='scope_la-program.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-program.lo `test -f 'program.c' || echo '$(srcdir)/'`program.c scope_la-register.lo: register.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-register.lo -MD -MP -MF $(DEPDIR)/scope_la-register.Tpo -c -o scope_la-register.lo `test -f 'register.c' || echo '$(srcdir)/'`register.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-register.Tpo $(DEPDIR)/scope_la-register.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='register.c' object='scope_la-register.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-register.lo `test -f 'register.c' || echo '$(srcdir)/'`register.c scope_la-scope.lo: scope.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-scope.lo -MD -MP -MF $(DEPDIR)/scope_la-scope.Tpo -c -o scope_la-scope.lo `test -f 'scope.c' || echo '$(srcdir)/'`scope.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-scope.Tpo $(DEPDIR)/scope_la-scope.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scope.c' object='scope_la-scope.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-scope.lo `test -f 'scope.c' || echo '$(srcdir)/'`scope.c scope_la-stack.lo: stack.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-stack.lo -MD -MP -MF $(DEPDIR)/scope_la-stack.Tpo -c -o scope_la-stack.lo `test -f 'stack.c' || echo '$(srcdir)/'`stack.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-stack.Tpo $(DEPDIR)/scope_la-stack.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stack.c' object='scope_la-stack.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-stack.lo `test -f 'stack.c' || echo '$(srcdir)/'`stack.c scope_la-thread.lo: thread.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-thread.lo -MD -MP -MF $(DEPDIR)/scope_la-thread.Tpo -c -o scope_la-thread.lo `test -f 'thread.c' || echo '$(srcdir)/'`thread.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-thread.Tpo $(DEPDIR)/scope_la-thread.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='thread.c' object='scope_la-thread.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-thread.lo `test -f 'thread.c' || echo '$(srcdir)/'`thread.c scope_la-tooltip.lo: tooltip.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-tooltip.lo -MD -MP -MF $(DEPDIR)/scope_la-tooltip.Tpo -c -o scope_la-tooltip.lo `test -f 'tooltip.c' || echo '$(srcdir)/'`tooltip.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-tooltip.Tpo $(DEPDIR)/scope_la-tooltip.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tooltip.c' object='scope_la-tooltip.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-tooltip.lo `test -f 'tooltip.c' || echo '$(srcdir)/'`tooltip.c scope_la-utils.lo: utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-utils.lo -MD -MP -MF $(DEPDIR)/scope_la-utils.Tpo -c -o scope_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-utils.Tpo $(DEPDIR)/scope_la-utils.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='scope_la-utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c scope_la-views.lo: views.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-views.lo -MD -MP -MF $(DEPDIR)/scope_la-views.Tpo -c -o scope_la-views.lo `test -f 'views.c' || echo '$(srcdir)/'`views.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-views.Tpo $(DEPDIR)/scope_la-views.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='views.c' object='scope_la-views.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-views.lo `test -f 'views.c' || echo '$(srcdir)/'`views.c scope_la-watch.lo: watch.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT scope_la-watch.lo -MD -MP -MF $(DEPDIR)/scope_la-watch.Tpo -c -o scope_la-watch.lo `test -f 'watch.c' || echo '$(srcdir)/'`watch.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/scope_la-watch.Tpo $(DEPDIR)/scope_la-watch.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='watch.c' object='scope_la-watch.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o scope_la-watch.lo `test -f 'watch.c' || echo '$(srcdir)/'`watch.c store/scope_la-scptreedata.lo: store/scptreedata.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT store/scope_la-scptreedata.lo -MD -MP -MF store/$(DEPDIR)/scope_la-scptreedata.Tpo -c -o store/scope_la-scptreedata.lo `test -f 'store/scptreedata.c' || echo '$(srcdir)/'`store/scptreedata.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) store/$(DEPDIR)/scope_la-scptreedata.Tpo store/$(DEPDIR)/scope_la-scptreedata.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='store/scptreedata.c' object='store/scope_la-scptreedata.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o store/scope_la-scptreedata.lo `test -f 'store/scptreedata.c' || echo '$(srcdir)/'`store/scptreedata.c store/scope_la-scptreestore.lo: store/scptreestore.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -MT store/scope_la-scptreestore.lo -MD -MP -MF store/$(DEPDIR)/scope_la-scptreestore.Tpo -c -o store/scope_la-scptreestore.lo `test -f 'store/scptreestore.c' || echo '$(srcdir)/'`store/scptreestore.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) store/$(DEPDIR)/scope_la-scptreestore.Tpo store/$(DEPDIR)/scope_la-scptreestore.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='store/scptreestore.c' object='store/scope_la-scptreestore.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(scope_la_CPPFLAGS) $(CPPFLAGS) $(scope_la_CFLAGS) $(CFLAGS) -c -o store/scope_la-scptreestore.lo `test -f 'store/scptreestore.c' || echo '$(srcdir)/'`store/scptreestore.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs -rm -rf store/.libs store/_libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @HAVE_CPPCHECK_FALSE@check-local: check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(geanypluginsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -rm -f store/$(DEPDIR)/$(am__dirstamp) -rm -f store/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) store/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-geanypluginsLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) store/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-geanypluginsLTLIBRARIES .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \ clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-geanypluginsLTLIBRARIES \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-geanypluginsLTLIBRARIES .PRECIOUS: Makefile @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir) @HAVE_CPPCHECK_TRUE@ $(CPPCHECK) \ @HAVE_CPPCHECK_TRUE@ -q --template gcc --error-exitcode=2 \ @HAVE_CPPCHECK_TRUE@ $(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \ @HAVE_CPPCHECK_TRUE@ $(srcdir) @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/scope/src/parse.c0000644000175000017500000004235012671261352017702 0ustar00frlanfrlan00000000000000/* * parse.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "common.h" static void parse_node_free(ParseNode *node, G_GNUC_UNUSED gpointer gdata) { if (node->type == PT_ARRAY) { parse_foreach((GArray *) node->value, (GFunc) parse_node_free, NULL); g_array_free((GArray *) node->value, TRUE); } } void parse_foreach(GArray *nodes, GFunc func, gpointer gdata) { const ParseNode *node = (const ParseNode *) nodes->data; const ParseNode *end = node + nodes->len; for (; node < end; node++) func((gpointer) node, gdata); } static void target_feature_node_check(const ParseNode *node, G_GNUC_UNUSED gpointer gdata) { if (!strcmp((const char *) node->value, "async")) pref_gdb_async_mode = TRUE; } static void on_target_features(GArray *nodes) { pref_gdb_async_mode = FALSE; parse_foreach(parse_lead_array(nodes), (GFunc) target_feature_node_check, NULL); } static void on_quiet_error(G_GNUC_UNUSED GArray *nodes) { plugin_blink(); } static void on_data_modified(G_GNUC_UNUSED GArray *nodes) { views_data_dirty(DS_BUSY); } typedef struct _ParseRoute { const char *prefix; void (*callback)(GArray *nodes); char mark; char newline; guint args; } ParseRoute; static const ParseRoute parse_routes[] = { { "*running,", on_thread_running, '\0', '\0', 0 }, { "*stopped,reason=\"exited", NULL, '\0', '\0', 0 }, { "*stopped,reason=\"breakpoint", on_break_stopped, '\0', '\0', 0 }, { "*stopped,", on_thread_stopped, '\0', '\0', 0 }, { "=thread-created,", on_thread_created, '\0', '\0', 0 }, { "=thread-exited,", on_thread_exited, '\0', '\0', 0 }, { "=thread-selected,id=\"", on_thread_selected, '\0', '\0', 1 }, { "=thread-group-started,id=\"", on_thread_group_started, '\0', '\0', 1 }, { "=thread-group-exited,id=\"", on_thread_group_exited, '\0', '\0', 1 }, { "=thread-group-added,id=\"", on_thread_group_added, '\0', '\0', 1 }, { "=thread-group-removed,id=\"", on_thread_group_removed, '\0', '\0', 1 }, { "=breakpoint-created,bkpt={", on_break_created, '\0', '\0', 1 }, { "=breakpoint-modified,bkpt={", on_break_created, '\0', '\0', 1 }, { "=breakpoint-deleted,id=\"", on_break_deleted, '\0', '\0', 1 }, { "^done,bkpt={", on_break_inserted, '\0', '\0', 1 }, { "^done,wpt={", on_break_inserted, '\0', '\0', 1 }, { "^done,hw-awpt={", on_break_inserted, '\0', '\0', 1 }, { "^done,hw-rwpt={", on_break_inserted, '\0', '\0', 1 }, { "^done,threads=[", on_thread_follow, '2', '\0', 1 }, { "^done,threads=[", on_thread_info, '\0', '\0', 1 }, { "^done,new-thread-id=\"", on_thread_selected, '\0', '\0', 1 }, { "^done,BreakpointTable={", on_break_list, '\0', '\0', 1 }, { "^done,frame={", on_stack_follow, '2', '\0', 0 }, { "^done,frame={", on_thread_frame, '4', '\0', 0 }, { "^done,stack=[", on_stack_frames, '*', '\0', 1 }, { "^done,stack-args=[", on_stack_arguments, '*', '\0', 1 }, { "^done,variables=[", on_local_variables, '*', '\0', 1 }, { "^done,line=\"", on_debug_list_source, '2', '\0', 2 }, { "^done,value=\"", on_inspect_evaluate, '2', '\0', 1 }, { "^done,value=\"", on_tooltip_value, '3', '\0', 1 }, { "^done,value=\"", on_inspect_evaluate, '4', '\0', 1 }, { "^done,value=\"", on_watch_value, '6', '\0', 1 }, { "^done,value=\"", on_inspect_assign, '7', '\0', 1 }, { "^done,value=\"", on_menu_evaluate_value, '8', '\0', 1 }, { "^done,name=\"", on_inspect_variable, '7', '\0', 1 }, { "^done,format=\"", on_inspect_format, '7', '\0', 1 }, { "^done,numchild=\"", on_inspect_children, '7', '\0', 2 }, { "^done,ndeleted=\"", on_inspect_ndeleted, '7', '\0', 0 }, { "^done,path_expr=\"", on_inspect_path_expr, '4', '\0', 1 }, { "^done,changelist=[", on_inspect_changelist, '\0', '\0', 1 }, { "^done,memory=[", on_memory_read_bytes, '\0', '\0', 1 }, { "^done,features=[", on_break_features, '5', '\0', 1 }, { "^done,features=[", on_target_features, '7', '\0', 1 }, { "^done,register-names=[", on_register_names, '\0', '\0', 1 }, { "^done,changed-registers=[", on_register_changes, '\0', '\0', 1 }, { "^done,register-values=[", on_register_values, '*', '\0', 1 }, { "^running", on_debug_loaded, '1', '\0', 0 }, { "^done", on_debug_loaded, '1', '\0', 0 }, { "^done", on_break_done, '2', '\0', 0 }, { "^done", on_debug_auto_run, '5', '\0', 0 }, { "^done", on_data_modified, '7', '\0', 0 }, { "^error,", on_debug_load_error, '1', '\n', 0 }, { "^error,", on_tooltip_error, '3', '\0', 0 }, { "^error", on_quiet_error, '4', '\0', 0 }, { "^error,", on_watch_error, '6', '\t', 0 }, { "^error,", on_debug_error, '\0', '\n', 0 }, { "^exit", on_debug_exit, '\0', '\0', 0 }, { NULL, NULL, '\0', '\0', 0 } }; static char *parse_error(const char *text) { dc_error("%s", text); return NULL; } char *parse_string(char *text, char newline) { char *out = text; while (*++text != '"') { if (*text == '\\') { switch (*++text) { case '\\' : case '"' : break; case 'n' : case 'N' : if (newline) { *text = newline; break; } case 't' : case 'T' : if (newline) { *text = '\t'; break; } default : text--; } } *out++ = *text; if (*text == '\0') return parse_error("\" expected"); } *out = '\0'; return text + 1; } /* no name checks: break script and break list w/ multi-location violate tuple/list syntax */ static char *parse_text(GArray *nodes, char *text, char end, char newline) { do { ParseNode node; /* gdb.info says "string", but... */ if (isalpha(*++text) || *text == '_') { node.name = text; while (isalnum(*++text) || (strchr("_.-", *text) && *text)); if (*text != '=') return parse_error("= expected"); *text++ = '\0'; } else node.name = ""; if (*text == '"') { node.type = PT_VALUE; node.value = text; text = parse_string(text, newline); if (!text && !newline) { parse_foreach(nodes, (GFunc) parse_node_free, NULL); g_array_set_size(nodes, 0); return NULL; } } else { static const char ends[2] = { ']', '}' }; gboolean brace = *text == '{'; GArray *array; if (!brace && *text != '[') return parse_error("\" { or [ expected"); array = g_array_new(FALSE, FALSE, sizeof(ParseNode)); node.type = PT_ARRAY; node.value = array; if (text[1] == ends[brace]) text += 2; else text = parse_text(array, text, ends[brace], newline); } if (end != '\0' || node.type == PT_VALUE || strcmp(node.name, "time")) g_array_append_val(nodes, node); if (!text) return NULL; } while (*text == ','); return *text == end ? text + (end != '\0') : parse_error(", or end expected"); } void parse_message(char *message, const char *token) { const ParseRoute *route; for (route = parse_routes; route->prefix; route++) if (g_str_has_prefix(message, route->prefix)) if (!route->mark || (token && (route->mark == '*' || route->mark == *token))) break; if (route->callback) { GArray *nodes = g_array_new(FALSE, FALSE, sizeof(ParseNode)); const char *comma = strchr(route->prefix, ','); if (comma) parse_text(nodes, message + (comma - route->prefix), '\0', route->newline); iff (nodes->len >= route->args, "missing argument(s)") { if (token) { ParseNode node = { "=token", PT_VALUE, (char *) token + 1 }; g_array_append_val(nodes, node); } route->callback(nodes); } parse_foreach(nodes, (GFunc) parse_node_free, NULL); g_array_free(nodes, TRUE); } } static char *parse_value(char *text, gint mr_mode) { GString *t = g_string_sized_new(strlen(text)); const char *s, *start = t->str; for (s = text; *s; s++) { switch (*s) { case '"' : case '\'' : { const char *q = s; while (*++s && *s != *q) { if (*s == '\\' && s[1]) s++; } if (*s && mr_mode >= MR_MODIFY) { char *end; if (strtol(start, &end, 0), end > start) { if (mr_mode == MR_MODSTR) g_string_truncate(t, start - t->str); else { if (t->len > 0 && isspace(t->str[t->len - 1])) g_string_truncate(t, t->len - 1); continue; } } else if (*q == '"') { g_string_append(t, "{ "); start = q + 1; while (++q != s) { if (q > start) g_string_append(t, ", "); g_string_append_c(t, '\''); g_string_append_c(t, *q); if (*q == '\\') { guint i = 0; do g_string_append_c(t, *++q); while (i++ < 2 && isdigit(*q)); } g_string_append_c(t, '\''); } g_string_append(t, " }"); continue; } } g_string_append_len(t, q, s - q); if (*s == '\0') { dc_error("%c expected", *q); return g_string_free(t, mr_mode == MR_EDITVC); } break; } case '{' : case ',' : start = t->str + t->len + 1 + (isspace(s[1]) != 0); break; case '=' : { if (isspace(s[1])) s++; if (mr_mode != MR_NEUTRAL) g_string_truncate(t, start - t->str); else { if (t->len > 0 && isspace(t->str[t->len - 1])) t->str[t->len - 1] = '='; else g_string_append_c(t, '='); } continue; } case '.' : if (strncmp(s, "...", 3)) break; case '<' : { if (mr_mode == MR_EDITVC) return g_string_free(t, TRUE); } } g_string_append_c(t, *s); } return g_string_free(t, FALSE); } gchar *parse_get_display_from_7bit(const char *text, gint hb_mode, gint mr_mode) { char *locale, *parsed; gchar *display; hb_mode = opt_hb_mode(hb_mode); mr_mode = opt_mr_mode(mr_mode); locale = hb_mode == HB_LOCALE || (hb_mode == HB_UTF8 && mr_mode <= MR_NEUTRAL) ? utils_get_locale_from_7bit(text) : g_strdup(text); parsed = locale && (mr_mode != MR_NEUTRAL || !option_long_mr_format) ? parse_value(locale, mr_mode) : g_strdup(locale); display = utils_get_display_from_locale(parsed, hb_mode); g_free(parsed); g_free(locale); return display; } const ParseNode *parse_find_node(GArray *nodes, const char *name) { const ParseNode *node = (const ParseNode *) nodes->data; const ParseNode *end = node + nodes->len; for (; node < end; node++) if (!strcmp(node->name, name)) return node; return NULL; } const void *parse_find_node_type(GArray *nodes, const char *name, ParseNodeType type) { const ParseNode *node = parse_find_node(nodes, name); if (node) { iff (node->type == type, "%s: found %s", name, type == PT_VALUE ? "array" : "value") return node->value; } return NULL; } const char *parse_grab_token(GArray *nodes) { const ParseNode *node = parse_find_node(nodes, "=token"); const char *token = NULL; if (node) { token = (const char *) node->value; g_array_remove_index(nodes, node - (const ParseNode *) nodes->data); } return token; } gchar *parse_get_error(GArray *nodes) { gchar *error = parse_find_value(nodes, "msg"); return error && *error ? utils_get_utf8_from_locale(error) : g_strdup(_("Undefined GDB error.")); } #define MAXLEN 0x7FF static GString *errors; static guint errors_id = 0; static guint error_count = 0; static gboolean errors_show(G_GNUC_UNUSED gpointer gdata) { errors_id = 0; error_count = 0; show_error("%s", errors->str); return FALSE; } void on_error(GArray *nodes) { gchar *error = parse_get_error(nodes); if (errors_id) g_string_append_c(errors, '\n'); else g_string_truncate(errors, 0); g_string_append(errors, error); error_count++; g_free(error); if (errors_id) { if (errors->len > MAXLEN || error_count >= 8) { g_source_remove(errors_id); errors_show(NULL); } } else errors_id = plugin_timeout_add(geany_plugin, 25, errors_show, NULL); } void parse_location(GArray *nodes, ParseLocation *loc) { const char *file = parse_find_locale(nodes, "file"); const char *line = parse_find_value(nodes, "line"); loc->base_name = utils_get_utf8_from_locale(file); loc->func = parse_find_locale(nodes, "func"); loc->addr = parse_find_value(nodes, "addr"); loc->file = parse_find_locale(nodes, "fullname"); loc->line = utils_atoi0(line); if (loc->file) { if (!loc->base_name) loc->base_name = utils_get_utf8_basename(loc->file); if (!g_path_is_absolute(loc->file)) loc->file = NULL; } if (!loc->file || G_UNLIKELY(loc->line < 0)) loc->line = 0; } static ScpTreeStore *parse_modes; enum { MODE_NAME = MODE_ENTRY + 1 }; static gboolean parse_mode_load(GKeyFile *config, const char *section) { char *name = utils_key_file_get_string(config, section, "name"); gint hb_mode = utils_get_setting_integer(config, section, "hbit", HB_DEFAULT); gint mr_mode = utils_get_setting_integer(config, section, "member", MR_DEFAULT); gboolean entry = utils_get_setting_boolean(config, section, "entry", TRUE); gboolean valid = FALSE; if (name && (unsigned) hb_mode < HB_COUNT && (unsigned) mr_mode < MR_MODIFY) { scp_tree_store_append_with_values(parse_modes, NULL, NULL, MODE_NAME, name, MODE_HBIT, hb_mode, MODE_MEMBER, mr_mode, MODE_ENTRY, entry, -1); valid = TRUE; } g_free(name); return valid; } static gboolean parse_mode_save(GKeyFile *config, const char *section, GtkTreeIter *iter) { const char *name; gint hb_mode, mr_mode; gboolean entry; scp_tree_store_get(parse_modes, iter, MODE_NAME, &name, MODE_HBIT, &hb_mode, MODE_MEMBER, &mr_mode, MODE_ENTRY, &entry, -1); if (hb_mode == HB_DEFAULT && mr_mode == MR_DEFAULT && entry) return FALSE; g_key_file_set_string(config, section, "name", name); g_key_file_set_integer(config, section, "hbit", hb_mode); g_key_file_set_integer(config, section, "member", mr_mode); g_key_file_set_boolean(config, section, "entry", entry); return TRUE; } char *parse_mode_reentry(const char *name) { return g_str_has_suffix(name, "@entry") ? g_strndup(name, strlen(name) - 6) : g_strdup_printf("%s@entry", name); } static char *parse_mode_pm_name(const char *name) { return g_strndup(name, strlen(name) - (g_str_has_suffix(name, "@entry") ? 6 : 0)); } gint parse_mode_get(const char *name, gint mode) { char *pm_name = parse_mode_pm_name(name); GtkTreeIter iter; gint value; if (store_find(parse_modes, &iter, MODE_NAME, pm_name)) scp_tree_store_get(parse_modes, &iter, mode, &value, -1); else value = mode == MODE_HBIT ? HB_DEFAULT : mode == MODE_MEMBER ? MR_DEFAULT : TRUE; g_free(pm_name); return value; } void parse_mode_update(const char *name, gint mode, gint value) { char *pm_name = parse_mode_pm_name(name); GtkTreeIter iter; if (!store_find(parse_modes, &iter, MODE_NAME, name)) { scp_tree_store_append_with_values(parse_modes, &iter, NULL, MODE_NAME, pm_name, MODE_HBIT, HB_DEFAULT, MODE_MEMBER, MR_DEFAULT, MODE_ENTRY, TRUE, -1); } g_free(pm_name); scp_tree_store_set(parse_modes, &iter, mode, value, -1); } gboolean parse_variable(GArray *nodes, ParseVariable *var, const char *children) { const char *name = parse_find_locale(nodes, "name"); iff (name, "no name") { var->name = name; var->value = parse_find_value(nodes, "value"); var->expr = NULL; if (children) { var->expr = parse_find_locale(nodes, "exp"); var->children = parse_find_value(nodes, children); var->numchild = utils_atoi0(var->children); } var->hb_mode = parse_mode_get(var->expr ? var->expr : name, MODE_HBIT); var->mr_mode = parse_mode_get(var->expr ? var->expr : name, MODE_MEMBER); var->display = parse_get_display_from_7bit(var->value, var->hb_mode, var->mr_mode); return TRUE; } return FALSE; } void parse_load(GKeyFile *config) { store_clear(parse_modes); utils_load(config, "parse", parse_mode_load); } void parse_save(GKeyFile *config) { store_save(parse_modes, config, "parse", parse_mode_save); } void parse_init(void) { errors = g_string_sized_new(MAXLEN); parse_modes = SCP_TREE_STORE(get_object("parse_mode_store")); scp_tree_store_set_sort_column_id(parse_modes, MODE_NAME, GTK_SORT_ASCENDING); } void parse_finalize(void) { g_string_free(errors, TRUE); } geany-plugins-1.27/scope/src/break.h0000644000175000017500000000313212671261352017654 0ustar00frlanfrlan00000000000000/* * break.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef BREAK_H void on_break_inserted(GArray *nodes); void on_break_done(GArray *nodes); void on_break_list(GArray *nodes); /* or info */ void on_break_stopped(GArray *nodes); /* thread */ void on_break_created(GArray *nodes); /* or modified */ void on_break_deleted(GArray *nodes); void on_break_features(GArray *nodes); void breaks_mark(GeanyDocument *doc); void breaks_clear(void); void breaks_reset(void); void breaks_apply(void); void breaks_query_async(GString *commands); void breaks_delta(ScintillaObject *sci, const char *real_path, gint start, gint delta, gboolean active); guint breaks_active(void); void on_break_toggle(const MenuItem *menu_item); gboolean breaks_update(void); void breaks_delete_all(void); void breaks_load(GKeyFile *config); void breaks_save(GKeyFile *config); void break_init(void); void break_finalize(void); #define BREAK_H 1 #endif geany-plugins-1.27/scope/src/prefs.h0000644000175000017500000000426012671261352017712 0ustar00frlanfrlan00000000000000/* * prefs.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef PREFS_H extern gchar *pref_gdb_executable; extern gboolean pref_gdb_async_mode; #ifndef G_OS_UNIX extern gboolean pref_async_break_bugs; #endif extern gboolean pref_var_update_bug; extern gboolean pref_auto_view_source; extern gboolean pref_keep_exec_point; extern gint pref_visual_beep_length; #ifdef G_OS_UNIX extern gboolean pref_debug_console_vte; #endif extern gint pref_sci_marker_first; extern gint pref_sci_caret_policy; extern gint pref_sci_caret_slop; extern gboolean pref_unmark_current_line; extern gboolean pref_scope_goto_cursor; extern gboolean pref_seek_with_navqueue; extern gint pref_panel_tab_pos; extern gint pref_show_recent_items; extern gint pref_show_toolbar_items; extern gint pref_tooltips_fail_action; extern gint pref_tooltips_send_delay; extern gint pref_tooltips_length; extern gint pref_memory_bytes_per_line; extern gchar *pref_memory_font; #ifdef G_OS_UNIX extern gboolean pref_terminal_padding; extern gint pref_terminal_window_x; extern gint pref_terminal_window_y; extern gint pref_terminal_width; extern gint pref_terminal_height; #endif /* geany terminal preferences */ extern gboolean pref_vte_blinken; extern gchar *pref_vte_emulation; extern gchar *pref_vte_font; extern gint pref_vte_scrollback; extern GdkColor pref_vte_colour_fore; extern GdkColor pref_vte_colour_back; void prefs_apply(GeanyDocument *doc); char *prefs_file_name(void); void prefs_init(void); void prefs_finalize(void); #define PREFS_H 1 #endif geany-plugins-1.27/scope/src/local.c0000644000175000017500000001443312671261352017663 0ustar00frlanfrlan00000000000000/* * local.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "common.h" enum { LOCAL_NAME, LOCAL_DISPLAY, LOCAL_VALUE, LOCAL_HB_MODE, LOCAL_MR_MODE, LOCAL_ARG1 }; static ScpTreeStore *store; static GtkTreeSelection *selection; static void on_local_display_edited(G_GNUC_UNUSED GtkCellRendererText *renderer, gchar *path_str, gchar *new_text, G_GNUC_UNUSED gpointer gdata) { view_display_edited(store, thread_state >= THREAD_STOPPED && frame_id, path_str, "07-gdb-set var %s=%s", new_text); } static const TreeCell local_cells[] = { { "local_display", G_CALLBACK(on_local_display_edited) }, { NULL, NULL } }; typedef struct _LocalData { char *name; gboolean entry; } LocalData; static void local_node_variable(const ParseNode *node, const LocalData *ld) { iff (node->type == PT_ARRAY, "variables: contains value") { GArray *nodes = (GArray *) node->value; ParseVariable var; if (parse_variable(nodes, &var, NULL)) { GtkTreeIter iter; const char *arg1 = parse_find_value(nodes, "arg"); if (!arg1 || ld->entry || !g_str_has_suffix(var.name, "@entry")) { scp_tree_store_append_with_values(store, &iter, NULL, LOCAL_NAME, var.name, LOCAL_DISPLAY, var.display, LOCAL_VALUE, var.value, LOCAL_HB_MODE, var.hb_mode, LOCAL_MR_MODE, var.mr_mode, LOCAL_ARG1, arg1, -1); if (!g_strcmp0(var.name, ld->name)) gtk_tree_selection_select_iter(selection, &iter); } parse_variable_free(&var); } } } void on_local_variables(GArray *nodes) { if (utils_matches_frame(parse_grab_token(nodes))) { GtkTreeIter iter; LocalData ld = { NULL, stack_entry() }; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) gtk_tree_model_get((GtkTreeModel *) store, &iter, LOCAL_NAME, &ld.name, -1); locals_clear(); parse_foreach(parse_lead_array(nodes), (GFunc) local_node_variable, &ld); g_free(ld.name); } } void locals_clear(void) { store_clear(store); } static void locals_send_update(char token) { debug_send_format(F, "0%c%c%s%s-stack-list-variables 1", token, FRAME_ARGS); } gboolean locals_update(void) { if (view_stack_update()) return FALSE; if (frame_id) locals_send_update('4'); else locals_clear(); return TRUE; } static GObject *local_display; void locals_update_state(DebugState state) { g_object_set(local_display, "editable", (state & DS_DEBUG) != 0, NULL); } static void on_local_refresh(G_GNUC_UNUSED const MenuItem *menu_item) { locals_send_update('2'); } static void on_local_unsorted(G_GNUC_UNUSED const MenuItem *menu_item) { gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static void on_local_copy(const MenuItem *menu_item) { menu_copy(selection, menu_item); } static void on_local_modify(const MenuItem *menu_item) { menu_modify(selection, menu_item); } static void on_local_watch(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; const char *name; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, LOCAL_NAME, &name, -1); watch_add(name); } static void on_local_inspect(G_GNUC_UNUSED const MenuItem *menu_item) { menu_inspect(selection); } static void on_local_hbit_display(const MenuItem *menu_item) { menu_hbit_display(selection, menu_item); } static void on_local_hbit_update(const MenuItem *menu_item) { menu_hbit_update(selection, menu_item); } static void on_local_mr_mode(const MenuItem *menu_item) { menu_mber_update(selection, menu_item); } #define DS_FRESHABLE (DS_DEBUG | DS_EXTRA_2) #define DS_COPYABLE (DS_BASICS | DS_EXTRA_1) #define DS_MODIFYABLE (DS_DEBUG | DS_EXTRA_2) #define DS_WATCHABLE (DS_BASICS | DS_EXTRA_1) #define DS_INSPECTABLE (DS_NOT_BUSY | DS_EXTRA_1) #define DS_REPARSABLE (DS_BASICS | DS_EXTRA_1) static MenuItem local_menu_items[] = { { "local_refresh", on_local_refresh, DS_FRESHABLE, NULL, NULL }, { "local_unsorted", on_local_unsorted, 0, NULL, NULL }, { "local_copy", on_local_copy, DS_COPYABLE, NULL, NULL }, { "local_modify", on_local_modify, DS_MODIFYABLE, NULL, NULL }, { "local_watch", on_local_watch, DS_WATCHABLE, NULL, NULL }, { "local_inspect", on_local_inspect, DS_INSPECTABLE, NULL, NULL }, MENU_HBIT_ITEMS(local), { "local_mr_mode", on_local_mr_mode, DS_REPARSABLE, NULL, NULL }, { NULL, NULL, 0, NULL, NULL } }; static guint local_menu_extra_state(void) { return (gtk_tree_selection_get_selected(selection, NULL, NULL) << DS_INDEX_1) | ((frame_id != NULL) << DS_INDEX_2); } static MenuInfo local_menu_info = { local_menu_items, local_menu_extra_state, 0 }; static void on_local_menu_show(G_GNUC_UNUSED GtkWidget *widget, G_GNUC_UNUSED gpointer gdata) { menu_mber_display(selection, menu_item_find(local_menu_items, "local_mr_mode")); } static void on_local_modify_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { menu_shift_button_release(widget, event, menu, on_local_modify); } static void on_local_mr_mode_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { menu_mber_button_release(selection, widget, event, menu); } void local_init(void) { GtkWidget *menu; view_connect("local_view", &store, &selection, local_cells, "local_window", &local_display); menu = menu_select("local_menu", &local_menu_info, selection); g_signal_connect(menu, "show", G_CALLBACK(on_local_menu_show), NULL); g_signal_connect(get_widget("local_modify"), "button-release-event", G_CALLBACK(on_local_modify_button_release), menu); g_signal_connect(get_widget("local_mr_mode"), "button-release-event", G_CALLBACK(on_local_mr_mode_button_release), menu); } geany-plugins-1.27/scope/src/inspect.h0000644000175000017500000000276612671261352020251 0ustar00frlanfrlan00000000000000/* * inspect.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef INSPECT_H void on_inspect_variable(GArray *nodes); void on_inspect_format(GArray *nodes); void on_inspect_evaluate(GArray *nodes); void on_inspect_assign(GArray *nodes); void on_inspect_children(GArray *nodes); void on_inspect_ndeleted(GArray *nodes); void on_inspect_path_expr(GArray *nodes); void on_inspect_changelist(GArray *nodes); void on_inspect_signal(const char *name); void inspects_clear(void); gboolean inspects_update(void); void inspects_apply(void); #define EXPAND_MAX 99999 void inspect_add(const char *text); void inspects_update_state(DebugState state); void inspects_delete_all(void); void inspects_load(GKeyFile *config); void inspects_save(GKeyFile *config); void inspect_init(void); void inspect_finalize(void); #define INSPECT_H 1 #endif geany-plugins-1.27/scope/src/tooltip.h0000644000175000017500000000202712671261352020264 0ustar00frlanfrlan00000000000000/* * tooltip.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef TOOLTIP_H void on_tooltip_error(GArray *nodes); void on_tooltip_value(GArray *nodes); void tooltip_attach(GeanyEditor *editor); void tooltip_remove(GeanyEditor *editor); void tooltip_clear(void); gboolean tooltip_update(void); void tooltip_finalize(void); #define TOOLTIP_H 1 #endif geany-plugins-1.27/scope/src/inspect.c0000644000175000017500000010123612671261352020234 0ustar00frlanfrlan00000000000000/* * inspect.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "common.h" enum { INSPECT_VAR1, INSPECT_DISPLAY, INSPECT_VALUE, INSPECT_HB_MODE, INSPECT_SCID, INSPECT_EXPR, INSPECT_NAME, INSPECT_FRAME, INSPECT_RUN_APPLY, INSPECT_START, INSPECT_COUNT, INSPECT_EXPAND, INSPECT_NUMCHILD, INSPECT_FORMAT, INSPECT_PATH_EXPR }; enum { FORMAT_NATURAL, FORMAT_DECIMAL, FORMAT_HEX, FORMAT_OCTAL, FORMAT_BINARY, FORMAT_COUNT }; static GtkTreeView *tree; static ScpTreeStore *store; static GtkTreeSelection *selection; static gint scid_gen = 0; static void append_stub(GtkTreeIter *parent, const gchar *text, gboolean expand) { scp_tree_store_append_with_values(store, NULL, parent, INSPECT_EXPR, text, INSPECT_EXPAND, expand, -1); } #define append_ellipsis(parent, expand) append_stub((parent), _("..."), (expand)) static gboolean inspect_find_recursive(GtkTreeIter *iter, gint i, const char *key) { do { gboolean flag = !key; if (flag) { gint scid; scp_tree_store_get(store, iter, INSPECT_SCID, &scid, -1); if (scid == i) return TRUE; } else { const char *var1; size_t len; scp_tree_store_get(store, iter, INSPECT_VAR1, &var1, -1); len = var1 ? strlen(var1) : 0; if (var1 && !strncmp(key, var1, len)) { if (key[len] == '\0') return TRUE; flag = key[len] == '.' && key[len + 1]; } } if (flag) { GtkTreeIter child; if (scp_tree_store_iter_children(store, &child, iter) && inspect_find_recursive(&child, i, key)) { *iter = child; return TRUE; } } } while (scp_tree_store_iter_next(store, iter)); return FALSE; } static gboolean inspect_find(GtkTreeIter *iter, gboolean string, const char *key) { if (scp_tree_store_get_iter_first(store, iter) && inspect_find_recursive(iter, atoi(key), string ? key : NULL)) { return TRUE; } if (!string) dc_error("%s: i_scid not found", key); return FALSE; } static gint inspect_get_scid(GtkTreeIter *iter) { gint scid; scp_tree_store_get(store, iter, INSPECT_SCID, &scid, -1); if (!scid) scp_tree_store_set(store, iter, INSPECT_SCID, scid = ++scid_gen, -1); return scid; } static void inspect_expand(GtkTreeIter *iter) { const char *var1; gint scid, start, count, numchild; char *s; scid = inspect_get_scid(iter); scp_tree_store_get(store, iter, INSPECT_VAR1, &var1, INSPECT_START, &start, INSPECT_COUNT, &count, INSPECT_NUMCHILD, &numchild, -1); s = g_strdup_printf("%d", start); debug_send_format(N, "07%c%d%d-var-list-children 1 %s %d %d", '0' + (int) strlen(s) - 1, start, scid, var1, start, count ? start + count : numchild); g_free(s); } static void on_jump_to_menu_item_activate(GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; const gchar *expr = gtk_menu_item_get_label(menuitem); if (store_find(store, &iter, INSPECT_EXPR, expr)) utils_tree_set_cursor(selection, &iter, 0); } static GtkWidget *jump_to_item; static GtkContainer *jump_to_menu; static gchar *jump_to_expr = NULL; static void on_inspect_row_inserted(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { if (gtk_tree_path_get_depth(path) == 1) { GtkWidget *item; const gint *index = gtk_tree_path_get_indices(path); g_free(jump_to_expr); gtk_tree_model_get(model, iter, INSPECT_EXPR, &jump_to_expr, -1); item = gtk_menu_item_new_with_label(jump_to_expr ? jump_to_expr : ""); gtk_widget_show(item); gtk_menu_shell_insert(GTK_MENU_SHELL(jump_to_menu), item, *index); g_signal_connect(item, "activate", G_CALLBACK(on_jump_to_menu_item_activate), NULL); } } static void on_inspect_row_changed(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { if (!jump_to_expr && gtk_tree_path_get_depth(path) == 1) { const gint *index = gtk_tree_path_get_indices(path); GList *list = gtk_container_get_children(jump_to_menu); gpointer item = g_list_nth_data(list, *index); gtk_tree_model_get(model, iter, INSPECT_EXPR, &jump_to_expr, -1); if (jump_to_expr) gtk_menu_item_set_label(GTK_MENU_ITEM(item), jump_to_expr); g_list_free(list); } } static void on_inspect_row_deleted(GtkTreeModel *model, GtkTreePath *path, G_GNUC_UNUSED gpointer gdata) { if (gtk_tree_path_get_depth(path) == 1) { const gint *index = gtk_tree_path_get_indices(path); GList *list = gtk_container_get_children(jump_to_menu); gpointer item = g_list_nth_data(list, *index); GtkTreeIter iter; gtk_container_remove(jump_to_menu, GTK_WIDGET(item)); if (!gtk_tree_model_get_iter_first(model, &iter)) gtk_widget_set_sensitive(jump_to_item, FALSE); g_list_free(list); } } static const MenuItem *apply_item; static gchar *inspect_redisplay(GtkTreeIter *iter, const char *value, gchar *display) { gint hb_mode; scp_tree_store_get(store, iter, INSPECT_HB_MODE, &hb_mode, -1); g_free(display); return value && *value ? utils_get_display_from_7bit(value, hb_mode) : g_strdup("??"); } static gint inspect_variable_store(GtkTreeIter *iter, const ParseVariable *var) { gint format; gboolean expand; scp_tree_store_get(store, iter, INSPECT_EXPAND, &expand, INSPECT_FORMAT, &format, -1); scp_tree_store_set(store, iter, INSPECT_VAR1, var->name, INSPECT_DISPLAY, var->display, INSPECT_VALUE, var->value, INSPECT_NUMCHILD, var->numchild, -1); if (var->numchild) { append_ellipsis(iter, TRUE); if (expand) inspect_expand(iter); } return format; } static const char *const inspect_formats[FORMAT_COUNT] = { "natural", "decimal", "hexadecimal", "octal", "binary" }; void on_inspect_variable(GArray *nodes) { GtkTreeIter iter; const char *token = parse_grab_token(nodes); iff (store_find(store, &iter, INSPECT_SCID, token), "%s: no vid", token) { ParseVariable var; gint format; parse_variable(nodes, &var, "numchild"); var.display = inspect_redisplay(&iter, var.value, var.display); scp_tree_store_clear_children(store, &iter, FALSE); if ((format = inspect_variable_store(&iter, &var)) != FORMAT_NATURAL) { debug_send_format(N, "07%s-var-set-format %s %s", token, var.name, inspect_formats[format]); } if (gtk_tree_selection_iter_is_selected(selection, &iter)) menu_item_set_active(apply_item, TRUE); parse_variable_free(&var); } } static void inspect_set(GArray *nodes, const char *value, gint format) { const char *token = parse_grab_token(nodes); GtkTreeIter iter; if (inspect_find(&iter, FALSE, token)) { if (!value || *value) { gchar *display = inspect_redisplay(&iter, value, NULL); scp_tree_store_set(store, &iter, INSPECT_DISPLAY, display, INSPECT_VALUE, value, -1); g_free(display); } else { scp_tree_store_get(store, &iter, INSPECT_VALUE, &value, -1); if (value) { scp_tree_store_set(store, &iter, INSPECT_DISPLAY, "??", INSPECT_VALUE, NULL); } } if (format < FORMAT_COUNT) scp_tree_store_set(store, &iter, INSPECT_FORMAT, format, -1); } } void on_inspect_format(GArray *nodes) { const char *fmtstr = parse_lead_value(nodes); gint format; for (format = FORMAT_NATURAL; format < FORMAT_COUNT; format++) if (!strcmp(inspect_formats[format], fmtstr)) break; iff (format < FORMAT_COUNT, "bad format") inspect_set(nodes, parse_find_value(nodes, "value"), format); } void on_inspect_evaluate(GArray *nodes) { inspect_set(nodes, parse_lead_value(nodes), FORMAT_COUNT); } void on_inspect_assign(GArray *nodes) { on_inspect_evaluate(nodes); views_data_dirty(DS_BUSY); } static void inspect_node_append(const ParseNode *node, GtkTreeIter *parent) { GArray *nodes = (GArray *) node->value; ParseVariable var; if (node->type == PT_VALUE || !parse_variable(nodes, &var, "numchild")) append_stub(parent, _("invalid data"), FALSE); else { GtkTreeIter iter; scp_tree_store_append(store, &iter, parent); inspect_variable_store(&iter, &var); scp_tree_store_set(store, &iter, INSPECT_EXPR, var.expr ? var.expr : var.name, INSPECT_HB_MODE, var.hb_mode, INSPECT_FORMAT, FORMAT_NATURAL, -1); parse_variable_free(&var); } } void on_inspect_children(GArray *nodes) { char *token = (char *) parse_grab_token(nodes); size_t size = *token - '0' + 2; iff (strlen(token) >= size + 1, "bad token") { GtkTreeIter iter; if (inspect_find(&iter, FALSE, token + size)) { gint from; GtkTreePath *path = scp_tree_store_get_path(store, &iter); token[size] = '\0'; from = atoi(token + 1); scp_tree_store_clear_children(store, &iter, FALSE); if ((nodes = parse_find_array(nodes, "children")) == NULL) append_stub(&iter, _("no children in range"), FALSE); else { gint numchild, end; const char *var1; if (from) append_ellipsis(&iter, FALSE); scp_tree_store_get(store, &iter, INSPECT_VAR1, &var1, INSPECT_NUMCHILD, &numchild, -1); parse_foreach(nodes, (GFunc) inspect_node_append, &iter); end = from + nodes->len; if (nodes->len && (from || end < numchild)) { debug_send_format(N, "04-var-set-update-range %s %d %d", var1, from, end); } if (nodes->len ? end < numchild : !from) append_ellipsis(&iter, FALSE); } gtk_tree_view_expand_row(tree, path, FALSE); gtk_tree_path_free(path); } } } static void inspect_iter_clear(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { scp_tree_store_clear_children(store, iter, FALSE); scp_tree_store_set(store, iter, INSPECT_DISPLAY, NULL, INSPECT_VALUE, NULL, INSPECT_VAR1, NULL, INSPECT_NUMCHILD, 0, INSPECT_PATH_EXPR, NULL, -1); if (gtk_tree_selection_iter_is_selected(selection, iter)) menu_item_set_active(apply_item, FALSE); } void on_inspect_ndeleted(GArray *nodes) { const char *token = parse_grab_token(nodes); iff (*token <= '1', "%s: invalid i_oper", token) { GtkTreeIter iter; if (inspect_find(&iter, FALSE, token + 1)) { if (*token == '0') inspect_iter_clear(&iter, NULL); else scp_tree_store_remove(store, &iter); } } } void on_inspect_path_expr(GArray *nodes) { const char *token = parse_grab_token(nodes); GtkTreeIter iter; if (inspect_find(&iter, FALSE, token)) scp_tree_store_set(store, &iter, INSPECT_PATH_EXPR, parse_lead_value(nodes), -1); } static void inspect_node_change(const ParseNode *node, G_GNUC_UNUSED gpointer gdata) { iff (node->type == PT_ARRAY, "changelist: contains value") { GArray *nodes = (GArray *) node->value; ParseVariable var; GtkTreeIter iter; if (parse_variable(nodes, &var, "new_num_children") && inspect_find(&iter, TRUE, var.name)) { const char *in_scope = parse_find_value(nodes, "in_scope"); if (!g_strcmp0(in_scope, "false")) { scp_tree_store_set(store, &iter, INSPECT_DISPLAY, _("out of scope"), INSPECT_VALUE, NULL, -1); } else if (!g_strcmp0(in_scope, "invalid")) { debug_send_format(N, "070%d-var-delete %s", inspect_get_scid(&iter), var.name); } else { var.display = inspect_redisplay(&iter, var.value, var.display); if (var.children) { scp_tree_store_clear_children(store, &iter, FALSE); inspect_variable_store(&iter, &var); } else { scp_tree_store_set(store, &iter, INSPECT_DISPLAY, var.display, INSPECT_VALUE, var.value, -1); } } } parse_variable_free(&var); } } static gboolean query_all_inspects = FALSE; void on_inspect_changelist(GArray *nodes) { GArray *changelist = parse_lead_array(nodes); const char *token = parse_grab_token(nodes); if (token) { iff (*token <= '1', "%s: invalid i_oper", token) if (*token == '0') parse_foreach(changelist, (GFunc) inspect_node_change, NULL); } else if (changelist->len) query_all_inspects = TRUE; } static void inspect_apply(GtkTreeIter *iter) { gint scid; const gchar *expr; const char *name, *frame; char *locale; scp_tree_store_get(store, iter, INSPECT_EXPR, &expr, INSPECT_SCID, &scid, INSPECT_NAME, &name, INSPECT_FRAME, &frame, -1); locale = utils_get_locale_from_utf8(expr); debug_send_format(F, "07%d-var-create %s %s %s", scid, name, frame, locale); g_free(locale); } void on_inspect_signal(const char *name) { GtkTreeIter iter; iff (isalpha(*name), "%s: invalid var name", name) { iff (store_find(store, &iter, INSPECT_NAME, name), "%s: var not found", name) { const char *var1; scp_tree_store_get(store, &iter, INSPECT_VAR1, &var1, -1); iff (!var1, "%s: already applied", name) inspect_apply(&iter); } } } void inspects_clear(void) { store_foreach(store, (GFunc) inspect_iter_clear, NULL); query_all_inspects = FALSE; } static gint inspect_iter_refresh(ScpTreeStore *store, GtkTreeIter *iter, gpointer gdata) { const char *var1; gint numchild; scp_tree_store_get(store, iter, INSPECT_VAR1, &var1, INSPECT_NUMCHILD, &numchild, -1); if (var1 && !numchild) { debug_send_format(F, "0%c%d-var-evaluate-expression %s", GPOINTER_TO_INT(gdata), inspect_get_scid(iter), var1); } return FALSE; } static void inspects_send_refresh(char token) { scp_tree_store_traverse(store, TRUE, NULL, NULL, inspect_iter_refresh, GINT_TO_POINTER((gint) token)); query_all_inspects = FALSE; } gboolean inspects_update(void) { if (query_all_inspects) inspects_send_refresh('4'); else debug_send_command(F, "040-var-update 1 *"); return TRUE; } static void inspect_iter_apply(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { const char *var1, *frame; gboolean run_apply; scp_tree_store_get(store, iter, INSPECT_VAR1, &var1, INSPECT_FRAME, &frame, INSPECT_RUN_APPLY, &run_apply, -1); if (run_apply && !var1 && !isdigit(*frame)) inspect_apply(iter); } void inspects_apply(void) { store_foreach(store, (GFunc) inspect_iter_apply, NULL); } static gboolean inspect_name_valid(const char *name) { return !strcmp(name, "-") || isalpha(*name); } static gboolean inspect_frame_valid(const char *frame) { char *end; strtol(frame, &end, 0); return !strcmp(frame, "*") || !strcmp(frame, "@") || (end > frame && *end == '\0'); } static GtkWidget *inspect_dialog; static GtkEntry *inspect_expr; static GtkEntry *inspect_name; static GtkEntry *inspect_frame; static GtkToggleButton *inspect_run_apply; static GtkWidget *inspect_ok; static void on_inspect_entry_changed(G_GNUC_UNUSED GtkEditable *editable, G_GNUC_UNUSED gpointer gdata) { const char *frame = gtk_entry_get_text(inspect_frame); const char *expr = gtk_entry_get_text(inspect_expr); gtk_widget_set_sensitive(GTK_WIDGET(inspect_run_apply), !isdigit(*frame)); gtk_widget_set_sensitive(inspect_ok, inspect_name_valid(gtk_entry_get_text(inspect_name)) && inspect_frame_valid(frame) && *utils_skip_spaces(expr)); } static void on_inspect_ok_button_clicked(G_GNUC_UNUSED GtkButton *button, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; const char *name = gtk_entry_get_text(inspect_name); if ((strcmp(name, "-") && store_find(store, &iter, INSPECT_NAME, name)) || inspect_find(&iter, TRUE, name)) { show_error(_("Duplicate inspect variable name.")); } else gtk_dialog_response(GTK_DIALOG(inspect_dialog), GTK_RESPONSE_ACCEPT); } static void inspect_dialog_store(GtkTreeIter *iter) { const gchar *expr = gtk_entry_get_text(inspect_expr); scp_tree_store_set(store, iter, INSPECT_EXPR, expr, INSPECT_PATH_EXPR, expr, INSPECT_NAME, gtk_entry_get_text(inspect_name), INSPECT_FRAME, gtk_entry_get_text(inspect_frame), INSPECT_RUN_APPLY, gtk_toggle_button_get_active(inspect_run_apply), -1); } void inspect_add(const gchar *text) { gtk_entry_set_text(inspect_expr, text ? text : ""); gtk_entry_set_text(inspect_name, "-"); gtk_toggle_button_set_active(inspect_run_apply, FALSE); on_inspect_entry_changed(NULL, NULL); gtk_widget_grab_focus(GTK_WIDGET(inspect_expr)); if (gtk_dialog_run(GTK_DIALOG(inspect_dialog)) == GTK_RESPONSE_ACCEPT) { GtkTreeIter iter; const gchar *expr = gtk_entry_get_text(inspect_expr); scp_tree_store_append_with_values(store, &iter, NULL, INSPECT_HB_MODE, parse_mode_get(expr, MODE_HBIT), INSPECT_SCID, ++scid_gen, INSPECT_FORMAT, FORMAT_NATURAL, INSPECT_COUNT, option_inspect_count, INSPECT_EXPAND, option_inspect_expand, -1); inspect_dialog_store(&iter); utils_tree_set_cursor(selection, &iter, -1); if (debug_state() != DS_INACTIVE) gtk_widget_set_sensitive(jump_to_item, TRUE); if (debug_state() & DS_DEBUG) inspect_apply(&iter); } } static void on_inspect_display_edited(G_GNUC_UNUSED GtkCellRendererText *renderer, gchar *path_str, gchar *new_text, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; char *format; scp_tree_store_get_iter_from_string(store, &iter, path_str); format = g_strdup_printf("07%d-var-assign %%s %%s", inspect_get_scid(&iter)); view_display_edited(store, debug_state() & DS_VARIABLE, path_str, format, new_text); g_free(format); } static const TreeCell inspect_cells[] = { { "inspect_display", G_CALLBACK(on_inspect_display_edited) }, { NULL, NULL } }; static GObject *inspect_display; void inspects_update_state(DebugState state) { static gboolean last_active = FALSE; gboolean active = state != DS_INACTIVE; GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const char *var1 = NULL; gint numchild = 0; if (state & DS_VARIABLE) { scp_tree_store_get(store, &iter, INSPECT_VAR1, &var1, INSPECT_NUMCHILD, &numchild, -1); } g_object_set(inspect_display, "editable", var1 && !numchild, NULL); } if (active != last_active) { gtk_widget_set_sensitive(jump_to_item, active && scp_tree_store_get_iter_first(store, &iter)); last_active = active; } } void inspects_delete_all(void) { store_clear(store); scid_gen = 0; } static gboolean inspect_load(GKeyFile *config, const char *section) { char *name = utils_key_file_get_string(config, section, "name"); gchar *expr = utils_key_file_get_string(config, section, "expr"); gint hb_mode = utils_get_setting_integer(config, section, "hbit", HB_DEFAULT); char *frame = utils_key_file_get_string(config, section, "frame"); gboolean run_apply = utils_get_setting_boolean(config, section, "run_apply", FALSE); gint start = utils_get_setting_integer(config, section, "start", 0); gint count = utils_get_setting_integer(config, section, "count", option_inspect_count); gboolean expand = utils_get_setting_boolean(config, section, "expand", option_inspect_expand); gint format = utils_get_setting_integer(config, section, "format", FORMAT_NATURAL); gboolean valid = FALSE; if (name && inspect_name_valid(name) && expr && (unsigned) hb_mode < HB_COUNT && frame && inspect_frame_valid(frame) && (unsigned) start <= EXPAND_MAX && (unsigned) count <= EXPAND_MAX && (unsigned) format < FORMAT_COUNT) { scp_tree_store_append_with_values(store, NULL, NULL, INSPECT_EXPR, expr, INSPECT_PATH_EXPR, expr, INSPECT_HB_MODE, hb_mode, INSPECT_SCID, ++scid_gen, INSPECT_NAME, name, INSPECT_FRAME, frame, INSPECT_RUN_APPLY, run_apply, INSPECT_START, start, INSPECT_COUNT, count, INSPECT_EXPAND, expand, INSPECT_FORMAT, format, -1); valid = TRUE; } g_free(frame); g_free(expr); g_free(name); return valid; } void inspects_load(GKeyFile *config) { inspects_delete_all(); utils_load(config, "inspect", inspect_load); } static gboolean inspect_save(GKeyFile *config, const char *section, GtkTreeIter *iter) { gint hb_mode, start, count, format; const char *name, *frame; const gchar *expr; gboolean run_apply, expand; scp_tree_store_get(store, iter, INSPECT_EXPR, &expr, INSPECT_HB_MODE, &hb_mode, INSPECT_NAME, &name, INSPECT_FRAME, &frame, INSPECT_RUN_APPLY, &run_apply, INSPECT_START, &start, INSPECT_COUNT, &count, INSPECT_EXPAND, &expand, INSPECT_FORMAT, &format, -1); g_key_file_set_string(config, section, "name", name); g_key_file_set_string(config, section, "expr", expr); g_key_file_set_integer(config, section, "hbit", hb_mode); g_key_file_set_string(config, section, "frame", frame); g_key_file_set_boolean(config, section, "run_apply", run_apply); g_key_file_set_integer(config, section, "start", start); g_key_file_set_integer(config, section, "count", count); g_key_file_set_boolean(config, section, "expand", expand); g_key_file_set_integer(config, section, "format", format); return TRUE; } void inspects_save(GKeyFile *config) { store_save(store, config, "inspect", inspect_save); } static void on_inspect_refresh(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_command(F, "041-var-update 1 *"); inspects_send_refresh('2'); } static void on_inspect_add(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; const gchar *expr = NULL; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) scp_tree_store_get(store, &iter, INSPECT_PATH_EXPR, &expr, -1); inspect_add(expr); } static void on_inspect_edit(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; const gchar *expr; const char *name, *frame; gboolean run_apply; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, INSPECT_EXPR, &expr, INSPECT_NAME, &name, INSPECT_FRAME, &frame, INSPECT_RUN_APPLY, &run_apply, -1); scp_tree_store_set(store, &iter, INSPECT_NAME, "-", -1); /* for duplicate name check */ gtk_entry_set_text(inspect_expr, expr); gtk_entry_set_text(inspect_name, name); gtk_entry_set_text(inspect_frame, frame); gtk_toggle_button_set_active(inspect_run_apply, run_apply); on_inspect_entry_changed(NULL, NULL); if (gtk_dialog_run(GTK_DIALOG(inspect_dialog)) == GTK_RESPONSE_ACCEPT) { g_free(jump_to_expr); jump_to_expr = NULL; inspect_dialog_store(&iter); } else scp_tree_store_set(store, &iter, INSPECT_NAME, name, -1); } static void on_inspect_apply(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; const char *var1; gint scid; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, INSPECT_SCID, &scid, INSPECT_VAR1, &var1, -1); if (var1) debug_send_format(N, "070%d-var-delete %s", scid, var1); else inspect_apply(&iter); } static GtkWidget *expand_dialog; static GtkSpinButton *expand_start; static GtkSpinButton *expand_count; static GtkToggleButton *expand_automatic; static void on_inspect_expand(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; const char *name; gint start, count; gboolean expand; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, INSPECT_NAME, &name, INSPECT_START, &start, INSPECT_COUNT, &count, INSPECT_EXPAND, &expand, -1); gtk_spin_button_set_value(expand_start, start); gtk_spin_button_set_value(expand_count, count); gtk_toggle_button_set_active(expand_automatic, expand); gtk_widget_set_sensitive(GTK_WIDGET(expand_automatic), name != NULL); if (gtk_dialog_run(GTK_DIALOG(expand_dialog)) == GTK_RESPONSE_ACCEPT) { scp_tree_store_set(store, &iter, INSPECT_START, gtk_spin_button_get_value_as_int(expand_start), INSPECT_COUNT, gtk_spin_button_get_value_as_int(expand_count), INSPECT_EXPAND, gtk_toggle_button_get_active(expand_automatic), -1); if (debug_state() & DS_VARIABLE) inspect_expand(&iter); else plugin_beep(); } } static void on_inspect_copy(const MenuItem *menu_item) { menu_copy(selection, menu_item); } static void on_inspect_format_display(const MenuItem *menu_item) { menu_mode_display(selection, menu_item, INSPECT_FORMAT); } static void on_inspect_format_update(const MenuItem *menu_item) { GtkTreeIter iter; gint format = GPOINTER_TO_INT(menu_item->gdata); const char *var1; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, INSPECT_VAR1, &var1, -1); if (var1) { debug_send_format(N, "07%d-var-set-format %s %s", inspect_get_scid(&iter), var1, inspect_formats[format]); } else scp_tree_store_set(store, &iter, INSPECT_FORMAT, format, -1); } static void on_inspect_hbit_display(const MenuItem *menu_item) { menu_hbit_display(selection, menu_item); } static void inspect_hbit_update_iter(GtkTreeIter *iter, gint hb_mode) { const char *var1, *value; scp_tree_store_get(store, iter, INSPECT_VAR1, &var1, INSPECT_VALUE, &value, -1); scp_tree_store_set(store, iter, INSPECT_HB_MODE, hb_mode, -1); if (var1) { gchar *display = inspect_redisplay(iter, value, NULL); scp_tree_store_set(store, iter, INSPECT_DISPLAY, display, -1); g_free(display); } } static void on_inspect_hbit_update(const MenuItem *menu_item) { GtkTreeIter iter; const char *expr, *name; gint hb_mode = GPOINTER_TO_INT(menu_item->gdata); gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, INSPECT_EXPR, &expr, INSPECT_NAME, &name, -1); inspect_hbit_update_iter(&iter, hb_mode); parse_mode_update(expr, MODE_HBIT, hb_mode); if (name) { char *reverse = parse_mode_reentry(expr); if (store_find(store, &iter, INSPECT_EXPR, reverse)) inspect_hbit_update_iter(&iter, hb_mode); g_free(reverse); } } static void on_inspect_delete(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; const char *var1; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, INSPECT_VAR1, &var1, -1); if (var1) debug_send_format(N, "071%d-var-delete %s", inspect_get_scid(&iter), var1); else scp_tree_store_remove(store, &iter); } #define DS_EDITABLE (DS_BASICS | DS_EXTRA_2) #define DS_APPLIABLE (DS_VARIABLE | DS_EXTRA_3) #define DS_EXPANDABLE (DS_VARIABLE | DS_EXTRA_4) #define DS_COPYABLE (DS_BASICS | DS_EXTRA_1) #define DS_FORMATABLE (DS_INACTIVE | DS_VARIABLE | DS_EXTRA_1) #define DS_REPARSABLE (DS_BASICS | DS_EXTRA_1) #define DS_DELETABLE (DS_NOT_BUSY | DS_EXTRA_1) #define FORMAT_ITEM(format, FORMAT) \ { ("inspect_format_"format), on_inspect_format_update, DS_FORMATABLE, NULL, \ GINT_TO_POINTER(FORMAT) } static MenuItem inspect_menu_items[] = { { "inspect_refresh", on_inspect_refresh, DS_VARIABLE, NULL, NULL }, { "inspect_add", on_inspect_add, DS_NOT_BUSY, NULL, NULL }, { "inspect_edit", on_inspect_edit, DS_EDITABLE, NULL, NULL }, { "inspect_apply", on_inspect_apply, DS_APPLIABLE, NULL, NULL }, { "inspect_expand", on_inspect_expand, DS_EXPANDABLE, NULL, NULL }, { "inspect_copy", on_inspect_copy, DS_COPYABLE, NULL, NULL }, { "inspect_format", on_inspect_format_display, DS_FORMATABLE, NULL, NULL }, FORMAT_ITEM("natural", FORMAT_NATURAL), FORMAT_ITEM("decimal", FORMAT_DECIMAL), FORMAT_ITEM("hex", FORMAT_HEX), FORMAT_ITEM("octal", FORMAT_OCTAL), FORMAT_ITEM("binary", FORMAT_BINARY), MENU_HBIT_ITEMS(inspect), { "inspect_delete", on_inspect_delete, DS_DELETABLE, NULL, NULL }, { NULL, NULL, 0, NULL, NULL } }; static guint inspect_menu_extra_state(void) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const char *var1, *name; gint numchild; scp_tree_store_get(store, &iter, INSPECT_VAR1, &var1, INSPECT_NAME, &name, INSPECT_NUMCHILD, &numchild, -1); if (name || var1) { return (1 << DS_INDEX_1) | ((name && !var1) << DS_INDEX_2) | ((name != NULL) << DS_INDEX_3) | ((numchild != 0) << DS_INDEX_4); } } return 0; } static MenuInfo inspect_menu_info = { inspect_menu_items, inspect_menu_extra_state, 0 }; static void on_inspect_selection_changed(G_GNUC_UNUSED GtkTreeSelection *selection, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; const char *name = NULL; if (gtk_widget_get_visible(inspect_dialog)) gtk_widget_hide(inspect_dialog); else if (gtk_widget_get_visible(expand_dialog)) gtk_widget_hide(expand_dialog); if (gtk_tree_selection_get_selected(selection, NULL, &iter)) scp_tree_store_get(store, &iter, INSPECT_NAME, &name, -1); gtk_tree_view_set_reorderable(tree, name != NULL); inspects_update_state(debug_state()); } static gboolean inspect_test_expand_row(G_GNUC_UNUSED GtkTreeView *tree_view, GtkTreeIter *iter, G_GNUC_UNUSED GtkTreePath *path, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter child; const char *var1; gboolean expand; scp_tree_store_iter_children(store, &child, iter); scp_tree_store_get(store, &child, INSPECT_VAR1, &var1, INSPECT_EXPAND, &expand, -1); if (var1 || !expand) return FALSE; if (debug_state() & DS_VARIABLE) inspect_expand(iter); else plugin_blink(); return TRUE; } static gboolean on_inspect_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, G_GNUC_UNUSED gpointer gdata) { if (ui_is_keyval_enter_or_return(event->keyval)) { menu_item_execute(&inspect_menu_info, apply_item, FALSE); return TRUE; } return menu_insert_delete(event, &inspect_menu_info, "inspect_add", "inspect_delete"); } gboolean on_inspect_button_press(GtkWidget *widget, GdkEventButton *event, G_GNUC_UNUSED gpointer gdata) { if (event->button == 1 && event->type == GDK_2BUTTON_PRESS) { utils_handle_button_press(widget, event); menu_item_execute(&inspect_menu_info, apply_item, FALSE); return TRUE; } return FALSE; } gboolean on_inspect_drag_motion(G_GNUC_UNUSED GtkWidget *widget, G_GNUC_UNUSED GdkDragContext *context, gint x, gint y, G_GNUC_UNUSED guint time, G_GNUC_UNUSED gpointer gdata) { GtkTreePath *path; GtkTreeViewDropPosition pos; if (gtk_tree_view_get_dest_row_at_pos(tree, x, y, &path, &pos)) { GtkTreeIter iter; const char *name; scp_tree_store_get_iter(store, &iter, path); gtk_tree_path_free(path); scp_tree_store_get(store, &iter, INSPECT_NAME, &name, -1); if (!name || pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE || pos == GTK_TREE_VIEW_DROP_INTO_OR_AFTER) { g_signal_stop_emission_by_name(tree, "drag-motion"); } } return FALSE; } static void on_inspect_menu_show(G_GNUC_UNUSED GtkWidget *widget, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const char *var1, *path_expr; scp_tree_store_get(store, &iter, INSPECT_VAR1, &var1, INSPECT_PATH_EXPR, &path_expr, -1); menu_item_set_active(apply_item, var1 != NULL); if (var1 && !path_expr && (debug_state() & DS_SENDABLE)) { debug_send_format(N, "04%d-var-info-path-expression %s", inspect_get_scid(&iter), var1); } } } void inspect_init(void) { GtkWidget *menu; jump_to_item = get_widget("inspect_jump_to_item"); jump_to_menu = GTK_CONTAINER(get_widget("inspect_jump_to_menu")); apply_item = menu_item_find(inspect_menu_items, "inspect_apply"); tree = view_connect("inspect_view", &store, &selection, inspect_cells, "inspect_window", &inspect_display); g_signal_connect(tree, "test-expand-row", G_CALLBACK(inspect_test_expand_row), NULL); g_signal_connect(tree, "key-press-event", G_CALLBACK(on_inspect_key_press), NULL); g_signal_connect(tree, "button-press-event", G_CALLBACK(on_inspect_button_press), NULL); g_signal_connect(tree, "drag-motion", G_CALLBACK(on_inspect_drag_motion), NULL); g_signal_connect(store, "row-inserted", G_CALLBACK(on_inspect_row_inserted), NULL); g_signal_connect(store, "row-changed", G_CALLBACK(on_inspect_row_changed), NULL); g_signal_connect(store, "row-deleted", G_CALLBACK(on_inspect_row_deleted), NULL); g_signal_connect(selection, "changed", G_CALLBACK(on_inspect_selection_changed), NULL); menu = menu_select("inspect_menu", &inspect_menu_info, selection); g_signal_connect(menu, "show", G_CALLBACK(on_inspect_menu_show), NULL); if (pref_var_update_bug) inspect_menu_items->state = DS_DEBUG; inspect_dialog = dialog_connect("inspect_dialog"); inspect_name = GTK_ENTRY(get_widget("inspect_name_entry")); validator_attach(GTK_EDITABLE(inspect_name), VALIDATOR_NOSPACE); g_signal_connect(inspect_name, "changed", G_CALLBACK(on_inspect_entry_changed), NULL); inspect_frame = GTK_ENTRY(get_widget("inspect_frame_entry")); validator_attach(GTK_EDITABLE(inspect_frame), VALIDATOR_VARFRAME); g_signal_connect(inspect_frame, "changed", G_CALLBACK(on_inspect_entry_changed), NULL); inspect_expr = GTK_ENTRY(get_widget("inspect_expr_entry")); g_signal_connect(inspect_expr, "changed", G_CALLBACK(on_inspect_entry_changed), NULL); inspect_run_apply = GTK_TOGGLE_BUTTON(get_widget("inspect_run_apply")); inspect_ok = get_widget("inspect_ok"); g_signal_connect(inspect_ok, "clicked", G_CALLBACK(on_inspect_ok_button_clicked), NULL); gtk_widget_grab_default(inspect_ok); expand_dialog = dialog_connect("expand_dialog"); expand_start = GTK_SPIN_BUTTON(get_widget("expand_start_spin")); expand_count = GTK_SPIN_BUTTON(get_widget("expand_count_spin")); expand_automatic = GTK_TOGGLE_BUTTON(get_widget("expand_automatic")); gtk_widget_grab_default(get_widget("expand_ok")); } void inspect_finalize(void) { gtk_widget_destroy(inspect_dialog); gtk_widget_destroy(expand_dialog); g_free(jump_to_expr); } geany-plugins-1.27/scope/src/register.h0000644000175000017500000000236612671261352020424 0ustar00frlanfrlan00000000000000/* * register.h * * Copyright 2013 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef REGISTER_H void on_register_names(GArray *nodes); void on_register_changes(GArray *nodes); void on_register_values(GArray *nodes); void registers_clear(void); gboolean registers_update(void); void registers_query_names(void); void registers_show(gboolean show); void registers_update_state(DebugState state); void registers_delete_all(void); void registers_load(GKeyFile *config); void registers_save(GKeyFile *config); void register_init(void); void registers_finalize(void); #define REGISTER_H 1 #endif geany-plugins-1.27/scope/src/Makefile.am0000644000175000017500000000213112671261352020451 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk include $(top_srcdir)/build/vars.docs.mk geanyplugins_LTLIBRARIES = scope.la plugin = scope scope_la_SOURCES = \ break.c \ break.h \ common.h \ conterm.c \ conterm.h \ debug.c \ debug.h \ inspect.c \ inspect.h \ local.c \ local.h \ memory.c \ memory.h \ menu.c \ menu.h \ parse.c \ parse.h \ plugme.c \ plugme.h \ prefs.c \ prefs.h \ program.c \ program.h \ register.c \ register.h \ scope.c \ scope.h \ stack.c \ stack.h \ thread.c \ thread.h \ tooltip.c \ tooltip.h \ utils.c \ utils.h \ views.c \ views.h \ watch.c \ watch.h \ store.h \ store/scptreedata.h \ store/scptreedata.c \ store/scptreestore.h \ store/scptreestore.c scope_la_LIBADD = $(COMMONLIBS) $(VTE_LIBS) $(PTY_LIBS) scope_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"Scope\" scope_la_CFLAGS = $(AM_CFLAGS) $(VTE_CFLAGS) \ -DPLUGINHTMLDOCDIR=\"$(plugindocdir)/html\" \ -Wno-shadow # http://trac.cppcheck.net/ticket/7243 AM_CPPCHECKFLAGS = --suppress='unknownEvaluationOrder:$(srcdir)/store/scptreestore.c:909' include $(top_srcdir)/build/cppcheck.mk geany-plugins-1.27/scope/src/parse.h0000644000175000017500000000613112671261352017704 0ustar00frlanfrlan00000000000000/* * parse.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef PARSE_H typedef enum _ParseNodeType { PT_VALUE, /* string */ PT_ARRAY } ParseNodeType; typedef struct _ParseNode { const char *name; ParseNodeType type; void *value; } ParseNode; void parse_foreach(GArray *nodes, GFunc func, gpointer gdata); char *parse_string(char *text, char newline); void parse_message(char *message, const char *token); gchar *parse_get_display_from_7bit(const char *text, gint hb_mode, gint mr_mode); const ParseNode *parse_find_node(GArray *nodes, const char *name); const void *parse_find_node_type(GArray *nodes, const char *name, ParseNodeType type); #define parse_find_value(nodes, name) \ ((char *) parse_find_node_type((nodes), (name), PT_VALUE)) #define parse_find_locale(nodes, name) utils_7bit_to_locale(parse_find_value((nodes), (name))) #define parse_find_array(nodes, name) \ ((GArray *) parse_find_node_type((nodes), (name), PT_ARRAY)) const char *parse_grab_token(GArray *nodes); /* removes token from nodes */ #define parse_lead_array(nodes) ((GArray *) ((ParseNode *) nodes->data)->value) #define parse_lead_value(nodes) ((char *) ((ParseNode *) nodes->data)->value) gchar *parse_get_error(GArray *nodes); void on_error(GArray *nodes); typedef struct _ParseLocation { gchar *base_name; const char *func; const char *addr; const char *file; gint line; } ParseLocation; void parse_location(GArray *nodes, ParseLocation *loc); #define parse_location_free(loc) g_free((loc)->base_name) enum { HB_DEFAULT, HB_7BIT, HB_LOCALE, HB_UTF8, HB_COUNT }; enum { MR_COMPACT, MR_NEUTRAL, MR_DEFAULT, MR_MODIFY, MR_MODSTR, MR_EDITVC }; enum { MODE_HBIT, MODE_MEMBER, MODE_ENTRY }; typedef struct _ParseMode { char *name; gint hb_mode; gint mr_mode; gboolean entry; } ParseMode; typedef struct _ParseVariable { const char *name; const char *value; gint hb_mode; gint mr_mode; gchar *display; /* if children */ const char *expr; const char *children; gint numchild; } ParseVariable; char *parse_mode_reentry(const char *name); gint parse_mode_get(const char *name, gint mode); void parse_mode_update(const char *name, gint mode, gint value); gboolean parse_variable(GArray *nodes, ParseVariable *var, const char *children); #define parse_variable_free(var) g_free((var)->display) void parse_load(GKeyFile *config); void parse_save(GKeyFile *config); void parse_init(void); void parse_finalize(void); #define PARSE_H 1 #endif geany-plugins-1.27/scope/src/views.c0000644000175000017500000004416512671261352017733 0ustar00frlanfrlan00000000000000/* * views.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "common.h" typedef enum _ViewContext { VC_NONE, VC_DATA, VC_FRAME } ViewContext; typedef struct _ViewInfo { gboolean dirty; ViewContext context; void (*clear)(void); gboolean (*update)(void); gboolean flush; DebugState state; } ViewInfo; static ViewInfo views[VIEW_COUNT] = { { FALSE, VC_NONE, NULL, NULL, FALSE, 0 }, { FALSE, VC_NONE, threads_clear, threads_update, FALSE, DS_SENDABLE }, { FALSE, VC_NONE, breaks_clear, breaks_update, FALSE, DS_SENDABLE }, { FALSE, VC_DATA, stack_clear, stack_update, TRUE, DS_DEBUG }, { FALSE, VC_FRAME, locals_clear, locals_update, TRUE, DS_DEBUG }, { FALSE, VC_FRAME, watches_clear, watches_update, FALSE, DS_VARIABLE }, { FALSE, VC_DATA, memory_clear, memory_update, FALSE, DS_VARIABLE }, { FALSE, VC_NONE, NULL, dc_update, FALSE, DS_DEBUG }, { FALSE, VC_FRAME, inspects_clear, inspects_update, FALSE, DS_VARIABLE }, { FALSE, VC_FRAME, registers_clear, registers_update, TRUE, DS_DEBUG }, { FALSE, VC_DATA, tooltip_clear, tooltip_update, FALSE, DS_SENDABLE }, { FALSE, VC_NONE, menu_clear, NULL, FALSE, 0 } }; static void view_update_dirty(ViewIndex index, DebugState state) { ViewInfo *view = views + index; if (view->state & state) { if (view->update()) view->dirty = FALSE; } else if (view->flush) { view->clear(); view->dirty = FALSE; } } static void view_update(ViewIndex index, DebugState state) { if (views[index].dirty) view_update_dirty(index, state); } static GtkNotebook *geany_sidebar; static GtkWidget *inspect_page; static GtkWidget *register_page; static void views_sidebar_update(gint page_num, DebugState state) { GtkWidget *page = gtk_notebook_get_nth_page(geany_sidebar, page_num); if (page == inspect_page) view_update(VIEW_INSPECT, state); else if (page == register_page) view_update(VIEW_REGISTERS, state); } void view_dirty(ViewIndex index) { views[index].dirty = TRUE; } void views_context_dirty(DebugState state, gboolean frame_only) { ViewIndex i; for (i = 0; i < VIEW_COUNT; i++) if (views[i].context >= (frame_only ? VC_FRAME : VC_DATA)) view_dirty(i); if (state != DS_BUSY) { if (option_update_all_views) views_update(state); else views_sidebar_update(gtk_notebook_get_current_page(geany_sidebar), state); } } #ifdef G_OS_UNIX static ViewIndex view_current = VIEW_TERMINAL; #else static ViewIndex view_current = VIEW_THREADS; #endif void views_clear(void) { ViewIndex i; ViewInfo *view = views; for (i = 0; i < VIEW_COUNT; i++, view++) { view->dirty = FALSE; if (view->clear) view->clear(); } } void views_update(DebugState state) { if (option_update_all_views) { ViewIndex i; gboolean skip_frame = FALSE; if (thread_state == THREAD_QUERY_FRAME) { if (!views[VIEW_THREADS].dirty) thread_query_frame('4'); thread_state = THREAD_STOPPED; } for (i = 0; i < VIEW_COUNT; i++) { if (views[i].dirty && (!skip_frame || views[i].context != VC_FRAME)) { view_update_dirty(i, state); if (i == VIEW_STACK && thread_state >= THREAD_STOPPED) skip_frame = TRUE; } } } else { if (thread_state == THREAD_QUERY_FRAME) { if (view_current != VIEW_THREADS || !views[VIEW_THREADS].dirty) thread_query_frame('4'); thread_state = THREAD_STOPPED; } view_update(view_current, state); view_update(VIEW_TOOLTIP, state); views_sidebar_update(gtk_notebook_get_current_page(geany_sidebar), state); } } gboolean view_stack_update(void) { if (views[VIEW_STACK].dirty) { DebugState state = thread_state >= THREAD_STOPPED ? DS_DEBUG : DS_READY; view_update_dirty(VIEW_STACK, state); return state == DS_DEBUG; } return FALSE; } void on_view_changed(G_GNUC_UNUSED GtkNotebook *notebook, G_GNUC_UNUSED gpointer page, gint page_num, G_GNUC_UNUSED gpointer gdata) { view_current = page_num; view_update(view_current, debug_state()); } gboolean on_view_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, ViewSeeker seeker) { /* from msgwindow.c */ gboolean enter_or_return = ui_is_keyval_enter_or_return(event->keyval); if (enter_or_return || event->keyval == GDK_space || event->keyval == GDK_KP_Space) seeker(enter_or_return); return FALSE; } gboolean on_view_button_1_press(GtkWidget *widget, GdkEventButton *event, ViewSeeker seeker) { if (event->button == 1 && (pref_auto_view_source || event->type == GDK_2BUTTON_PRESS)) { utils_handle_button_press(widget, event); seeker(event->type == GDK_2BUTTON_PRESS); return TRUE; } return FALSE; } gboolean on_view_query_base_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, GtkTreeViewColumn *base_name_column) { GtkTreeView *tree = GTK_TREE_VIEW(widget); GtkTreeIter iter; if (gtk_tree_view_get_tooltip_context(tree, &x, &y, keyboard_tip, NULL, NULL, &iter)) { const char *file; gtk_tree_view_set_tooltip_cell(tree, tooltip, NULL, base_name_column, NULL); scp_tree_store_get((ScpTreeStore *) gtk_tree_view_get_model(tree), &iter, COLUMN_FILE, &file, -1); if (file) { gchar *utf8 = utils_get_utf8_from_locale(file); gtk_tooltip_set_text(tooltip, utf8); g_free(utf8); return TRUE; } } return FALSE; } gboolean on_view_editable_map(GtkWidget *widget, gchar *replace) { iff (GTK_IS_EDITABLE(widget), "cell editable: not an editable") { gint position = 0; GtkEditable *editable = GTK_EDITABLE(widget); gtk_editable_delete_text(editable, 0, -1); gtk_editable_insert_text(editable, replace ? replace : "", -1, &position); gtk_editable_select_region(editable, -1, 0); g_free(replace); } return FALSE; } GtkTreeView *view_create(const char *name, ScpTreeStore **store, GtkTreeSelection **selection) { GtkTreeView *tree = GTK_TREE_VIEW(get_widget(name)); *store = SCP_TREE_STORE(gtk_tree_view_get_model(tree)); *selection = gtk_tree_view_get_selection(tree); return tree; } static void on_editing_started(G_GNUC_UNUSED GtkCellRenderer *cell, GtkCellEditable *editable, G_GNUC_UNUSED const gchar *path, GtkAdjustment *hadjustment) { if (GTK_IS_ENTRY(editable)) gtk_entry_set_cursor_hadjustment(GTK_ENTRY(editable), hadjustment); } static void on_display_editing_started(G_GNUC_UNUSED GtkCellRenderer *cell, GtkCellEditable *editable, const gchar *path_str, ScpTreeStore *store) { GtkTreeIter iter; const char *value; gint hb_mode; scp_tree_store_get_iter_from_string(store, &iter, path_str); scp_tree_store_get(store, &iter, COLUMN_VALUE, &value, COLUMN_HB_MODE, &hb_mode, -1); /* scrolling editable to the proper position is left as an exercise for the reader */ g_signal_connect(editable, "map", G_CALLBACK(on_view_editable_map), parse_get_display_from_7bit(value, hb_mode, MR_EDITVC)); } GtkTreeView *view_connect(const char *name, ScpTreeStore **store, GtkTreeSelection **selection, const TreeCell *cell_info, const char *window, GObject **display_cell) { guint i; GtkScrolledWindow *scrolled = GTK_SCROLLED_WINDOW(get_widget(window)); GtkAdjustment *hadjustment = gtk_scrolled_window_get_hadjustment(scrolled); GtkTreeView *tree = view_create(name, store, selection); for (i = 0; cell_info->name; cell_info++, i++) { GtkCellRenderer *cell = GTK_CELL_RENDERER(get_object(cell_info->name)); const char *signame; const char *property; if (GTK_IS_CELL_RENDERER_TEXT(cell)) { signame = "edited"; property = "editable"; g_signal_connect(cell, "editing-started", G_CALLBACK(on_editing_started), hadjustment); if (display_cell && i == 0) { g_signal_connect(cell, "editing-started", G_CALLBACK(on_display_editing_started), *store); *display_cell = G_OBJECT(cell); } } else { g_assert(GTK_IS_CELL_RENDERER_TOGGLE(cell)); signame = "toggled"; property = "activatable"; } g_signal_connect(cell, signame, cell_info->callback, GINT_TO_POINTER(i)); g_object_set(cell, property, TRUE, NULL); } return tree; } static void view_line_cell_data_func(G_GNUC_UNUSED GtkTreeViewColumn *column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer gdata) { gint line; gchar *s; gtk_tree_model_get(model, iter, GPOINTER_TO_INT(gdata), &line, -1); s = line ? g_strdup_printf("%d", line) : NULL; g_object_set(cell, "text", s, NULL); g_free(s); } void view_set_line_data_func(const char *column, const char *cell, gint column_id) { gtk_tree_view_column_set_cell_data_func(get_column(column), GTK_CELL_RENDERER(get_object(cell)), view_line_cell_data_func, GINT_TO_POINTER(column_id), NULL); } void view_display_edited(ScpTreeStore *store, gboolean condition, const gchar *path_str, const char *format, gchar *new_text) { if (validate_column(new_text, TRUE)) { if (condition) { GtkTreeIter iter; const char *name; gint hb_mode; char *locale; scp_tree_store_get_iter_from_string(store, &iter, path_str); scp_tree_store_get(store, &iter, COLUMN_NAME, &name, COLUMN_HB_MODE, &hb_mode, -1); locale = utils_get_locale_from_display(new_text, hb_mode); utils_strchrepl(locale, '\n', ' '); debug_send_format(F, format, name, locale); g_free(locale); } else plugin_blink(); } } void view_column_set_visible(const char *name, gboolean visible) { gtk_tree_view_column_set_visible(get_column(name), visible); } void view_seek_selected(GtkTreeSelection *selection, gboolean focus, SeekerType seeker) { ScpTreeStore *store; GtkTreeIter iter; if (scp_tree_selection_get_selected(selection, &store, &iter)) { const char *file; gint line; scp_tree_store_get(store, &iter, COLUMN_FILE, &file, COLUMN_LINE, &line, -1); if (file) utils_seek(file, line, focus, seeker); } } enum { COMMAND_DISPLAY, COMMAND_TEXT, COMMAND_LOCALE }; static GtkWidget *command_dialog; static GtkWidget *command_view; static GObject *command_cell; static GtkTextBuffer *command_text; static GtkComboBox *command_history; static ScpTreeStore *command_store; static GtkToggleButton *command_locale; static GtkWidget *command_send; static void on_command_text_changed(GtkTextBuffer *command_text, G_GNUC_UNUSED gpointer gdata) { gchar *text = utils_text_buffer_get_text(command_text, -1); const gchar *start = utils_skip_spaces(text); gtk_widget_set_sensitive(command_send, *start != '0' || !isdigit(start[1])); g_free(text); } gboolean on_command_dialog_configure(G_GNUC_UNUSED GtkWidget *widget, G_GNUC_UNUSED GdkEventButton *event, G_GNUC_UNUSED gpointer gdata) { gint width; #if GTK_CHECK_VERSION(2, 24, 0) width = gdk_window_get_width(gtk_widget_get_window(command_view)); #else gint height; gdk_drawable_get_size(GDK_DRAWABLE(command_view->window), &width, &height); #endif g_object_set(command_cell, "wrap-width", width, NULL); return FALSE; } static void on_command_history_size_request(G_GNUC_UNUSED GtkWidget *widget, GtkRequisition *requisition, G_GNUC_UNUSED gpointer gdata) { static gint empty_height; GtkTreeIter iter; if (scp_tree_store_get_iter_first(command_store, &iter)) requisition->height = empty_height; else empty_height = requisition->height; } static void on_command_history_changed(GtkComboBox *command_history, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; if (gtk_combo_box_get_active_iter(command_history, &iter)) { const gchar *text; gboolean locale; scp_tree_store_get(command_store, &iter, COMMAND_TEXT, &text, COMMAND_LOCALE, &locale, -1); gtk_text_buffer_set_text(command_text, text, -1); gtk_toggle_button_set_active(command_locale, locale); gtk_widget_grab_focus(command_view); gtk_combo_box_set_active_iter(command_history, NULL); } } static void on_command_insert_button_clicked(G_GNUC_UNUSED GtkButton *button, gpointer gdata) { const char *prefix; const char *id; GString *text = g_string_new("--"); switch (GPOINTER_TO_INT(gdata)) { case 't' : prefix = "thread"; id = thread_id; break; case 'g' : prefix = "group"; id = thread_group_id(); break; default : prefix = "frame"; id = frame_id; } g_string_append_printf(text, "%s ", prefix); if (id) g_string_append_printf(text, "%s ", id); gtk_text_buffer_delete_selection(command_text, FALSE, TRUE); gtk_text_buffer_insert_at_cursor(command_text, text->str, -1); g_string_free(text, TRUE); gtk_widget_grab_focus(command_view); } static void on_command_send_button_clicked(G_GNUC_UNUSED GtkButton *button, G_GNUC_UNUSED gpointer gdata) { gchar *text = utils_text_buffer_get_text(command_text, -1); const gchar *start; char *locale; thread_synchronize(); utils_strchrepl(text, '\n', ' '); start = utils_skip_spaces(text); locale = gtk_toggle_button_get_active(command_locale) ? utils_get_locale_from_utf8(start) : g_strdup(start); debug_send_command(N, locale); g_free(locale); gtk_text_buffer_set_text(command_text, "", -1); gtk_widget_hide(command_dialog); if (*start) { GtkTreePath *path; GtkTreeIter iter; gchar *display = g_strdup(start); /* from ui_combo_box_add_to_history() */ if (store_find(command_store, &iter, COMMAND_TEXT, start)) scp_tree_store_remove(command_store, &iter); if (strlen(display) >= 273) strcpy(display + 270, _("\342\200\246")); /* For translators: ellipsis */ scp_tree_store_prepend(command_store, &iter, NULL); scp_tree_store_set(command_store, &iter, COMMAND_DISPLAY, display, COMMAND_TEXT, start, COMMAND_LOCALE, gtk_toggle_button_get_active(command_locale), -1); g_free(display); path = gtk_tree_path_new_from_indices(15, -1); if (scp_tree_store_get_iter(command_store, &iter, path)) scp_tree_store_remove(command_store, &iter); gtk_tree_path_free(path); } g_free(text); } static void command_line_update_state(DebugState state) { if (state == DS_INACTIVE) gtk_widget_hide(command_dialog); else { gtk_button_set_label(GTK_BUTTON(command_send), state & DS_SENDABLE ? _("_Send") : _("_Busy")); } } void view_command_line(const gchar *text, const gchar *title, const gchar *seek, gboolean seek_after) { GtkTextIter start, end; gtk_window_set_title(GTK_WINDOW(command_dialog), title ? title : _("GDB Command")); gtk_widget_grab_focus(command_view); if (text) { const gchar *pos = seek ? strstr(text, seek) : NULL; GtkTextIter iter; gtk_text_buffer_set_text(command_text, text, -1); gtk_text_buffer_get_iter_at_offset(command_text, &iter, g_utf8_strlen(text, pos ? pos + strlen(seek) * seek_after - text : -1)); gtk_text_buffer_place_cursor(command_text, &iter); } else { gtk_text_buffer_get_start_iter(command_text, &start); gtk_text_buffer_get_end_iter(command_text, &end); gtk_text_buffer_select_range(command_text, &start, &end); } on_command_text_changed(command_text, NULL); command_line_update_state(debug_state()); gtk_combo_box_set_active_iter(command_history, NULL); gtk_dialog_run(GTK_DIALOG(command_dialog)); } gboolean view_command_active(void) { return gtk_widget_get_visible(command_dialog); } void views_update_state(DebugState state) { static DebugState last_state = 0; if (state != last_state) { if (gtk_widget_get_visible(command_dialog)) command_line_update_state(state); locals_update_state(state); watches_update_state(state); inspects_update_state(state); last_state = state; } } static void on_geany_sidebar_switch_page(G_GNUC_UNUSED GtkNotebook *notebook, G_GNUC_UNUSED gpointer page, gint page_num, G_GNUC_UNUSED gpointer gdata) { views_sidebar_update(page_num, debug_state()); } static gulong switch_sidebar_page_id; void views_init(void) { if (pref_var_update_bug) views[VIEW_INSPECT].state = DS_DEBUG; command_dialog = dialog_connect("command_dialog"); command_view = get_widget("command_view"); command_text = gtk_text_view_get_buffer(GTK_TEXT_VIEW(command_view)); g_signal_connect(command_text, "changed", G_CALLBACK(on_command_text_changed), NULL); command_history = GTK_COMBO_BOX(get_widget("command_history")); command_store = SCP_TREE_STORE(gtk_combo_box_get_model(command_history)); command_cell = get_object("command_cell"); g_signal_connect(command_dialog, "configure-event", G_CALLBACK(on_command_dialog_configure), NULL); g_signal_connect(command_history, "size-request", G_CALLBACK(on_command_history_size_request), NULL); g_signal_connect(command_history, "changed", G_CALLBACK(on_command_history_changed), NULL); command_locale = GTK_TOGGLE_BUTTON(get_widget("command_locale")); g_signal_connect(get_widget("command_thread"), "clicked", G_CALLBACK(on_command_insert_button_clicked), GINT_TO_POINTER('t')); g_signal_connect(get_widget("command_group"), "clicked", G_CALLBACK(on_command_insert_button_clicked), GINT_TO_POINTER('g')); g_signal_connect(get_widget("command_frame"), "clicked", G_CALLBACK(on_command_insert_button_clicked), GINT_TO_POINTER('f')); command_send = get_widget("command_send"); gtk_widget_grab_default(command_send); g_signal_connect(command_send, "clicked", G_CALLBACK(on_command_send_button_clicked), NULL); utils_enter_to_clicked(command_view, command_send); geany_sidebar = GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook); switch_sidebar_page_id = g_signal_connect(geany_sidebar, "switch-page", G_CALLBACK(on_geany_sidebar_switch_page), NULL); inspect_page = get_widget("inspect_page"); gtk_notebook_append_page(geany_sidebar, inspect_page, get_widget("inspect_label")); register_page = get_widget("register_page"); gtk_notebook_append_page(geany_sidebar, register_page, get_widget("register_label")); } void views_finalize(void) { g_signal_handler_disconnect(geany_sidebar, switch_sidebar_page_id); gtk_widget_destroy(GTK_WIDGET(command_dialog)); gtk_widget_destroy(inspect_page); gtk_widget_destroy(register_page); } geany-plugins-1.27/scope/src/menu.h0000644000175000017500000000724012671261352017540 0ustar00frlanfrlan00000000000000/* * menu.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef MENU_H struct _MenuItem { const char *name; void (*callback)(const MenuItem *menu_item); guint state; GtkWidget *widget; /* automatic */ gpointer gdata; }; typedef struct _MenuInfo { MenuItem *items; guint (*extra_state)(void); guint last_state; /* must be 0 */ } MenuInfo; const MenuItem *menu_item_find(const MenuItem *menu_items, const char *name); gboolean menu_item_matches_state(const MenuItem *menu_item, guint state); void menu_item_execute(const MenuInfo *menu_info, const MenuItem *menu_item, gboolean beep); void menu_item_set_active(const MenuItem *menu_item, gboolean active); /* block execute */ gboolean menu_insert_delete(const GdkEventKey *event, const MenuInfo *menu_info, const char *insert_name, const char *delete_name); void menu_shift_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu, void (action)(const MenuItem *menu_item)); GtkWidget *menu_connect(const char *name, MenuInfo *menu_info, GtkWidget *widget); GtkWidget *menu_select(const char *name, MenuInfo *menu_info, GtkTreeSelection *selection); enum { COLUMN_NAME, COLUMN_DISPLAY, COLUMN_VALUE, COLUMN_HB_MODE, COLUMN_MR_MODE }; #define MENU_HBIT_ITEM(prefix, mode, MODE) \ { (#prefix"_hb_"mode), (on_##prefix##_hbit_update), DS_REPARSABLE, NULL, \ GINT_TO_POINTER(MODE) } /* note: N references to prefix */ #define MENU_HBIT_ITEMS(prefix) \ { (#prefix"_hb_mode"), (on_##prefix##_hbit_display), DS_REPARSABLE, NULL, NULL }, \ MENU_HBIT_ITEM(prefix, "default", HB_DEFAULT), \ MENU_HBIT_ITEM(prefix, "7bit", HB_7BIT), \ MENU_HBIT_ITEM(prefix, "locale", HB_LOCALE), \ MENU_HBIT_ITEM(prefix, "utf8", HB_UTF8) void menu_mode_display(GtkTreeSelection *selection, const MenuItem *menu_item, gint column); void menu_mode_update(GtkTreeSelection *selection, gint new_mode, gboolean hbit); #define menu_hbit_display(selection, menu_item) menu_mode_display((selection), (menu_item), \ COLUMN_HB_MODE) #define menu_hbit_update(selection, menu_item) menu_mode_update((selection), \ GPOINTER_TO_INT((menu_item)->gdata), TRUE) void menu_mber_display(GtkTreeSelection *selection, const MenuItem *menu_item); void menu_mber_update(GtkTreeSelection *selection, const MenuItem *menu_item); void menu_mber_button_release(GtkTreeSelection *selection, GtkWidget *item, GdkEventButton *event, GtkWidget *menu); void menu_copy(GtkTreeSelection *selection, const MenuItem *menu_item); void menu_modify(GtkTreeSelection *selection, const MenuItem *menu_item); void menu_inspect(GtkTreeSelection *selection); void on_menu_display_booleans(const MenuItem *menu_item); void on_menu_update_boolean(const MenuItem *menu_item); void on_menu_evaluate_value(GArray *nodes); typedef struct _MenuKey { const char *name; const gchar *label; } MenuKey; void menu_set_popup_keybindings(GeanyKeyGroup *scope_key_group, guint item); void menu_clear(void); void menu_update_state(DebugState state); void menu_init(void); void menu_finalize(void); #define MENU_H 1 #endif geany-plugins-1.27/scope/src/common.h0000644000175000017500000000250012671261352020056 0ustar00frlanfrlan00000000000000/* * common.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "geanyplugin.h" extern GeanyPlugin *geany_plugin; extern GeanyData *geany_data; typedef struct _MenuItem MenuItem; #define FRAME_ARGS '0' + (int) strlen(thread_id) - 1, thread_id, frame_id #include "break.h" #include "conterm.h" #include "debug.h" #include "inspect.h" #include "local.h" #include "memory.h" #include "menu.h" #include "parse.h" #include "plugme.h" #include "prefs.h" #include "program.h" #include "register.h" #include "stack.h" #include "scope.h" #include "store.h" #include "thread.h" #include "tooltip.h" #include "utils.h" #include "views.h" #include "watch.h" geany-plugins-1.27/scope/src/tooltip.c0000644000175000017500000001151212671261352020256 0ustar00frlanfrlan00000000000000/* * tooltip.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "common.h" static void tooltip_trigger(void) { GdkDisplay *display = gdk_display_get_default(); #if GTK_CHECK_VERSION(3, 0, 0) GdkDeviceManager *manager = gdk_display_get_device_manager(display); GdkDevice *device = gdk_device_manager_get_client_pointer(manager); GdkWindow *window = gdk_device_get_window_at_position(device, NULL, NULL); #else GdkWindow *window = gdk_display_get_window_at_pointer(display, NULL, NULL); #endif GeanyDocument *doc = document_get_current(); if (doc && window) { GtkWidget *event_widget; gdk_window_get_user_data(window, (void **) &event_widget); /* if you know a better working way, do not hesistate to tell me */ if (event_widget && gtk_widget_is_ancestor(event_widget, GTK_WIDGET(doc->editor->sci))) { gtk_tooltip_trigger_tooltip_query(display); } } } static gchar *output = NULL; static gint last_pos = -1; static gint peek_pos = -1; static gboolean show; static void tooltip_set(gchar *text) { show = text != NULL; g_free(output); output = text; last_pos = peek_pos; if (show) { if (pref_tooltips_length && strlen(output) > (size_t) pref_tooltips_length + 3) strcpy(output + pref_tooltips_length, "..."); tooltip_trigger(); } } static gint scid_gen = 0; void on_tooltip_error(GArray *nodes) { if (atoi(parse_grab_token(nodes)) == scid_gen) { if (pref_tooltips_fail_action == 1) tooltip_set(parse_get_error(nodes)); else { tooltip_set(NULL); if (pref_tooltips_fail_action) plugin_blink(); } } } static char *input = NULL; void on_tooltip_value(GArray *nodes) { if (atoi(parse_grab_token(nodes)) == scid_gen) { tooltip_set(parse_get_display_from_7bit(parse_lead_value(nodes), parse_mode_get(input, MODE_HBIT), parse_mode_get(input, MODE_MEMBER))); } } static guint query_id = 0; static gboolean tooltip_launch(gpointer gdata) { GeanyDocument *doc = document_get_current(); if (doc && utils_source_document(doc) && doc->editor == gdata && (debug_state() & DS_SENDABLE)) { ScintillaObject *sci = doc->editor->sci; gchar *expr = sci_get_selection_mode(sci) == SC_SEL_STREAM && peek_pos >= sci_get_selection_start(sci) && peek_pos < sci_get_selection_end(sci) ? editor_get_default_selection(doc->editor, FALSE, NULL) : editor_get_word_at_pos(doc->editor, peek_pos, NULL); if ((expr = utils_verify_selection(expr)) != NULL) { g_free(input); input = debug_send_evaluate('3', scid_gen, expr); g_free(expr); } else tooltip_set(NULL); } else tooltip_set(NULL); query_id = 0; return FALSE; } static gboolean on_query_tooltip(G_GNUC_UNUSED GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip, GeanyEditor *editor) { gint pos = keyboard_mode ? sci_get_current_position(editor->sci) : scintilla_send_message(editor->sci, SCI_POSITIONFROMPOINT, x, y); if (pos >= 0) { if (pos == last_pos) { gtk_tooltip_set_text(tooltip, output); return show; } else if (pos != peek_pos) { if (query_id) g_source_remove(query_id); else scid_gen++; peek_pos = pos; query_id = plugin_timeout_add(geany_plugin, pref_tooltips_send_delay * 10, tooltip_launch, editor); } } return FALSE; } void tooltip_attach(GeanyEditor *editor) { if (option_editor_tooltips) { gtk_widget_set_has_tooltip(GTK_WIDGET(editor->sci), TRUE); g_signal_connect(editor->sci, "query-tooltip", G_CALLBACK(on_query_tooltip), editor); } } void tooltip_remove(GeanyEditor *editor) { GtkWidget *widget = GTK_WIDGET(editor->sci); if (gtk_widget_get_has_tooltip(widget)) { gulong query_tooltip_id = g_signal_handler_find(widget, G_SIGNAL_MATCH_ID, g_signal_lookup("query-tooltip", GTK_TYPE_WIDGET), 0, NULL, NULL, NULL); if (query_tooltip_id) g_signal_handler_disconnect(widget, query_tooltip_id); gtk_widget_set_has_tooltip(widget, FALSE); } } void tooltip_clear(void) { scid_gen = 0; last_pos = -1; peek_pos = -1; } gboolean tooltip_update(void) { if (option_editor_tooltips) { last_pos = -1; peek_pos = -1; tooltip_trigger(); } return TRUE; } void tooltip_finalize(void) { g_free(output); g_free(input); } geany-plugins-1.27/scope/src/plugme.h0000644000175000017500000000254712671261352020072 0ustar00frlanfrlan00000000000000/* * plugme.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef PLUGME_H void plugme_ui_setup_open_button_callback(GtkWidget *open_btn, const gchar *title, GtkFileChooserAction action, GtkEntry *entry); #define ui_setup_open_button_callback plugme_ui_setup_open_button_callback gchar *plugme_editor_get_default_selection(GeanyEditor *editor, gboolean use_current_word, const gchar *wordchars); #define editor_get_default_selection plugme_editor_get_default_selection GtkWidget *plugme_ui_add_config_file_menu_item(const gchar *real_path, const gchar *label, GtkContainer *parent); #define ui_add_config_file_menu_item plugme_ui_add_config_file_menu_item #define PLUGME_H 1 #endif geany-plugins-1.27/scope/src/debug.h0000644000175000017500000000465012671261352017664 0ustar00frlanfrlan00000000000000/* * debug.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef DEBUG_H typedef enum _DebugState { DS_INACTIVE = 0x01, /* gdb not loaded */ DS_BUSY = 0x02, DS_READY = 0x04, /* at prompt, has threads, none/running thread selected */ DS_DEBUG = 0x08, /* at prompt, has threads, stopped thread selected */ DS_HANGING = 0x10, /* at prompt, no threads */ DS_VARIABLE = 0x18, DS_SENDABLE = 0x1C, DS_NOT_BUSY = 0x1D, DS_ACTIVE = 0x1E, DS_BASICS = 0x1F, DS_EXTRA_1 = 0x20, /* also Assem */ DS_EXTRA_2 = 0x40, /* also Load */ DS_EXTRA_3 = 0x80, DS_EXTRA_4 = 0x100, DS_EXTRAS = 0x1E0 } DebugState; enum { DS_INDEX_1 = 5, DS_INDEX_2, DS_INDEX_3, DS_INDEX_4 }; DebugState debug_state(void); /* single basic bit only */ void on_debug_list_source(GArray *nodes); void on_debug_error(GArray *nodes); void on_debug_loaded(GArray *nodes); void on_debug_load_error(GArray *nodes); void on_debug_exit(GArray *nodes); void on_debug_auto_run(GArray *nodes); void on_debug_auto_exit(void); void on_debug_run_continue(const MenuItem *menu_item); void on_debug_goto_cursor(const MenuItem *menu_item); void on_debug_goto_source(const MenuItem *menu_item); void on_debug_step_into(const MenuItem *menu_item); void on_debug_step_over(const MenuItem *menu_item); void on_debug_step_out(const MenuItem *menu_item); void on_debug_terminate(const MenuItem *menu_item); enum { N, T, F }; void debug_send_command(gint tf, const char *command); #define debug_send_thread(command) debug_send_command(T, (command)) void debug_send_format(gint tf, const char *format, ...) G_GNUC_PRINTF(2, 3); char *debug_send_evaluate(char token, gint scid, const gchar *expr); /* == locale(expr) */ void debug_init(void); void debug_finalize(void); #define DEBUG_H 1 #endif geany-plugins-1.27/scope/src/register.c0000644000175000017500000003233612671261352020417 0ustar00frlanfrlan00000000000000/* * register.c * * Copyright 2013 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "common.h" enum { REGISTER_PATH, REGISTER_DISPLAY, REGISTER_VALUE, REGISTER_HB_MODE, /* natural register as char(s)?.. */ REGISTER_NAME, REGISTER_ID, REGISTER_FORMAT }; static ScpTreeStore *store; static GtkTreeSelection *selection; enum { FORMAT_NATURAL, FORMAT_HEX, FORMAT_DECIMAL, FORMAT_OCTAL, FORMAT_BINARY, FORMAT_RAW, FORMAT_COUNT }; static const char register_formats[FORMAT_COUNT] = { 'N', 'x', 'd', 'o', 't', 'r' }; static void register_iter_update(GtkTreeIter *iter, GString *commands[]) { gint id, format; scp_tree_store_get(store, iter, REGISTER_ID, &id, REGISTER_FORMAT, &format, -1); g_string_append_printf(commands[format], " %d", id); } static void register_node_update(const ParseNode *node, GString *commands[]) { iff (node->type == PT_VALUE, "changed-registers: contains array") { const char *id = (const char *) node->value; GtkTreeIter iter; iff (store_find(store, &iter, REGISTER_ID, id), "%s: rid not found", id) register_iter_update(&iter, commands); } } static gboolean query_all_registers = TRUE; static void registers_send_update(GArray *nodes, char token) { GString *commands[FORMAT_COUNT]; guint format; gsize empty; for (format = 0; format < FORMAT_COUNT; format++) { commands[format] = g_string_sized_new(0x7F); g_string_append_printf(commands[format], "0%c9%c%s%s-data-list-register-values %c", token, FRAME_ARGS, register_formats[format]); } empty = commands[FORMAT_NATURAL]->len; if (nodes) parse_foreach(nodes, (GFunc) register_node_update, commands); else { store_foreach(store, (GFunc) register_iter_update, commands); query_all_registers = FALSE; } for (format = 0; format < FORMAT_COUNT; format++) { if (commands[format]->len > empty) debug_send_command(F, commands[format]->str); g_string_free(commands[format], TRUE); } } typedef struct _IndexData { guint index; guint count; } IndexData; static void register_node_name(const ParseNode *node, IndexData *id) { iff (node->type == PT_VALUE, "register-names: contains array") { const char *name = (const char *) node->value; if (*name) { GtkTreeIter iter, iter1; if (store_find(store, &iter1, REGISTER_NAME, name)) { scp_tree_store_iter_nth_child(store, &iter, NULL, id->count); scp_tree_store_swap(store, &iter, &iter1); } else { scp_tree_store_insert_with_values(store, &iter, NULL, id->count, REGISTER_PATH, name, REGISTER_NAME, name, REGISTER_HB_MODE, HB_DEFAULT, REGISTER_FORMAT, FORMAT_NATURAL, -1); } scp_tree_store_set(store, &iter, REGISTER_DISPLAY, NULL, REGISTER_VALUE, NULL, REGISTER_ID, id->index, -1); id->count++; } id->index++; } } void on_register_names(GArray *nodes) { IndexData id = { 0, 0 }; gboolean valid; GtkTreeIter iter; const char *token = parse_grab_token(nodes); parse_foreach(parse_lead_array(nodes), (GFunc) register_node_name, &id); valid = scp_tree_store_iter_nth_child(store, &iter, NULL, id.count); while (valid) valid = scp_tree_store_remove(store, &iter); if (token) registers_send_update(NULL, '2'); } void on_register_changes(GArray *nodes) { const char *token = parse_grab_token(nodes); GArray *changes = parse_lead_array(nodes); if (token) { if (utils_matches_frame(token)) registers_send_update(changes, '4'); } else if (changes->len) query_all_registers = TRUE; /* external changes */ } static void register_set_value(GtkTreeIter *iter, char *value) { if (*value == '{') { const char *parent; GtkTreeIter child; gboolean valid = scp_tree_store_iter_children(store, &child, iter); gboolean next; scp_tree_store_set(store, iter, REGISTER_DISPLAY, NULL, REGISTER_VALUE, NULL, -1); scp_tree_store_get(store, iter, REGISTER_NAME, &parent, -1); do { const char *name = ++value; char *path, *end; if ((value = strchr(name, '=')) == NULL) { dc_error("= expected"); break; } value[-(isspace(value[-1]) != 0)] = '\0'; if (!*name) { dc_error("name expected"); break; } if (isspace(*++value)) value++; if (*value == '{') { if ((end = strchr(value, '}')) != NULL) end++; } else if ((end = strchr(value, ',')) == NULL) end = strchr(value, '}'); if (!end) { dc_error(", or } expected"); break; } next = *end == ','; *end = '\0'; path = g_strdup_printf("%s.%s", parent, name); if (!valid) scp_tree_store_append(store, &child, iter); scp_tree_store_set(store, &child, REGISTER_PATH, path, REGISTER_NAME, name, REGISTER_DISPLAY, value, REGISTER_VALUE, value, -1); valid &= scp_tree_store_iter_next(store, &child); g_free(path); value = end; if (isspace(value[1])) value++; } while (next); while (valid) valid = scp_tree_store_remove(store, &child); } else { scp_tree_store_clear_children(store, iter, FALSE); scp_tree_store_set(store, iter, REGISTER_DISPLAY, value, REGISTER_VALUE, value, -1); } } typedef struct _ValueAction { gint format; gboolean assign; } ValueAction; static void register_node_value(const ParseNode *node, const ValueAction *va) { iff (node->type == PT_ARRAY, "register-values: contains value") { GArray *nodes = (GArray *) node->value; const char *number = parse_find_value(nodes, "number"); char *value = parse_find_value(nodes, "value"); iff (number && value, "no number or value") { GtkTreeIter iter; if (store_find(store, &iter, REGISTER_ID, number), "%s: rid not found") { if (va->format < FORMAT_COUNT) scp_tree_store_set(store, &iter, REGISTER_FORMAT, va->format, -1); if (va->assign) register_set_value(&iter, value); } } } } void on_register_values(GArray *nodes) { const char *token = parse_grab_token(nodes); ValueAction va = { *token - '0', utils_matches_frame(token + 1) }; if (va.format < FORMAT_COUNT || va.assign) parse_foreach(parse_lead_array(nodes), (GFunc) register_node_value, &va); } static void on_register_display_edited(G_GNUC_UNUSED GtkCellRendererText *renderer, gchar *path_str, gchar *new_text, G_GNUC_UNUSED gpointer gdata) { view_display_edited(store, debug_state() & DS_DEBUG, path_str, "07-gdb-set var $%s=%s", new_text); } static const TreeCell register_cells[] = { { "register_display", G_CALLBACK(on_register_display_edited) }, { NULL, NULL } }; static void register_iter_clear(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { if (scp_tree_store_iter_has_child(store, iter)) scp_tree_store_clear_children(store, iter, FALSE); else scp_tree_store_set(store, iter, REGISTER_DISPLAY, NULL, REGISTER_VALUE, NULL, -1); } void registers_clear(void) { store_foreach(store, (GFunc) register_iter_clear, NULL); query_all_registers = TRUE; } gboolean registers_update(void) { if (view_frame_update()) return FALSE; if (frame_id) { if (query_all_registers) registers_send_update(NULL, '4'); else debug_send_format(F, "04%c%s%s-data-list-changed-registers", FRAME_ARGS); } else registers_clear(); return TRUE; } static char *last_gdb_executable = NULL; void registers_query_names(void) { if (g_strcmp0(pref_gdb_executable, last_gdb_executable)) { g_free(last_gdb_executable); last_gdb_executable = g_strdup(pref_gdb_executable); debug_send_command(N, "-data-list-register-names"); } } static GtkWidget *tree; void registers_show(gboolean show) { gtk_widget_set_visible(tree, show); } static GObject *register_display; void registers_update_state(DebugState state) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { GtkTreeIter parent; g_object_set(register_display, "editable", (state & DS_DEBUG) && (scp_tree_store_iter_parent(store, &parent, &iter) || !scp_tree_store_iter_has_child(store, &iter)), NULL); } } void registers_delete_all(void) { store_clear(store); } static gboolean register_load(GKeyFile *config, const char *section) { char *name = utils_key_file_get_string(config, section, "name"); gint format = utils_get_setting_integer(config, section, "format", FORMAT_NATURAL); gboolean valid = FALSE; if (name && (unsigned) format < FORMAT_COUNT) { scp_tree_store_append_with_values(store, NULL, NULL, REGISTER_PATH, name, REGISTER_NAME, name, REGISTER_HB_MODE, HB_DEFAULT, REGISTER_FORMAT, format, -1); valid = TRUE; } g_free(name); return valid; } void registers_load(GKeyFile *config) { registers_delete_all(); g_free(last_gdb_executable); last_gdb_executable = NULL; utils_load(config, "register", register_load); } static gboolean register_save(GKeyFile *config, const char *section, GtkTreeIter *iter) { const char *name; gint format; scp_tree_store_get(store, iter, REGISTER_NAME, &name, REGISTER_FORMAT, &format, -1); if (format == FORMAT_NATURAL) return FALSE; g_key_file_set_string(config, section, "name", name); g_key_file_set_integer(config, section, "format", format); return TRUE; } void registers_save(GKeyFile *config) { store_save(store, config, "register", register_save); } static gboolean on_register_query_tooltip(G_GNUC_UNUSED GtkWidget *widget, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, GtkTreeViewColumn *register_name_column) { GtkTreeView *tree = GTK_TREE_VIEW(widget); GtkTreeIter iter; if (gtk_tree_view_get_tooltip_context(tree, &x, &y, keyboard_tip, NULL, NULL, &iter)) { gint id; char *text; gtk_tree_view_set_tooltip_cell(tree, tooltip, NULL, register_name_column, NULL); scp_tree_store_get(store, &iter, REGISTER_ID, &id, -1); text = g_strdup_printf("register %d", id); gtk_tooltip_set_text(tooltip, text); g_free(text); return TRUE; } return FALSE; } static void on_register_refresh(G_GNUC_UNUSED const MenuItem *menu_item) { registers_send_update(NULL, '2'); } static void on_register_copy(const MenuItem *menu_item) { menu_copy(selection, menu_item); } static void on_register_format_display(const MenuItem *menu_item) { menu_mode_display(selection, menu_item, REGISTER_FORMAT); } static void on_register_format_update(const MenuItem *menu_item) { GtkTreeIter iter; gint format = GPOINTER_TO_INT(menu_item->gdata); gint id; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, REGISTER_ID, &id, -1); if (debug_state() & DS_DEBUG) { debug_send_format(N, "02%d%c%s%s-data-list-register-values %c %d", format, FRAME_ARGS, register_formats[format], id); } else scp_tree_store_set(store, &iter, REGISTER_FORMAT, format, -1); } static void on_register_query(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_command(N, debug_state() & DS_DEBUG ? "02-data-list-register-names" : "-data-list-register-names"); } #define DS_FRESHABLE DS_DEBUG #define DS_COPYABLE (DS_BASICS | DS_EXTRA_1) #define DS_FORMATABLE (DS_INACTIVE | DS_DEBUG | DS_EXTRA_2) #define DS_QUERABLE DS_SENDABLE #define FORMAT_ITEM(format, FORMAT) \ { ("register_format_"format), on_register_format_update, DS_FORMATABLE, NULL, \ GINT_TO_POINTER(FORMAT) } static MenuItem register_menu_items[] = { { "register_refresh", on_register_refresh, DS_FRESHABLE, NULL, NULL }, { "register_copy", on_register_copy, DS_COPYABLE, NULL, NULL }, { "register_format", on_register_format_display, DS_FORMATABLE, NULL, NULL }, FORMAT_ITEM("natural", FORMAT_NATURAL), FORMAT_ITEM("hex", FORMAT_HEX), FORMAT_ITEM("decimal", FORMAT_DECIMAL), FORMAT_ITEM("octal", FORMAT_OCTAL), FORMAT_ITEM("binary", FORMAT_BINARY), FORMAT_ITEM("raw", FORMAT_RAW), { "register_query", on_register_query, DS_QUERABLE, NULL, NULL }, { NULL, NULL, 0, NULL, NULL } }; static guint register_menu_extra_state(void) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { GtkTreeIter parent; return (1 << DS_INDEX_1) | (!scp_tree_store_iter_parent(store, &parent, &iter) << DS_INDEX_2); } return 0; } static MenuInfo register_menu_info = { register_menu_items, register_menu_extra_state, 0 }; static void on_register_selection_changed(G_GNUC_UNUSED GtkTreeSelection *selection, G_GNUC_UNUSED gpointer gdata) { registers_update_state(debug_state()); } void register_init(void) { tree = GTK_WIDGET(view_connect("register_view", &store, &selection, register_cells, "register_window", ®ister_display)); gtk_widget_set_has_tooltip(tree, TRUE); g_signal_connect(tree, "query-tooltip", G_CALLBACK(on_register_query_tooltip), get_column("register_name_column")); menu_select("register_menu", ®ister_menu_info, selection); g_signal_connect(selection, "changed", G_CALLBACK(on_register_selection_changed), NULL); } void registers_finalize(void) { g_free(last_gdb_executable); } geany-plugins-1.27/scope/src/program.c0000644000175000017500000004522012671261352020236 0ustar00frlanfrlan00000000000000/* * program.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "common.h" #ifndef PATH_MAX #define PATH_MAX 4096 #endif static StashGroup *program_group; static StashGroup *options_group; static StashGroup *thread_group; static StashGroup *terminal_group; static void stash_foreach(GFunc func, gpointer gdata) { func(program_group, gdata); func(options_group, gdata); func(thread_group, gdata); func(terminal_group, gdata); } static void stash_group_destroy(StashGroup *group, G_GNUC_UNUSED gpointer gdata) { utils_stash_group_free(group); } enum { PROGRAM_NAME, PROGRAM_ID /* 1-based */ }; #define RECENT_COUNT 28 static ScpTreeStore *recent_programs; static guint recent_bitmap; static GtkWidget *recent_menu; static gboolean recent_program_load(GKeyFile *config, const char *section) { gchar *name = utils_get_setting_string(config, section, "name", NULL); gint id = utils_get_setting_integer(config, section, "id", 0); gboolean valid = FALSE; if (name && id > 0 && id <= RECENT_COUNT && (recent_bitmap & (1 << id)) == 0) { scp_tree_store_append_with_values(recent_programs, NULL, NULL, PROGRAM_NAME, name, PROGRAM_ID, id, -1); recent_bitmap |= 1 << id; valid = TRUE; } g_free(name); return valid; } static gboolean recent_program_save(GKeyFile *config, const char *section, GtkTreeIter *iter) { const gchar *name; gint id; scp_tree_store_get(recent_programs, iter, PROGRAM_NAME, &name, PROGRAM_ID, &id, -1); g_key_file_set_string(config, section, "name", name); g_key_file_set_integer(config, section, "id", id); return TRUE; } static void recent_menu_item_destroy(GtkWidget *widget, G_GNUC_UNUSED gpointer gdata) { gtk_widget_destroy(widget); } static void on_recent_menu_item_activate(GtkMenuItem *menuitem, const gchar *name); static gint recent_menu_count; static void recent_menu_item_create(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { if (recent_menu_count < pref_show_recent_items) { const gchar *name; GtkWidget *item; scp_tree_store_get(recent_programs, iter, PROGRAM_NAME, &name, -1); item = gtk_menu_item_new_with_label(name); gtk_menu_shell_append(GTK_MENU_SHELL(recent_menu), item); g_signal_connect(item, "activate", G_CALLBACK(on_recent_menu_item_activate), (gpointer) name); recent_menu_count++; } } static void recent_menu_create(void) { gtk_container_foreach(GTK_CONTAINER(recent_menu), recent_menu_item_destroy, NULL); recent_menu_count = 0; store_foreach(recent_programs, (GFunc) recent_menu_item_create, NULL); gtk_widget_show_all(GTK_WIDGET(recent_menu)); } static char *recent_file_name(gint id) { char *programfile = g_strdup_printf("program_%d.conf", id); char *configfile = g_build_filename(geany->app->configdir, "plugins", "scope", programfile, NULL); g_free(programfile); return configfile; } gchar *program_executable; gchar *program_arguments; gchar *program_environment; gchar *program_working_dir; gchar *program_load_script; gboolean program_auto_run_exit; gboolean program_non_stop_mode; gboolean program_temp_breakpoint; gchar *program_temp_break_location; static gint program_compare(ScpTreeStore *store, GtkTreeIter *iter, const char *name) { const char *name1; scp_tree_store_get(store, iter, PROGRAM_NAME, &name1, -1); return !utils_filenamecmp(name1, name); } #define program_find(iter, name) scp_tree_store_traverse(recent_programs, FALSE, (iter), \ NULL, (ScpTreeStoreTraverseFunc) program_compare, (gpointer) (name)) static void save_program_settings(void) { const gchar *program_name = *program_executable ? program_executable : program_load_script; if (*program_name) { GtkTreeIter iter; gint id; GKeyFile *config = g_key_file_new(); char *configfile; if (program_find(&iter, program_name)) { scp_tree_store_get(recent_programs, &iter, PROGRAM_ID, &id, -1); scp_tree_store_move(recent_programs, &iter, 0); } else { if (scp_tree_store_iter_nth_child(recent_programs, &iter, NULL, RECENT_COUNT - 1)) { scp_tree_store_get(recent_programs, &iter, PROGRAM_ID, &id, -1); scp_tree_store_remove(recent_programs, &iter); } else { for (id = 1; id < RECENT_COUNT; id++) if ((recent_bitmap & (1 << id)) == 0) break; recent_bitmap |= 1 << id; } scp_tree_store_prepend_with_values(recent_programs, &iter, NULL, PROGRAM_NAME, program_name, PROGRAM_ID, id, -1); } configfile = recent_file_name(id); stash_foreach((GFunc) stash_group_save_to_key_file, config); breaks_save(config); watches_save(config); inspects_save(config); registers_save(config); parse_save(config); utils_key_file_write_to_file(config, configfile); g_free(configfile); g_key_file_free(config); } } gboolean option_open_panel_on_load; gboolean option_open_panel_on_start; gboolean option_update_all_views; gint option_high_bit_mode; gboolean option_member_names; gboolean option_argument_names; gboolean option_long_mr_format; gboolean option_inspect_expand; gint option_inspect_count; gboolean option_library_messages; gboolean option_editor_tooltips; extern gboolean thread_show_group; extern gboolean thread_show_core; extern gboolean stack_show_address; static void program_configure(void) { view_column_set_visible("thread_group_id_column", thread_show_group); view_column_set_visible("thread_core_column", thread_show_core); view_column_set_visible("stack_addr_column", stack_show_address); } static void on_recent_menu_item_activate(G_GNUC_UNUSED GtkMenuItem *menuitem, const gchar *name) { GtkTreeIter iter; if (utils_filenamecmp(name, *program_executable ? program_executable : program_load_script) && program_find(&iter, name)) { gint id; char *configfile; GKeyFile *config = g_key_file_new(); GError *gerror = NULL; gchar *message; scp_tree_store_get(recent_programs, &iter, PROGRAM_ID, &id, -1); configfile = recent_file_name(id); if (g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, &gerror)) { scp_tree_store_move(recent_programs, &iter, 0); save_program_settings(); stash_foreach((GFunc) stash_group_load_from_key_file, config); if ((unsigned) option_inspect_expand > EXPAND_MAX) option_inspect_expand = 100; breaks_load(config); watches_load(config); inspects_load(config); registers_load(config); parse_load(config); message = g_strdup_printf(_("Loaded debug settings for %s."), name); program_find(&iter, name); scp_tree_store_move(recent_programs, &iter, 0); recent_menu_create(); program_configure(); } else { message = g_strdup_printf(_("Could not load debug settings file %s: %s."), configfile, gerror->message); g_error_free(gerror); } if (menuitem) ui_set_statusbar(TRUE, "%s", message); else msgwin_status_add("%s", message); g_free(message); g_key_file_free(config); g_free(configfile); } } static const gchar *build_get_execute(GeanyBuildCmdEntries field) { return build_get_group_count(GEANY_GBG_EXEC) > 1 ? build_get_current_menu_item(GEANY_GBG_EXEC, 1, field) : NULL; } gboolean recent_menu_items(void) { return recent_menu_count != 0; } void program_context_changed(void) { const gchar *name = build_get_execute(GEANY_BC_COMMAND); if (name && debug_state() == DS_INACTIVE) on_recent_menu_item_activate(NULL, name); } static GtkWidget *program_dialog; static GtkWidget *program_page_vbox; static GtkEntry *program_exec_entry; static GtkEntry *working_dir_entry; static GtkEntry *load_script_entry; static GtkTextBuffer *environment; static GtkButton *long_mr_format; static GtkWidget *auto_run_exit; static GtkWidget *temp_breakpoint; static GtkToggleButton *delete_all_items; static GtkWidget *import_button; static gboolean dialog_long_mr_format; static const gchar *LONG_MR_FORMAT[2]; #define build_check_execute() (build_get_execute(GEANY_BC_COMMAND) || \ build_get_execute(GEANY_BC_WORKING_DIR)) static gboolean last_state_inactive = TRUE; void program_update_state(DebugState state) { gboolean inactive = state == DS_INACTIVE; if (inactive != last_state_inactive) { gtk_widget_set_sensitive(program_page_vbox, inactive); gtk_widget_set_sensitive(import_button, inactive && build_check_execute()); last_state_inactive = inactive; } } static void on_program_name_entry_changed(G_GNUC_UNUSED GtkEditable *editable, G_GNUC_UNUSED gpointer gdata) { gboolean sensitive = *gtk_entry_get_text(program_exec_entry) || *gtk_entry_get_text(load_script_entry); gtk_widget_set_sensitive(auto_run_exit, sensitive); gtk_widget_set_sensitive(temp_breakpoint, sensitive); g_signal_emit_by_name(temp_breakpoint, "toggled"); } void on_program_setup(G_GNUC_UNUSED const MenuItem *menu_item) { gtk_text_buffer_set_text(environment, program_environment, -1); stash_foreach((GFunc) stash_group_display, NULL); gtk_button_set_label(long_mr_format, LONG_MR_FORMAT[option_long_mr_format]); dialog_long_mr_format = option_long_mr_format; gtk_widget_set_sensitive(import_button, last_state_inactive && build_check_execute()); on_program_name_entry_changed(NULL, NULL); gtk_toggle_button_set_active(delete_all_items, FALSE); if (debug_state() == DS_INACTIVE) gtk_widget_grab_focus(GTK_WIDGET(program_exec_entry)); gtk_dialog_run(GTK_DIALOG(program_dialog)); } static void on_long_mr_format_clicked(GtkButton *button, G_GNUC_UNUSED gpointer gdata) { dialog_long_mr_format ^= TRUE; gtk_button_set_label(button, LONG_MR_FORMAT[dialog_long_mr_format]); } static void on_temp_breakpoint_toggled(GtkToggleButton *togglebutton, GtkWidget *widget) { gtk_widget_set_sensitive(widget, gtk_widget_get_sensitive(temp_breakpoint) && gtk_toggle_button_get_active(togglebutton)); } static void on_program_import_button_clicked(G_GNUC_UNUSED GtkButton *button, G_GNUC_UNUSED gpointer gdata) { const gchar *executable = build_get_execute(GEANY_BC_COMMAND); const char *workdir = build_get_execute(GEANY_BC_WORKING_DIR); gtk_entry_set_text(program_exec_entry, executable ? executable : ""); gtk_entry_set_text(working_dir_entry, workdir ? workdir : ""); } static gboolean check_dialog_path(GtkEntry *entry, gboolean file, int mode) { const gchar *pathname = gtk_entry_get_text(entry); if (utils_check_path(pathname, file, mode)) return TRUE; if (errno == ENOENT) { return dialogs_show_question(_("%s: %s.\n\nContinue?"), pathname, g_strerror(errno)); } show_errno(pathname); return FALSE; } static void on_program_ok_button_clicked(G_GNUC_UNUSED GtkButton *button, G_GNUC_UNUSED gpointer gdata) { if (check_dialog_path(program_exec_entry, TRUE, R_OK | X_OK) && check_dialog_path(working_dir_entry, FALSE, X_OK) && check_dialog_path(load_script_entry, TRUE, R_OK)) { const gchar *program_name = gtk_entry_get_text(program_exec_entry); if (*program_name == '\0') program_name = gtk_entry_get_text(load_script_entry); if (utils_filenamecmp(program_name, *program_executable ? program_executable : program_load_script)) { save_program_settings(); } stash_foreach((GFunc) stash_group_update, NULL); option_long_mr_format = dialog_long_mr_format; g_free(program_environment); program_environment = utils_text_buffer_get_text(environment, -1); save_program_settings(); recent_menu_create(); program_configure(); gtk_widget_hide(program_dialog); if (gtk_toggle_button_get_active(delete_all_items) && dialogs_show_question(_("Delete all breakpoints, watches et cetera?"))) { breaks_delete_all(); watches_delete_all(); inspects_delete_all(); registers_delete_all(); } } } void program_load_config(GKeyFile *config) { utils_load(config, "recent", recent_program_load); recent_menu_create(); config = g_key_file_new(); /* load from empty config file == set defaults */ stash_foreach((GFunc) stash_group_load_from_key_file, config); g_key_file_free(config); program_configure(); } void program_init(void) { GtkWidget *widget; StashGroup *group = stash_group_new("program"); extern gboolean thread_select_on_running; extern gboolean thread_select_on_stopped; extern gboolean thread_select_on_exited; extern gboolean thread_select_follow; program_dialog = dialog_connect("program_dialog"); program_page_vbox = get_widget("program_page_vbox"); program_exec_entry = GTK_ENTRY(get_widget("program_executable_entry")); gtk_entry_set_max_length(program_exec_entry, PATH_MAX); stash_group_add_entry(group, &program_executable, "executable", "", program_exec_entry); ui_setup_open_button_callback(get_widget("program_executable_button"), NULL, GTK_FILE_CHOOSER_ACTION_OPEN, program_exec_entry); stash_group_add_entry(group, &program_arguments, "arguments", "", get_widget("program_arguments_entry")); widget = get_widget("program_environment"); environment = gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget)); stash_group_add_string(group, &program_environment, "environment", ""); working_dir_entry = GTK_ENTRY(get_widget("program_working_dir_entry")); gtk_entry_set_max_length(working_dir_entry, PATH_MAX); stash_group_add_entry(group, &program_working_dir, "working_dir", "", working_dir_entry); ui_setup_open_button_callback(get_widget("program_working_dir_button"), NULL, GTK_FILE_CHOOSER_ACTION_OPEN, working_dir_entry); load_script_entry = GTK_ENTRY(get_widget("program_load_script_entry")); gtk_entry_set_max_length(load_script_entry, PATH_MAX); stash_group_add_entry(group, &program_load_script, "load_script", "", load_script_entry); ui_setup_open_button_callback(get_widget("program_load_script_button"), NULL, GTK_FILE_CHOOSER_ACTION_OPEN, load_script_entry); auto_run_exit = get_widget("program_auto_run_exit"); stash_group_add_toggle_button(group, &program_auto_run_exit, "auto_run_exit", TRUE, auto_run_exit); stash_group_add_toggle_button(group, &program_non_stop_mode, "non_stop_mode", FALSE, get_widget("program_non_stop_mode")); temp_breakpoint = get_widget("program_temp_breakpoint"); stash_group_add_toggle_button(group, &program_temp_breakpoint, "temp_breakpoint", FALSE, temp_breakpoint); widget = get_widget("program_temp_break_location"); gtk_entry_set_max_length(GTK_ENTRY(widget), PATH_MAX + 0xFF); stash_group_add_entry(group, &program_temp_break_location, "temp_break_location", "", widget); program_group = group; delete_all_items = GTK_TOGGLE_BUTTON(get_widget("program_delete_all_items")); g_signal_connect(program_exec_entry, "changed", G_CALLBACK(on_program_name_entry_changed), NULL); g_signal_connect(load_script_entry, "changed", G_CALLBACK(on_program_name_entry_changed), NULL); g_signal_connect(temp_breakpoint, "toggled", G_CALLBACK(on_temp_breakpoint_toggled), widget); import_button = get_widget("program_import"); g_signal_connect(import_button, "clicked", G_CALLBACK(on_program_import_button_clicked), NULL); widget = get_widget("program_ok"); g_signal_connect(widget, "clicked", G_CALLBACK(on_program_ok_button_clicked), NULL); gtk_widget_grab_default(widget); group = stash_group_new("options"); stash_group_add_toggle_button(group, &option_open_panel_on_load, "open_panel_on_load", TRUE, get_widget("option_open_panel_on_load")); stash_group_add_toggle_button(group, &option_open_panel_on_start, "open_panel_on_start", TRUE, get_widget("option_open_panel_on_start")); stash_group_add_toggle_button(group, &option_update_all_views, "update_all_views", FALSE, get_widget("option_update_all_views")); stash_group_add_radio_buttons(group, &option_high_bit_mode, "high_bit_mode", HB_7BIT, get_widget("option_high_bit_mode_7bit"), HB_7BIT, get_widget("option_high_bit_mode_locale"), HB_LOCALE, get_widget("option_high_bit_mode_utf8"), HB_UTF8, NULL); stash_group_add_toggle_button(group, &option_member_names, "member_names", TRUE, get_widget("option_member_names")); stash_group_add_toggle_button(group, &option_argument_names, "argument_names", TRUE, get_widget("option_argument_names")); long_mr_format = GTK_BUTTON(get_widget("option_mr_long_mr_format")); stash_group_add_boolean(group, &option_long_mr_format, "long_mr_format", TRUE); LONG_MR_FORMAT[FALSE] = _("as _Name=value"); LONG_MR_FORMAT[TRUE] = _("as _Name = value"); g_signal_connect(long_mr_format, "clicked", G_CALLBACK(on_long_mr_format_clicked), NULL); stash_group_add_toggle_button(group, &option_inspect_expand, "inspect_expand", TRUE, get_widget("option_inspect_expand")); stash_group_add_spin_button_integer(group, &option_inspect_count, "inspect_count", 100, get_widget("option_inspect_count")); stash_group_add_toggle_button(group, &option_library_messages, "library_messages", FALSE, get_widget("option_library_messages")); stash_group_add_toggle_button(group, &option_editor_tooltips, "editor_tooltips", TRUE, get_widget("option_editor_tooltips")); stash_group_add_boolean(group, &stack_show_address, "stack_show_address", TRUE); options_group = group; group = stash_group_new("terminal"); #ifdef G_OS_UNIX stash_group_add_boolean(group, &terminal_auto_show, "auto_show", FALSE); stash_group_add_boolean(group, &terminal_auto_hide, "auto_hide", FALSE); stash_group_add_boolean(group, &terminal_show_on_error, "show_on_error", FALSE); #endif terminal_group = group; group = stash_group_new("thread"); stash_group_add_boolean(group, &thread_select_on_running, "select_on_running", FALSE); stash_group_add_boolean(group, &thread_select_on_stopped, "select_on_stopped", TRUE); stash_group_add_boolean(group, &thread_select_on_exited, "select_on_exited", TRUE); stash_group_add_boolean(group, &thread_select_follow, "select_follow", TRUE); stash_group_add_boolean(group, &thread_show_group, "show_group", TRUE); stash_group_add_boolean(group, &thread_show_core, "show_core", TRUE); thread_group = group; recent_programs = SCP_TREE_STORE(get_object("recent_program_store")); recent_bitmap = 0; recent_menu = get_widget("program_recent_menu"); } void program_finalize(void) { char *configfile = prefs_file_name(); GKeyFile *config = g_key_file_new(); save_program_settings(); g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL); store_save(recent_programs, config, "recent", recent_program_save); utils_key_file_write_to_file(config, configfile); g_key_file_free(config); g_free(configfile); gtk_widget_destroy(program_dialog); stash_foreach((GFunc) stash_group_destroy, NULL); } geany-plugins-1.27/scope/src/conterm.h0000644000175000017500000000273712671261352020251 0ustar00frlanfrlan00000000000000/* * conterm.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef CONTERM_H #ifdef G_OS_UNIX void on_terminal_show(const MenuItem *menu_item); void terminal_clear(void); void terminal_standalone(gboolean alone); extern gboolean terminal_auto_show; extern gboolean terminal_auto_hide; extern gboolean terminal_show_on_error; #endif /* G_OS_UNIX */ /* pseudo-fd; 3 = prompt, 4 = scope error */ extern void (*dc_output)(int fd, const char *text, gint length); extern void (*dc_output_nl)(int fd, const char *text, gint length); void dc_error(const char *format, ...) G_GNUC_PRINTF(1, 2); void dc_clear(void); gboolean dc_update(void); void conterm_load_config(void); /* Geany VTE config */ void conterm_apply_config(void); void conterm_init(void); void conterm_finalize(void); #define CONTERM_H 1 #endif geany-plugins-1.27/scope/src/store/0000755000175000017500000000000012671261444017556 5ustar00frlanfrlan00000000000000geany-plugins-1.27/scope/src/store/scptreestore.c0000644000175000017500000015532412671261352022454 0ustar00frlanfrlan00000000000000/* gtktreestore.c * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford * * scptreestore.c * Copyright 2013 Dimitar Toshkov Zhekov * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library. If not, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include "scptreedata.h" #include "scptreestore.h" #if defined(ENABLE_NLS) && defined(GETTEXT_PACKAGE) #define P_(String) g_dgettext(GETTEXT_PACKAGE "-properties", (String)) #else #define P_(String) (String) #endif #if !GLIB_CHECK_VERSION(2, 30, 0) #define G_VALUE_INIT { 0, { { 0 } } } #endif #if !GTK_CHECK_VERSION(2, 90, 7) #define gtk_get_debug_flags() (gtk_debug_flags + 0) #endif #ifdef G_DISABLE_CHECKS #define VALIDATE_ONLY G_GNUC_UNUSED #else #define VALIDATE_ONLY #endif typedef struct _AElem AElem; struct _AElem { AElem *parent; GPtrArray *children; ScpTreeData data[1]; }; struct _ScpTreeStorePrivate { gint stamp; AElem *root; GPtrArray *roar; guint n_columns; ScpTreeDataHeader *headers; gint sort_column_id; GtkSortType sort_order; GtkTreeIterCompareFunc sort_func; /* current */ gboolean sublevels; guint toplevel_reserved; guint sublevel_reserved; gboolean sublevel_discard; gboolean columns_dirty; }; #define VALID_ITER(iter, store) \ ((iter) && (iter)->user_data && (store)->priv->stamp == (iter)->stamp) #define VALID_ITER_OR_NULL(iter, store) \ (!(iter) || ((iter)->user_data && (store)->priv->stamp == (iter)->stamp)) #define SCP_TREE_MODEL(store) ((GtkTreeModel *) store) #define ITER_ARRAY(iter) ((GPtrArray *) ((iter)->user_data)) #define ITER_INDEX(iter) (GPOINTER_TO_INT((iter)->user_data2)) #define ITER_ELEM(iter) ((AElem *) ITER_ARRAY(iter)->pdata[ITER_INDEX(iter)]) #define ELEM_SIZE(n_columns) (sizeof(AElem) + ((n_columns) - 1) * sizeof(ScpTreeData)) /* Store */ static void scp_ptr_array_insert_val(GPtrArray *array, guint index, gpointer data) { g_ptr_array_set_size(array, array->len + 1); memmove(array->pdata + index + 1, array->pdata + index, (array->len - index - 1) * sizeof(gpointer)); array->pdata[index] = data; } static void scp_free_element(ScpTreeStore *store, AElem *elem); static void scp_free_array(ScpTreeStore *store, GPtrArray *array) { if (array) { guint i; for (i = 0; i < array->len; i++) scp_free_element(store, (AElem *) array->pdata[i]); g_ptr_array_free(array, TRUE); } } static void scp_free_element(ScpTreeStore *store, AElem *elem) { ScpTreeStorePrivate *priv = store->priv; guint i; scp_free_array(store, elem->children); for (i = 0; i < priv->n_columns; i++) scp_tree_data_free(elem->data + i, priv->headers[i].type); g_slice_free1(ELEM_SIZE(priv->n_columns), elem); } ScpTreeStore *scp_tree_store_new(gboolean sublevels, gint n_columns, ...) { GType *types; va_list ap; gint i; ScpTreeStore *store; g_return_val_if_fail(n_columns > 0, NULL); types = g_malloc(n_columns * sizeof(GType)); va_start(ap, n_columns); for (i = 0; i < n_columns; i++) types[i] = va_arg(ap, GType); va_end(ap); store = scp_tree_store_newv(sublevels, n_columns, types); g_free(types); return store; } ScpTreeStore *scp_tree_store_newv(gboolean sublevels, gint n_columns, GType *types) { ScpTreeStore *store; g_return_val_if_fail(n_columns > 0, NULL); store = g_object_new(SCP_TYPE_TREE_STORE, "sublevels", sublevels != FALSE, NULL); if (!scp_tree_store_set_column_types(store, n_columns, types)) { g_object_unref(store); store = NULL; } return store; } #define scp_tree_model_compare_func ((GtkTreeIterCompareFunc) scp_tree_store_compare_func) gboolean scp_tree_store_set_column_types(ScpTreeStore *store, gint n_columns, GType *types) { ScpTreeStorePrivate *priv = store->priv; g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail(!priv->columns_dirty, FALSE); if (priv->headers) scp_tree_data_headers_free(priv->n_columns, priv->headers); priv->headers = scp_tree_data_headers_new(n_columns, types, scp_tree_model_compare_func); priv->n_columns = n_columns; return TRUE; } static void scp_emit_reordered(ScpTreeStore *store, GtkTreeIter *iter, gint *new_order) { ScpTreeStorePrivate *priv = store->priv; GtkTreePath *path; GtkTreeIter parent; if (iter->user_data == priv->root->children) { path = gtk_tree_path_new(); parent.stamp = priv->stamp; parent.user_data = store->priv->roar; parent.user_data2 = GINT_TO_POINTER(0); } else { scp_tree_store_iter_parent(store, &parent, iter); path = scp_tree_store_get_path(store, &parent); } gtk_tree_model_rows_reordered(SCP_TREE_MODEL(store), path, &parent, new_order); gtk_tree_path_free(path); } static void scp_move_element(ScpTreeStore *store, GPtrArray *array, GtkTreeIter *iter, guint new_pos, gboolean emit_reordered) { guint old_pos = ITER_INDEX(iter); if (old_pos != new_pos) { gpointer data = array->pdata[old_pos]; if (new_pos < old_pos) { memmove(array->pdata + new_pos + 1, array->pdata + new_pos, (old_pos - new_pos) * sizeof(gpointer)); } else { memmove(array->pdata + old_pos, array->pdata + old_pos + 1, (new_pos - old_pos) * sizeof(gpointer)); } array->pdata[new_pos] = data; iter->user_data2 = GINT_TO_POINTER(new_pos); if (emit_reordered) { gint *new_order = g_new(gint, array->len); guint i; for (i = 0; i < array->len; i++) { if (G_UNLIKELY(i == new_pos)) new_order[i] = old_pos; else if (new_pos < old_pos) new_order[i] = i - (i > new_pos && i <= old_pos); else new_order[i] = i + (i >= old_pos && i < new_pos); } scp_emit_reordered(store, iter, new_order); g_free(new_order); } } } static inline gint scp_fixup_compare_result(ScpTreeStore *store, gint result) { return store->priv->sort_order == GTK_SORT_ASCENDING ? result : result > 0 ? -1 : result < 0; } #define scp_store_compare(store, func, a, b, data) \ scp_fixup_compare_result((store), (*(func))(SCP_TREE_MODEL(store), (a), (b), (data))) static guint scp_search_pos(ScpTreeStore *store, GtkTreeIterCompareFunc func, gpointer data, GtkTreeIter *iter, gint low, gint high) { if (low <= high) { gint mid; GtkTreeIter iter1; iter1.stamp = iter->stamp; iter1.user_data = iter->user_data; while (low < high) { gint result; mid = (low + high) / 2; iter1.user_data2 = GINT_TO_POINTER(mid); result = scp_store_compare(store, func, iter, &iter1, data); if (result > 0) low = mid + 1; else if (result < 0) high = mid - 1; else return mid; } iter1.user_data2 = GINT_TO_POINTER(low); if (scp_store_compare(store, func, iter, &iter1, data) > 0) low++; } return low; } static void scp_sort_element(ScpTreeStore *store, GtkTreeIter *iter, gboolean emit_reordered) { ScpTreeStorePrivate *priv = store->priv; GPtrArray *array = ITER_ARRAY(iter); gint index = ITER_INDEX(iter); GtkTreeIter iter1; gpointer data = priv->headers[priv->sort_column_id].data; iter1.stamp = priv->stamp; iter1.user_data = array; if (index > 0) { iter1.user_data2 = GINT_TO_POINTER(index - 1); if (scp_store_compare(store, priv->sort_func, iter, &iter1, data) < 0) { scp_move_element(store, array, iter, scp_search_pos(store, priv->sort_func, data, iter, 0, index - 2), emit_reordered); return; } } if (index < (gint) array->len - 1) { iter1.user_data2 = GINT_TO_POINTER(index + 1); if (scp_store_compare(store, priv->sort_func, iter, &iter1, data) > 0) { scp_move_element(store, array, iter, scp_search_pos(store, priv->sort_func, data, iter, index + 2, array->len - 1) - 1, emit_reordered); } } } static gboolean scp_set_value(ScpTreeStore *store, AElem *elem, gint column, GValue *value) { ScpTreeStorePrivate *priv = store->priv; GType dest_type = priv->headers[column].type; g_return_val_if_fail((guint) column < priv->n_columns, FALSE); if (g_type_is_a(G_VALUE_TYPE(value), dest_type)) scp_tree_data_from_value(elem->data + column, value, TRUE); else { GValue real_value = G_VALUE_INIT; g_value_init(&real_value, dest_type); if (!g_value_transform(value, &real_value)) { g_warning("%s: Unable to make conversion from %s to %s\n", G_STRFUNC, g_type_name(G_VALUE_TYPE(value)), g_type_name(dest_type)); return FALSE; } scp_tree_data_from_value(elem->data + column, &real_value, TRUE); g_value_unset(&real_value); } return TRUE; } static void scp_set_vector(ScpTreeStore *store, AElem *elem, gboolean *changed, gboolean *sort_changed, gint *columns, GValue *values, gint n_values) { ScpTreeStorePrivate *priv = store->priv; gint i; if (priv->sort_func && priv->sort_func != scp_tree_model_compare_func) *sort_changed = TRUE; for (i = 0; i < n_values; i++) { gint column = columns[i]; if ((guint) column >= priv->n_columns) { g_warning("%s: Invalid column number %d added to iter (remember to end " "your list of columns with a -1)", G_STRFUNC, column); break; } if (scp_set_value(store, elem, column, values + i)) *changed = TRUE; if (column == priv->sort_column_id) *sort_changed = TRUE; } } static void scp_set_valist(ScpTreeStore *store, AElem *elem, gboolean *changed, gboolean *sort_changed, va_list ap) { ScpTreeStorePrivate *priv = store->priv; gint column; if (priv->sort_func && priv->sort_func != scp_tree_model_compare_func) *sort_changed = TRUE; while ((column = va_arg(ap, int)) != -1) { if ((guint) column >= priv->n_columns) { g_warning("%s: Invalid column number %d added to iter (remember to end " "your list of columns with a -1)", G_STRFUNC, column); break; } scp_tree_data_from_stack(elem->data + column, priv->headers[column].type, ap, TRUE); *changed = TRUE; if (column == priv->sort_column_id) *sort_changed = TRUE; } } static void scp_set_values_signals(ScpTreeStore *store, GtkTreeIter *iter, gboolean changed, gboolean sort_changed) { if (sort_changed) scp_sort_element(store, iter, TRUE); if (changed) { GtkTreePath *path; path = scp_tree_store_get_path(store, iter); gtk_tree_model_row_changed(SCP_TREE_MODEL(store), path, iter); gtk_tree_path_free(path); } } void scp_tree_store_set_valuesv(ScpTreeStore *store, GtkTreeIter *iter, gint *columns, GValue *values, gint n_values) { gboolean changed = FALSE; gboolean sort_changed = FALSE; g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail(VALID_ITER(iter, store)); scp_set_vector(store, ITER_ELEM(iter), &changed, &sort_changed, columns, values, n_values); scp_set_values_signals(store, iter, changed, sort_changed); } void scp_tree_store_set_value(ScpTreeStore *store, GtkTreeIter *iter, gint column, GValue *value) { scp_tree_store_set_valuesv(store, iter, &column, value, 1); } void scp_tree_store_set_valist(ScpTreeStore *store, GtkTreeIter *iter, va_list ap) { gboolean changed = FALSE; gboolean sort_changed = FALSE; g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail(VALID_ITER(iter, store)); scp_set_valist(store, ITER_ELEM(iter), &changed, &sort_changed, ap); scp_set_values_signals(store, iter, changed, sort_changed); } void scp_tree_store_set(ScpTreeStore *store, GtkTreeIter *iter, ...) { va_list ap; va_start(ap, iter); scp_tree_store_set_valist(store, iter, ap); va_end(ap); } gboolean scp_tree_store_remove(ScpTreeStore *store, GtkTreeIter *iter) { ScpTreeStorePrivate *priv = store->priv; GPtrArray *array; guint index; GtkTreePath *path; AElem *elem, *parent; g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail(VALID_ITER(iter, store), FALSE); array = ITER_ARRAY(iter); index = ITER_INDEX(iter); elem = (AElem *) array->pdata[index]; parent = elem->parent; path = scp_tree_store_get_path(store, iter); scp_free_element(store, elem); g_ptr_array_remove_index(array, index); gtk_tree_model_row_deleted(SCP_TREE_MODEL(store), path); if (index == array->len) { if (array->len == 0 && parent != priv->root) { if (priv->sublevel_discard) { g_ptr_array_free(array, TRUE); parent->children = NULL; } /* child_toggled */ iter->user_data = parent->parent->children; gtk_tree_path_up(path); iter->user_data2 = GINT_TO_POINTER(gtk_tree_path_get_indices(path) [gtk_tree_path_get_depth(path) - 1]); gtk_tree_model_row_has_child_toggled(SCP_TREE_MODEL(store), path, iter); } /* invalidate */ iter->stamp = 0; } gtk_tree_path_free(path); return iter->stamp != 0; } static void validate_elem(AElem *parent, AElem *elem) { GPtrArray *array = elem->children; g_assert(elem->parent == parent); if (array) { guint i; for (i = 0; i < array->len; i++) validate_elem(elem, (AElem *) array->pdata[i]); } } static void validate_store(ScpTreeStore *store) { if (gtk_get_debug_flags() & GTK_DEBUG_TREE) validate_elem(NULL, (store)->priv->root); } static gboolean scp_insert_element(ScpTreeStore *store, GtkTreeIter *iter, AElem *elem, gint position, GtkTreeIter *parent_iter) { ScpTreeStorePrivate *priv = store->priv; AElem *parent = parent_iter ? ITER_ELEM(parent_iter) : priv->root; GPtrArray *array = parent->children; GtkTreePath *path; g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail(iter != NULL, FALSE); g_return_val_if_fail(priv->sublevels == TRUE || parent_iter == NULL, FALSE); g_return_val_if_fail(VALID_ITER_OR_NULL(parent_iter, store), FALSE); if (array) { if (position == -1) position = array->len; else g_return_val_if_fail((guint) position <= array->len, FALSE); } else { g_return_val_if_fail(position == 0 || position == -1, FALSE); position = 0; parent->children = array = g_ptr_array_sized_new(parent_iter ? priv->sublevel_reserved : priv->toplevel_reserved); } elem->parent = parent; scp_ptr_array_insert_val(array, position, elem); iter->stamp = priv->stamp; iter->user_data = array; iter->user_data2 = GINT_TO_POINTER(position); if (priv->sort_func) scp_sort_element(store, iter, FALSE); priv->columns_dirty = TRUE; path = scp_tree_store_get_path(store, iter); gtk_tree_model_row_inserted(SCP_TREE_MODEL(store), path, iter); if (parent_iter && array->len == 1) { gtk_tree_path_up(path); gtk_tree_model_row_has_child_toggled(SCP_TREE_MODEL(store), path, parent_iter); } gtk_tree_path_free(path); validate_store(store); return TRUE; } void scp_tree_store_insert(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint position) { AElem *elem = g_slice_alloc0(ELEM_SIZE(store->priv->n_columns)); if (!scp_insert_element(store, iter, elem, position, parent)) g_slice_free1(ELEM_SIZE(store->priv->n_columns), elem); } void scp_tree_store_insert_with_valuesv(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint position, gint *columns, GValue *values, gint n_values) { AElem *elem = g_slice_alloc0(ELEM_SIZE(store->priv->n_columns)); gboolean changed, sort_changed; GtkTreeIter iter1; scp_set_vector(store, elem, &changed, &sort_changed, columns, values, n_values); if (!scp_insert_element(store, iter ? iter : &iter1, elem, position, parent)) scp_free_element(store, elem); } void scp_tree_store_insert_with_valist(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint position, va_list ap) { AElem *elem = g_slice_alloc0(ELEM_SIZE(store->priv->n_columns)); gboolean changed, sort_changed; GtkTreeIter iter1; scp_set_valist(store, elem, &changed, &sort_changed, ap); if (!scp_insert_element(store, iter ? iter : &iter1, elem, position, parent)) scp_free_element(store, elem); } void scp_tree_store_insert_with_values(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint position, ...) { va_list ap; va_start(ap, position); scp_tree_store_insert_with_valist(store, iter, parent, position, ap); va_end(ap); } void scp_tree_store_get_valist(ScpTreeStore *store, GtkTreeIter *iter, va_list ap) { ScpTreeStorePrivate *priv = store->priv; AElem *elem = ITER_ELEM(iter); gint column; g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail(VALID_ITER(iter, store)); while ((column = va_arg(ap, int)) != -1) { gpointer dest; if ((guint) column >= priv->n_columns) { g_warning("%s: Invalid column number %d added to iter (remember to end " "your list of columns with a -1)", G_STRFUNC, column); break; } dest = va_arg(ap, gpointer); scp_tree_data_to_pointer(elem->data + column, priv->headers[column].type, dest); } } void scp_tree_store_get(ScpTreeStore *store, GtkTreeIter *iter, ...) { va_list ap; va_start(ap, iter); scp_tree_store_get_valist(store, iter, ap); va_end(ap); } static gboolean scp_tree_contains(GPtrArray *array, AElem *elem) { if (array) { guint i; for (i = 0; i < array->len; i++) { AElem *elem1 = (AElem *) array->pdata[i]; if (elem1 == elem || scp_tree_contains(elem1->children, elem)) return TRUE; } } return FALSE; } gboolean scp_tree_store_is_ancestor(VALIDATE_ONLY ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *descendant) { g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail(VALID_ITER(iter, store), FALSE); g_return_val_if_fail(VALID_ITER(descendant, store), FALSE); return scp_tree_contains(ITER_ELEM(iter)->children, ITER_ELEM(descendant)); } gint scp_tree_store_iter_depth(VALIDATE_ONLY ScpTreeStore *store, GtkTreeIter *iter) { gint depth = 0; AElem *elem; g_return_val_if_fail(SCP_IS_TREE_STORE(store), 0); g_return_val_if_fail(VALID_ITER(iter, store), 0); for (elem = ITER_ELEM(iter); elem->parent; depth++, elem = elem->parent); return depth; } static void scp_clear_array(ScpTreeStore *store, GPtrArray *array, gboolean emit_subsignals) { if (array) { GtkTreeIter iter; gint i; iter.user_data = array; for (i = (gint) array->len - 1; i >= 0; i--) { if (emit_subsignals) scp_clear_array(store, ((AElem *) array->pdata[i])->children, TRUE); iter.stamp = store->priv->stamp; iter.user_data2 = GINT_TO_POINTER(i); scp_tree_store_remove(store, &iter); } } } void scp_tree_store_clear_children(ScpTreeStore *store, GtkTreeIter *parent, gboolean emit_subsignals) { g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail(VALID_ITER_OR_NULL(parent, store)); if (parent) scp_clear_array(store, ITER_ELEM(parent)->children, emit_subsignals); else { scp_clear_array(store, store->priv->root->children, emit_subsignals); while (++store->priv->stamp == 0); } } gboolean scp_tree_store_iter_is_valid(ScpTreeStore *store, GtkTreeIter *iter) { g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail(VALID_ITER(iter, store), FALSE); return scp_tree_contains(store->priv->root->children, ITER_ELEM(iter)); } static void scp_reorder_array(ScpTreeStore *store, GtkTreeIter *parent, GPtrArray *array, gint *new_order) { gpointer *pdata = g_new(gpointer, array->len); GtkTreePath *path; guint i; for (i = 0; i < array->len; i++) pdata[i] = array->pdata[new_order[i]]; memcpy(array->pdata, pdata, array->len * sizeof(gpointer)); g_free(pdata); /* emit signal */ path = parent ? scp_tree_store_get_path(store, parent) : gtk_tree_path_new(); gtk_tree_model_rows_reordered(SCP_TREE_MODEL(store), path, parent, new_order); gtk_tree_path_free(path); } void scp_tree_store_reorder(ScpTreeStore *store, GtkTreeIter *parent, gint *new_order) { GPtrArray *array; g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail(store->priv->sort_func == NULL); g_return_if_fail(VALID_ITER_OR_NULL(parent, store)); g_return_if_fail(new_order != NULL); if ((array = (parent ? ITER_ELEM(parent) : store->priv->root)->children) != NULL) scp_reorder_array(store, parent, array, new_order); } void scp_tree_store_swap(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b) { GPtrArray *array = ITER_ARRAY(a); guint index_a = ITER_INDEX(a); guint index_b = ITER_INDEX(b); g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail(VALID_ITER(a, store)); g_return_if_fail(VALID_ITER(b, store)); if (ITER_ARRAY(b) != array) { g_warning("%s: Given children don't have a common parent\n", G_STRFUNC); return; } if (index_a != index_b) { AElem *swap = (AElem *) array->pdata[index_a]; gint *new_order = g_new(gint, array->len); guint i; array->pdata[index_a] = array->pdata[index_b]; array->pdata[index_b] = swap; for (i = 0; i < array->len; i++) new_order[i] = i == index_a ? index_b : i == index_b ? index_a : i; scp_emit_reordered(store, a, new_order); g_free(new_order); } } void scp_tree_store_move(ScpTreeStore *store, GtkTreeIter *iter, gint position) { GPtrArray *array = ITER_ARRAY(iter); g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail(store->priv->sort_func == NULL); g_return_if_fail(VALID_ITER(iter, store)); if (position == -1) { g_return_if_fail(array->len > 0); position = array->len - 1; } else g_return_if_fail((guint) position < array->len); scp_move_element(store, array, iter, position, TRUE); } gint scp_tree_store_iter_tell(VALIDATE_ONLY ScpTreeStore *store, GtkTreeIter *iter) { g_return_val_if_fail(SCP_IS_TREE_STORE(store), -1); g_return_val_if_fail(VALID_ITER(iter, store), -1); g_return_val_if_fail((guint) ITER_INDEX(iter) < ITER_ARRAY(iter)->len, -1); return ITER_INDEX(iter); } /* Model */ static gint scp_ptr_array_find(GPtrArray *array, AElem *elem) { guint i; for (i = 0; i < array->len; i++) if (array->pdata[i] == elem) return i; return -1; } GtkTreeModelFlags scp_tree_store_get_flags(ScpTreeStore *store) { return store->priv->sublevels ? 0 : GTK_TREE_MODEL_LIST_ONLY; } gint scp_tree_store_get_n_columns(ScpTreeStore *store) { store->priv->columns_dirty = TRUE; return store->priv->n_columns; } GType scp_tree_store_get_column_type(ScpTreeStore *store, gint index) { ScpTreeStorePrivate *priv = store->priv; g_return_val_if_fail((guint) index < priv->n_columns, G_TYPE_INVALID); priv->columns_dirty = TRUE; return priv->headers[index].type; } gboolean scp_tree_store_get_iter(ScpTreeStore *store, GtkTreeIter *iter, GtkTreePath *path) { ScpTreeStorePrivate *priv = store->priv; GPtrArray *array = priv->root->children; const gint *indices; gint depth, i; priv->columns_dirty = TRUE; indices = gtk_tree_path_get_indices(path); depth = gtk_tree_path_get_depth(path); g_return_val_if_fail(depth > 0, FALSE); for (i = 0; ; i++) { if (!array || (guint) indices[i] >= array->len) { iter->stamp = 0; return FALSE; } if (i == depth - 1) break; array = ((AElem *) array->pdata[indices[i]])->children; } iter->stamp = priv->stamp; iter->user_data = array; iter->user_data2 = GINT_TO_POINTER(indices[depth - 1]); return TRUE; } GtkTreePath *scp_tree_store_get_path(VALIDATE_ONLY ScpTreeStore *store, GtkTreeIter *iter) { AElem *elem = ITER_ELEM(iter); GtkTreePath *path; g_return_val_if_fail(VALID_ITER(iter, store), NULL); path = gtk_tree_path_new(); if (elem->parent) { gtk_tree_path_append_index(path, ITER_INDEX(iter)); while ((elem = elem->parent), elem->parent) { gint index = scp_ptr_array_find(elem->parent->children, elem); if (index == -1) { /* We couldn't find node, meaning it's prolly not ours */ /* Perhaps I should do a g_return_if_fail here. */ gtk_tree_path_free(path); return NULL; } gtk_tree_path_prepend_index(path, index); } } return path; } void scp_tree_store_get_value(ScpTreeStore *store, GtkTreeIter *iter, gint column, GValue *value) { ScpTreeStorePrivate *priv = store->priv; g_return_if_fail((guint) column < priv->n_columns); g_return_if_fail(VALID_ITER(iter, store)); scp_tree_data_to_value(ITER_ELEM(iter)->data + column, priv->headers[column].type, value); } gboolean scp_tree_store_iter_next(VALIDATE_ONLY ScpTreeStore *store, GtkTreeIter *iter) { gint index = ITER_INDEX(iter); g_return_val_if_fail(VALID_ITER(iter, store), FALSE); if (index < (gint) ITER_ARRAY(iter)->len - 1) { iter->user_data2 = GINT_TO_POINTER(index + 1); return TRUE; } iter->stamp = 0; return FALSE; } gboolean scp_tree_store_iter_previous(VALIDATE_ONLY ScpTreeStore *store, GtkTreeIter *iter) { gint index = ITER_INDEX(iter); g_return_val_if_fail(VALID_ITER(iter, store), FALSE); if (index > 0) { iter->user_data2 = GINT_TO_POINTER(index - 1); return TRUE; } iter->stamp = 0; return FALSE; } gboolean scp_tree_store_iter_children(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent) { ScpTreeStorePrivate *priv = store->priv; GPtrArray *array; g_return_val_if_fail(VALID_ITER_OR_NULL(parent, store), FALSE); array = (parent ? ITER_ELEM(parent) : priv->root)->children; if (array && array->len) { iter->stamp = priv->stamp; iter->user_data = array; iter->user_data2 = GINT_TO_POINTER(0); return TRUE; } iter->stamp = 0; return FALSE; } gboolean scp_tree_store_iter_has_child(VALIDATE_ONLY ScpTreeStore *store, GtkTreeIter *iter) { g_return_val_if_fail(VALID_ITER(iter, store), FALSE); return ITER_ELEM(iter)->children && ITER_ELEM(iter)->children->len; } gint scp_tree_store_iter_n_children(ScpTreeStore *store, GtkTreeIter *iter) { GPtrArray *array; g_return_val_if_fail(VALID_ITER_OR_NULL(iter, store), 0); array = (iter ? ITER_ELEM(iter) : store->priv->root)->children; return array ? array->len : 0; } gboolean scp_tree_store_iter_nth_child(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint n) { ScpTreeStorePrivate *priv = store->priv; GPtrArray *array; g_return_val_if_fail(VALID_ITER_OR_NULL(parent, store), FALSE); array = (parent ? ITER_ELEM(parent) : priv->root)->children; if (array && (guint) n < array->len) { iter->stamp = priv->stamp; iter->user_data = array; iter->user_data2 = GINT_TO_POINTER(n); return TRUE; } iter->stamp = 0; return FALSE; } gboolean scp_tree_store_iter_parent(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *child) { ScpTreeStorePrivate *priv = store->priv; AElem *parent; g_return_val_if_fail(iter != NULL, FALSE); g_return_val_if_fail(VALID_ITER(child, store), FALSE); parent = ITER_ELEM(child)->parent; g_assert(parent != NULL); if (parent->parent) { gint index = scp_ptr_array_find(parent->parent->children, parent); if (index != -1) { iter->stamp = priv->stamp; iter->user_data = parent->parent->children; iter->user_data2 = GINT_TO_POINTER(index); return TRUE; } } iter->stamp = 0; return FALSE; } static gboolean scp_foreach(ScpTreeStore *store, GPtrArray *array, GtkTreePath *path, GtkTreeModelForeachFunc func, gpointer gdata) { if (array) { guint i; GtkTreeIter iter; gtk_tree_path_down(path); iter.stamp = store->priv->stamp; iter.user_data = array; for (i = 0; i < array->len; i++) { iter.user_data2 = GINT_TO_POINTER(i); if (func((GtkTreeModel *) store, path, &iter, gdata) || scp_foreach(store, ((AElem *) array->pdata[i])->children, path, func, gdata)) { return TRUE; } gtk_tree_path_next(path); } gtk_tree_path_up(path); } return FALSE; } void scp_tree_store_foreach(ScpTreeStore *store, GtkTreeModelForeachFunc func, gpointer gdata) { GtkTreePath *path; g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail(func != NULL); path = gtk_tree_path_new(); scp_foreach(store, store->priv->root->children, path, func, gdata); gtk_tree_path_free(path); } /* DND */ gboolean scp_tree_store_row_draggable(G_GNUC_UNUSED ScpTreeStore *store, G_GNUC_UNUSED GtkTreePath *path) { return TRUE; } gboolean scp_tree_store_drag_data_delete(ScpTreeStore *store, GtkTreePath *path) { GtkTreeIter iter; if (scp_tree_store_get_iter(store, &iter, path)) { scp_tree_store_remove(store, &iter); return TRUE; } return FALSE; } gboolean scp_tree_store_drag_data_get(ScpTreeStore *store, GtkTreePath *path, GtkSelectionData *selection_data) { /* Note that we don't need to handle the GTK_TREE_MODEL_ROW * target, because the default handler does it for us, but * we do anyway for the convenience of someone maybe overriding the * default handler. */ return gtk_tree_set_row_drag_data(selection_data, SCP_TREE_MODEL(store), path); } static void scp_copy_element(ScpTreeStore *store, GtkTreeIter *src_iter, GtkTreeIter *dest_iter) { ScpTreeStorePrivate *priv = store->priv; AElem *elem = ITER_ELEM(src_iter); AElem *dest = ITER_ELEM(dest_iter); GtkTreePath *path = scp_tree_store_get_path(store, dest_iter); guint i; for (i = 0; i < priv->n_columns; i++) scp_tree_data_copy(elem->data + i, dest->data + i, priv->headers[i].type); gtk_tree_model_row_changed(SCP_TREE_MODEL(store), path, dest_iter); gtk_tree_path_free(path); if (elem->children) { GtkTreeIter child; child.stamp = priv->stamp; child.user_data = elem->children; for (i = 0; i < elem->children->len; i++) { GtkTreeIter copy; child.user_data2 = GINT_TO_POINTER(i); scp_tree_store_append(store, ©, dest_iter); scp_copy_element(store, &child, ©); } } } gboolean scp_tree_store_drag_data_received(ScpTreeStore *store, GtkTreePath *dest_path, GtkSelectionData *selection_data) { GtkTreeModel *src_model = NULL; GtkTreePath *src_path = NULL; GtkTreeIter src_iter; gboolean result = FALSE; validate_store(store); if (gtk_tree_get_row_drag_data(selection_data, &src_model, &src_path) && src_model == SCP_TREE_MODEL(store) && /* can only receive from ourselves */ scp_tree_store_get_iter(store, &src_iter, src_path)) { GtkTreeIter parent_iter1; GtkTreeIter *parent_iter; gint depth = gtk_tree_path_get_depth(dest_path); gint src_index = GPOINTER_TO_INT(src_iter.user_data2); GtkTreeIter dest_iter; if (depth == 1) parent_iter = NULL; else { GtkTreePath *parent_path = gtk_tree_path_copy(dest_path); gtk_tree_path_up(parent_path); scp_tree_store_get_iter(store, &parent_iter1, parent_path); parent_iter = &parent_iter1; gtk_tree_path_free(parent_path); } scp_tree_store_insert(store, &dest_iter, parent_iter, gtk_tree_path_get_indices(dest_path)[depth - 1]); if (src_iter.user_data == dest_iter.user_data && ITER_INDEX(&dest_iter) <= src_index) { /* inserting dest moved src, so adjust iter */ src_iter.user_data2 = GINT_TO_POINTER(src_index + 1); } scp_copy_element(store, &src_iter, &dest_iter); result = TRUE; } if (src_path) gtk_tree_path_free(src_path); return result; } gboolean scp_tree_store_row_drop_possible(ScpTreeStore *store, GtkTreePath *dest_path, GtkSelectionData *selection_data) { GtkTreeModel *src_model = NULL; GtkTreePath *src_path = NULL; gboolean result = FALSE; if (!store->priv->sort_func && /* reject drops if sorted */ gtk_tree_get_row_drag_data(selection_data, &src_model, &src_path) && src_model == SCP_TREE_MODEL(store) && /* can only drag to ourselves */ !gtk_tree_path_is_ancestor(src_path, dest_path)) /* Can't drop into ourself. */ { /* Can't drop if dest_path's parent doesn't exist */ GtkTreeIter iter; GtkTreePath *parent_path = gtk_tree_path_copy(dest_path); gtk_tree_path_up(parent_path); result = gtk_tree_path_get_depth(parent_path) == 0 || scp_tree_store_get_iter(store, &iter, parent_path); gtk_tree_path_free(parent_path); } if (src_path) gtk_tree_path_free(src_path); return result; } /* Sortable */ gboolean scp_tree_store_get_sort_column_id(ScpTreeStore *store, gint *sort_column_id, GtkSortType *order) { ScpTreeStorePrivate *priv = store->priv; if (sort_column_id) *sort_column_id = priv->sort_column_id; if (order) *order = priv->sort_order; return priv->sort_column_id != GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID && priv->sort_column_id != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID; } typedef struct _ScpSortData { ScpTreeStore *store; GPtrArray *array; } ScpSortData; static gint scp_index_compare(gint *a, gint *b, ScpSortData *sort_data) { ScpTreeStorePrivate *priv = sort_data->store->priv; GtkTreeIter iter_a, iter_b; iter_a.stamp = iter_b.stamp = priv->stamp; iter_a.user_data = iter_b.user_data = sort_data->array; iter_a.user_data2 = GINT_TO_POINTER(*a); iter_b.user_data2 = GINT_TO_POINTER(*b); return scp_store_compare(sort_data->store, priv->sort_func, &iter_a, &iter_b, priv->headers[priv->sort_column_id].data); } static void scp_sort_children(ScpTreeStore *store, GtkTreeIter *parent) { GPtrArray *array = (parent ? ITER_ELEM(parent) : store->priv->root)->children; if (array && array->len) { gint *new_order = g_new(gint, array->len); ScpSortData sort_data = { store, array }; GtkTreeIter iter; guint i; for (i = 0; i < array->len; i++) new_order[i] = i; g_qsort_with_data(new_order, array->len, sizeof(gint), (GCompareDataFunc) scp_index_compare, &sort_data); scp_reorder_array(store, parent, array, new_order); g_free(new_order); iter.stamp = store->priv->stamp; iter.user_data = array; for (i = 0; i < array->len; i++) { iter.user_data2 = GINT_TO_POINTER(i); scp_sort_children(store, &iter); } } } static void scp_store_sort(ScpTreeStore *store) { if (store->priv->sort_func) scp_sort_children(store, NULL); } void scp_tree_store_set_sort_column_id(ScpTreeStore *store, gint sort_column_id, GtkSortType order) { ScpTreeStorePrivate *priv = store->priv; if (priv->sort_column_id != sort_column_id || priv->sort_order != order) { if (sort_column_id == GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) priv->sort_func = NULL; else { g_return_if_fail((guint) (sort_column_id + 1) < priv->n_columns + 1); g_return_if_fail(priv->headers[sort_column_id].func != NULL); priv->sort_func = priv->headers[sort_column_id].func; } priv->sort_column_id = sort_column_id; priv->sort_order = order; gtk_tree_sortable_sort_column_changed(GTK_TREE_SORTABLE(store)); scp_store_sort(store); } } void scp_tree_store_set_sort_func(ScpTreeStore *store, gint sort_column_id, GtkTreeIterCompareFunc func, gpointer data, GDestroyNotify destroy) { ScpTreeStorePrivate *priv = store->priv; scp_tree_data_set_header(priv->headers, sort_column_id, func, data, destroy); if (priv->sort_column_id == sort_column_id) { priv->sort_func = func; scp_store_sort(store); } } void scp_tree_store_set_default_sort_func(ScpTreeStore *store, GtkTreeIterCompareFunc func, gpointer data, GDestroyNotify destroy) { ScpTreeStorePrivate *priv = store->priv; scp_tree_data_set_header(priv->headers, GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, func, data, destroy); if (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) { priv->sort_func = func; scp_store_sort(store); } } gboolean scp_tree_store_has_default_sort_func(ScpTreeStore *store) { return store->priv->headers[GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID].func != NULL; } /* Buildable */ /* GtkBuildable custom tags implementation * * * * * */ typedef struct _GSListSubParserData { GtkBuilder *builder; GObject *object; const gchar *name; GArray *types; GArray *collates; } GSListSubParserData; static void tree_model_start_element(G_GNUC_UNUSED GMarkupParseContext *context, G_GNUC_UNUSED const gchar *element_name, const gchar **names, const gchar **values, gpointer user_data, G_GNUC_UNUSED GError **error) { guint i; GSListSubParserData *data = (GSListSubParserData *) user_data; gboolean type_processed = FALSE; for (i = 0; names[i]; i++) { if (!strcmp(names[i], "type")) { GType type = gtk_builder_get_type_from_name(data->builder, values[i]); gboolean collate = g_type_is_a(type, G_TYPE_STRING); if (type == G_TYPE_INVALID) { g_warning("%s: Unknown type %s specified in treemodel %s", G_STRFUNC, values[i], data->name); } g_array_append_val(data->types, type); g_array_append_val(data->collates, collate); type_processed = TRUE; } else if (!strcmp(names[i], "utf8_collate")) { GValue value = G_VALUE_INIT; GError *error = NULL; if (!type_processed) { g_warning("%s: Attribute %s must be preceded by type in treemodel %s", G_STRFUNC, names[i], data->name); } else if (!gtk_builder_value_from_string_type(data->builder, G_TYPE_BOOLEAN, values[i], &value, &error)) { g_warning("%s: %s for %s in treemodel %s", G_STRFUNC, error->message, names[i], data->name); g_error_free(error); } else { g_array_index(data->collates, gboolean, data->collates->len - 1) = g_value_get_boolean(&value); g_value_unset(&value); } } } } static void tree_model_end_element(G_GNUC_UNUSED GMarkupParseContext *context, const gchar *element_name, gpointer user_data, G_GNUC_UNUSED GError **error) { GSListSubParserData *data = (GSListSubParserData *) user_data; g_assert(data->builder); if (!strcmp(element_name, "columns")) { guint i; scp_tree_store_set_column_types(SCP_TREE_STORE(data->object), data->types->len, (GType *) data->types->data); for (i = 0; i < data->collates->len; i++) if (g_array_index(data->collates, gboolean, i)) scp_tree_store_set_utf8_collate(SCP_TREE_STORE(data->object), i, TRUE); } } static const GMarkupParser tree_model_parser = { tree_model_start_element, tree_model_end_element, NULL, NULL, NULL }; static gboolean scp_tree_store_buildable_custom_tag_start(GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, GMarkupParser *parser, gpointer *user_data) { if (!child && !strcmp(tagname, "columns")) { GSListSubParserData *parser_data = g_slice_new0(GSListSubParserData); parser_data->builder = builder; parser_data->object = G_OBJECT(buildable); parser_data->name = gtk_buildable_get_name(buildable); parser_data->types = g_array_new(FALSE, FALSE, sizeof(GType)); parser_data->collates = g_array_new(FALSE, FALSE, sizeof(gboolean)); *parser = tree_model_parser; *user_data = parser_data; return TRUE; } return FALSE; } static void scp_tree_store_buildable_custom_finished(G_GNUC_UNUSED GtkBuildable *buildable, G_GNUC_UNUSED GtkBuilder *builder, G_GNUC_UNUSED GObject *child, const gchar *tagname, gpointer user_data) { if (!strcmp(tagname, "columns")) { GSListSubParserData *data = (GSListSubParserData *) user_data; g_array_free(data->types, TRUE); g_array_free(data->collates, TRUE); g_slice_free(GSListSubParserData, data); } } /* Extra */ void scp_tree_store_set_allocation(ScpTreeStore *store, guint toplevel_reserved, guint sublevel_reserved, gboolean sublevel_discard) { g_object_set(G_OBJECT(store), "sublevel-discard", sublevel_discard, "sublevel_reserved", sublevel_reserved, toplevel_reserved ? "toplevel-reserved" : NULL, toplevel_reserved, NULL); } void scp_tree_store_set_utf8_collate(ScpTreeStore *store, gint column, gboolean collate) { ScpTreeStorePrivate *priv = store->priv; g_return_if_fail(SCP_IS_TREE_STORE(store)); g_return_if_fail((guint) column < priv->n_columns); if (g_type_is_a(priv->headers[column].type, G_TYPE_STRING)) { if (priv->headers[column].utf8_collate != collate) { priv->headers[column].utf8_collate = collate; if (priv->sort_func && (priv->sort_column_id == column || priv->sort_func != scp_tree_model_compare_func)) { scp_store_sort(store); } } } else if (collate) g_warning("%s: Attempt to set uft8_collate for a non-string type\n", G_STRFUNC); } gboolean scp_tree_store_get_utf8_collate(ScpTreeStore *store, gint column) { ScpTreeStorePrivate *priv = store->priv; g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail((guint) column < priv->n_columns, FALSE); return priv->headers[column].utf8_collate; } #define scp_data_string(data) ((data)->v_string ? (data)->v_string : "") gint scp_tree_store_compare_func(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, gpointer data) { ScpTreeStorePrivate *priv = store->priv; gint column = GPOINTER_TO_INT(data); GType type = priv->headers[column].type; ScpTreeData data_a, data_b; scp_tree_store_get(store, a, column, &data_a, -1); scp_tree_store_get(store, b, column, &data_b, -1); return priv->headers[column].utf8_collate ? g_utf8_collate(scp_data_string(&data_a), scp_data_string(&data_b)) : scp_tree_data_compare_func(&data_a, &data_b, type); } gboolean scp_tree_store_iter_seek(VALIDATE_ONLY ScpTreeStore *store, GtkTreeIter *iter, gint position) { GPtrArray *array = ITER_ARRAY(iter); g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail(VALID_ITER(iter, store), FALSE); if (position == -1) iter->user_data2 = GINT_TO_POINTER(array->len - 1); else if ((guint) position < array->len) iter->user_data2 = GINT_TO_POINTER(position); else { iter->stamp = 0; return FALSE; } return TRUE; } static gint scp_collate_data(const gchar *key, const gchar *data) { gchar *key1 = g_utf8_collate_key(data, -1); gint result = strcmp(key, key1); g_free(key1); return result; } #define scp_compare_data(a, b, type) \ ((type) == G_TYPE_NONE ? scp_collate_data((a)->v_string, scp_data_string(b)) : \ scp_tree_data_compare_func((a), (b), (type))) static gboolean scp_linear_search(GPtrArray *array, gint column, ScpTreeData *data, GType type, GtkTreeIter *iter, gboolean sublevels) { if (array) { guint i; for (i = 0; i < array->len; i++) { AElem *elem = ((AElem *) (array)->pdata[i]); if (!scp_compare_data(data, elem->data + column, type)) { iter->user_data = array; iter->user_data2 = GINT_TO_POINTER(i); return TRUE; } if (sublevels) if (scp_linear_search(elem->children, column, data, type, iter, TRUE)) return TRUE; } } return FALSE; } static gboolean scp_binary_search(GPtrArray *array, gint column, ScpTreeData *data, GType type, GtkTreeIter *iter, gboolean sublevels) { if (array) { gint low = 0, high = array->len - 1; while (low <= high) { gint mid = (low + high) / 2; AElem *elem = ((AElem *) (array)->pdata[mid]); gint result = scp_compare_data(data, elem->data + column, type); if (!result) { iter->user_data = array; iter->user_data2 = GINT_TO_POINTER(mid); return TRUE; } if (result > 0) low = mid + 1; else high = mid - 1; } if (sublevels) { guint i; for (i = 0; i < array->len; i++) { AElem *elem = ((AElem *) (array)->pdata[i]); if (scp_binary_search(elem->children, column, data, type, iter, TRUE)) return TRUE; } } } return FALSE; } gboolean scp_tree_store_search(ScpTreeStore *store, gboolean sublevels, gboolean linear_order, GtkTreeIter *iter, GtkTreeIter *parent, gint column, ...) { ScpTreeStorePrivate *priv = store->priv; GPtrArray *array; GType type; va_list ap; ScpTreeData data; gboolean found; g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail(VALID_ITER_OR_NULL(parent, store), FALSE); g_return_val_if_fail((guint) column < priv->n_columns, FALSE); g_return_val_if_fail(sublevels == FALSE || priv->sublevels == TRUE, FALSE); array = (parent ? ITER_ELEM(parent) : priv->root)->children; type = priv->headers[column].type; iter->stamp = priv->stamp; iter->user_data = NULL; va_start(ap, column); scp_tree_data_from_stack(&data, type, ap, FALSE); va_end(ap); if (priv->headers[column].utf8_collate) { type = G_TYPE_NONE; data.v_string = g_utf8_collate_key(scp_data_string(&data), -1); } found = !linear_order && column == priv->sort_column_id && priv->sort_func == scp_tree_model_compare_func ? scp_binary_search(array, column, &data, type, iter, sublevels) : scp_linear_search(array, column, &data, type, iter, sublevels); if (type == G_TYPE_NONE) g_free(data.v_string); return found; } static gboolean scp_traverse(ScpTreeStore *store, GPtrArray *array, GtkTreeIter *iter, gboolean sublevels, ScpTreeStoreTraverseFunc func, gpointer gdata) { if (array) { guint i = 0; iter->user_data = array; iter->user_data2 = GINT_TO_POINTER(0); while (i < array->len) { gint result = func(store, iter, gdata); if (result > 0) return TRUE; if (!result) { if (sublevels) { if (scp_traverse(store, ((AElem *) array->pdata[i])->children, iter, TRUE, func, gdata) > 0) { return TRUE; } iter->user_data = array; } iter->user_data2 = GINT_TO_POINTER(++i); } else scp_tree_store_remove(store, iter); } } return FALSE; } gboolean scp_tree_store_traverse(ScpTreeStore *store, gboolean sublevels, GtkTreeIter *iter, GtkTreeIter *parent, ScpTreeStoreTraverseFunc func, gpointer gdata) { ScpTreeStorePrivate *priv = store->priv; GtkTreeIter iter1; g_return_val_if_fail(SCP_IS_TREE_STORE(store), FALSE); g_return_val_if_fail(VALID_ITER_OR_NULL(parent, store), FALSE); g_return_val_if_fail(sublevels == FALSE || priv->sublevels == TRUE, FALSE); g_return_val_if_fail(func != NULL, FALSE); if (!iter) iter = &iter1; iter->stamp = priv->stamp; if (!scp_traverse(store, (parent ? ITER_ELEM(parent) : priv->root)->children, iter, sublevels, func, gdata)) { iter->stamp = 0; return FALSE; } return TRUE; } /* Class */ static void scp_tree_store_tree_model_init(GtkTreeModelIface *iface) { iface->get_flags = (GtkTreeModelFlags (*)(GtkTreeModel *)) scp_tree_store_get_flags; iface->get_n_columns = (gint (*)(GtkTreeModel *)) scp_tree_store_get_n_columns; iface->get_column_type = (GType (*)(GtkTreeModel *, gint)) scp_tree_store_get_column_type; iface->get_iter = (gboolean (*)(GtkTreeModel *, GtkTreeIter *, GtkTreePath *)) scp_tree_store_get_iter; iface->get_path = (GtkTreePath *(*)(GtkTreeModel *, GtkTreeIter *)) scp_tree_store_get_path; iface->get_value = (void (*)(GtkTreeModel *, GtkTreeIter *, gint, GValue *)) scp_tree_store_get_value; iface->iter_next = (gboolean (*)(GtkTreeModel *, GtkTreeIter *)) scp_tree_store_iter_next; #if GTK_CHECK_VERSION(3, 0, 0) iface->iter_previous = (gboolean (*)(GtkTreeModel *, GtkTreeIter *)) scp_tree_store_iter_previous; #endif iface->iter_children = (gboolean (*)(GtkTreeModel *, GtkTreeIter *, GtkTreeIter *)) scp_tree_store_iter_children; iface->iter_has_child = (gboolean (*)(GtkTreeModel *, GtkTreeIter *)) scp_tree_store_iter_has_child; iface->iter_n_children = (gint (*)(GtkTreeModel *, GtkTreeIter *)) scp_tree_store_iter_n_children; iface->iter_nth_child = (gboolean (*)(GtkTreeModel *, GtkTreeIter *, GtkTreeIter *, gint)) scp_tree_store_iter_nth_child; iface->iter_parent = (gboolean (*)(GtkTreeModel *model, GtkTreeIter *, GtkTreeIter *)) scp_tree_store_iter_parent; } static void scp_tree_store_drag_source_init(GtkTreeDragSourceIface *iface) { iface->row_draggable = (gboolean (*)(GtkTreeDragSource *, GtkTreePath *)) scp_tree_store_row_draggable; iface->drag_data_delete = (gboolean (*)(GtkTreeDragSource *, GtkTreePath *)) scp_tree_store_drag_data_delete; iface->drag_data_get = (gboolean (*)(GtkTreeDragSource *, GtkTreePath *, GtkSelectionData *)) scp_tree_store_drag_data_get; } static void scp_tree_store_drag_dest_init(GtkTreeDragDestIface *iface) { iface->drag_data_received = (gboolean (*)(GtkTreeDragDest *, GtkTreePath *, GtkSelectionData *)) scp_tree_store_drag_data_received; iface->row_drop_possible = (gboolean (*)(GtkTreeDragDest *, GtkTreePath *, GtkSelectionData *)) scp_tree_store_row_drop_possible; } static void scp_tree_store_sortable_init(GtkTreeSortableIface *iface) { iface->get_sort_column_id = (gboolean (*)(GtkTreeSortable *, gint *, GtkSortType *)) scp_tree_store_get_sort_column_id; iface->set_sort_column_id = (void (*)(GtkTreeSortable *, gint, GtkSortType)) scp_tree_store_set_sort_column_id; iface->set_sort_func = (void (*)(GtkTreeSortable *, gint, GtkTreeIterCompareFunc, gpointer, GDestroyNotify)) scp_tree_store_set_sort_func; iface->set_default_sort_func = (void (*)(GtkTreeSortable *, GtkTreeIterCompareFunc, gpointer, GDestroyNotify)) scp_tree_store_set_default_sort_func; iface->has_default_sort_func = (gboolean (*)(GtkTreeSortable *)) scp_tree_store_has_default_sort_func; } static void scp_tree_store_buildable_init(GtkBuildableIface *iface) { iface->custom_tag_start = scp_tree_store_buildable_custom_tag_start; iface->custom_finished = scp_tree_store_buildable_custom_finished; } enum { PROP_0, PROP_SUBLEVELS, PROP_TOPLEVEL_RESERVED, PROP_SUBLEVEL_RESERVED, PROP_SUBLEVEL_DISCARD, PROP_UTF8_COLLATE }; static gpointer scp_tree_store_parent_class = NULL; static GObject *scp_tree_store_constructor(GType type, guint n_construct_properties, GObjectConstructParam *construct_properties) { GObject *object = G_OBJECT_CLASS(scp_tree_store_parent_class)->constructor(type, n_construct_properties, construct_properties); ScpTreeStorePrivate *priv = G_TYPE_INSTANCE_GET_PRIVATE(object, SCP_TYPE_TREE_STORE, ScpTreeStorePrivate); ((ScpTreeStore *) object)->priv = priv; while ((priv->stamp = g_random_int()) == 0); /* we mark invalid iters with stamp 0 */ priv->root = g_new0(AElem, 1); priv->roar = g_ptr_array_new(); scp_ptr_array_insert_val(priv->roar, 0, priv->root); priv->headers = NULL; priv->n_columns = 0; priv->sort_column_id = GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID; priv->sort_order = GTK_SORT_ASCENDING; priv->sort_func = NULL; priv->toplevel_reserved = 0; priv->sublevel_reserved = 0; priv->sublevel_discard = FALSE; priv->columns_dirty = FALSE; return object; } static void scp_tree_store_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { ScpTreeStorePrivate *priv = SCP_TREE_STORE(object)->priv; switch (prop_id) { case PROP_SUBLEVELS : { g_value_set_boolean(value, priv->sublevels); break; } case PROP_TOPLEVEL_RESERVED : { g_value_set_uint(value, priv->toplevel_reserved); break; } case PROP_SUBLEVEL_RESERVED : { g_value_set_uint(value, priv->sublevel_reserved); break; } case PROP_SUBLEVEL_DISCARD : { g_value_set_boolean(value, priv->sublevel_reserved); break; } default : G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void scp_tree_store_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { ScpTreeStorePrivate *priv = SCP_TREE_STORE(object)->priv; switch (prop_id) { case PROP_SUBLEVELS : { priv = G_TYPE_INSTANCE_GET_PRIVATE(object, SCP_TYPE_TREE_STORE, ScpTreeStorePrivate); /* ctor, store->priv is not assigned */ priv->sublevels = g_value_get_boolean(value); break; } case PROP_TOPLEVEL_RESERVED : { g_return_if_fail(priv->root->children == NULL); priv->toplevel_reserved = g_value_get_uint(value); break; } case PROP_SUBLEVEL_RESERVED : { g_return_if_fail(priv->sublevels); priv->sublevel_reserved = g_value_get_uint(value); break; } case PROP_SUBLEVEL_DISCARD : { g_return_if_fail(priv->sublevels); priv->sublevel_discard = g_value_get_boolean(value); break; } default : { G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); return; } } #if GLIB_CHECK_VERSION(2, 26, 0) g_object_notify_by_pspec(object, pspec); #else g_object_notify(object, pspec->name); #endif } static void scp_tree_store_finalize(GObject *object) { ScpTreeStore *store = SCP_TREE_STORE(object); ScpTreeStorePrivate *priv = store->priv; scp_free_array(store, priv->root->children); g_free(priv->root); g_ptr_array_free(priv->roar, TRUE); if (priv->headers) scp_tree_data_headers_free(priv->n_columns, priv->headers); G_OBJECT_CLASS(scp_tree_store_parent_class)->finalize(object); } static void scp_tree_store_gobject_init(GObjectClass *class) { scp_tree_store_parent_class = g_type_class_peek_parent(class); class->constructor = scp_tree_store_constructor; class->finalize = scp_tree_store_finalize; class->get_property = scp_tree_store_get_property; class->set_property = scp_tree_store_set_property; } static void scp_tree_store_class_init(GObjectClass *class) { scp_tree_store_gobject_init(class); g_type_class_add_private(class, sizeof(ScpTreeStorePrivate)); g_assert(GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID == -1); /* headers[-1] = default */ g_object_class_install_property(class, PROP_SUBLEVELS, g_param_spec_boolean("sublevels", P_("Sublevels"), P_("Supports sublevels (as opposed to flat list)"), TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property(class, PROP_TOPLEVEL_RESERVED, g_param_spec_uint("toplevel-reserved", P_("Toplevel reserved"), P_("Number of pointers preallocated for top-level elements"), 0, G_MAXINT32, 0, G_PARAM_READWRITE)); g_object_class_install_property(class, PROP_SUBLEVEL_RESERVED, g_param_spec_uint("sublevel-reserved", P_("Sublevel reserved"), P_("Number of pointers preallocated for sublevel elements"), 0, G_MAXINT32, 0, G_PARAM_READWRITE)); g_object_class_install_property(class, PROP_SUBLEVEL_DISCARD, g_param_spec_boolean("sublevel-discard", P_("Sublevel discard"), P_("Free sublevel arrays when their last element is removed"), FALSE, G_PARAM_READWRITE)); } static volatile gsize scp_tree_store_type_id_volatile = 0; GType scp_tree_store_get_type(void) { if (g_once_init_enter(&scp_tree_store_type_id_volatile)) { GType type = g_type_register_static_simple(G_TYPE_OBJECT, g_intern_string("ScpTreeStore"), sizeof(ScpTreeStoreClass), (GClassInitFunc) scp_tree_store_class_init, sizeof(ScpTreeStore), NULL, 0); GInterfaceInfo iface_info = { (GInterfaceInitFunc) scp_tree_store_tree_model_init, NULL, NULL }; g_type_add_interface_static(type, GTK_TYPE_TREE_MODEL, &iface_info); iface_info.interface_init = (GInterfaceInitFunc) scp_tree_store_drag_source_init; g_type_add_interface_static(type, GTK_TYPE_TREE_DRAG_SOURCE, &iface_info); iface_info.interface_init = (GInterfaceInitFunc) scp_tree_store_drag_dest_init; g_type_add_interface_static(type, GTK_TYPE_TREE_DRAG_DEST, &iface_info); iface_info.interface_init = (GInterfaceInitFunc) scp_tree_store_sortable_init; g_type_add_interface_static(type, GTK_TYPE_TREE_SORTABLE, &iface_info); iface_info.interface_init = (GInterfaceInitFunc) scp_tree_store_buildable_init; g_type_add_interface_static(type, GTK_TYPE_BUILDABLE, &iface_info); g_once_init_leave(&scp_tree_store_type_id_volatile, type); } return scp_tree_store_type_id_volatile; } void scp_tree_store_register_dynamic(void) { GType type = g_type_from_name("ScpTreeStore"); if (!type) { type = scp_tree_store_get_type(); g_type_class_unref(g_type_class_ref(type)); /* force class creation */ } else if (!scp_tree_store_type_id_volatile) { /* external registration, repair */ gpointer class = g_type_class_peek(type); gpointer iface = g_type_interface_peek(class, GTK_TYPE_TREE_MODEL); scp_tree_store_gobject_init((GObjectClass *) class); scp_tree_store_tree_model_init((GtkTreeModelIface *) iface); iface = g_type_interface_peek(class, GTK_TYPE_TREE_DRAG_SOURCE); scp_tree_store_drag_source_init((GtkTreeDragSourceIface *) iface); iface = g_type_interface_peek(class, GTK_TYPE_TREE_DRAG_DEST); scp_tree_store_drag_dest_init((GtkTreeDragDestIface *) iface); iface = g_type_interface_peek(class, GTK_TYPE_TREE_SORTABLE); scp_tree_store_sortable_init((GtkTreeSortableIface *) iface); iface = g_type_interface_peek(class, GTK_TYPE_BUILDABLE); scp_tree_store_buildable_init((GtkBuildableIface *) iface); scp_tree_store_type_id_volatile = type; } } geany-plugins-1.27/scope/src/store/scptreedata.c0000644000175000017500000002706612671261352022232 0ustar00frlanfrlan00000000000000/* gtktreedatalist.c * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford * * scptreedata.c * Copyright 2013 Dimitar Toshkov Zhekov * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library. If not, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include "scptreedata.h" #if !GLIB_CHECK_VERSION(2, 30, 0) #define G_VALUE_INIT { 0, { { 0 } } } #endif GType scp_tree_data_get_fundamental_type(GType type) { type = G_TYPE_FUNDAMENTAL(type); return G_UNLIKELY(type == G_TYPE_INTERFACE && g_type_is_a(type, G_TYPE_OBJECT)) ? G_TYPE_OBJECT : type; } void scp_tree_data_free(ScpTreeData *data, GType type) { if (data->v_pointer) { switch (scp_tree_data_get_fundamental_type(type)) { case G_TYPE_STRING : g_free(data->v_string); break; case G_TYPE_OBJECT : g_object_unref(data->v_pointer); break; case G_TYPE_BOXED : g_boxed_free(type, data->v_pointer); break; #if GLIB_CHECK_VERSION(2, 26, 0) case G_TYPE_VARIANT : g_variant_unref(data->v_pointer); #endif } } } void scp_tree_data_warn_unsupported_type(const char *prefix, GType type) { g_warning("%s: Unsupported type %s", prefix, g_type_name(type)); } gboolean scp_tree_data_check_type(GType type) { static const GType types[] = { G_TYPE_INT, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_LONG, G_TYPE_ULONG, G_TYPE_FLOAT, G_TYPE_DOUBLE, G_TYPE_CHAR, G_TYPE_UCHAR, G_TYPE_INT64, G_TYPE_UINT64, G_TYPE_ENUM, G_TYPE_FLAGS, G_TYPE_POINTER, G_TYPE_OBJECT, G_TYPE_BOXED, #if GLIB_CHECK_VERSION(2, 26, 0) G_TYPE_VARIANT, #endif G_TYPE_INVALID }; gint i; type = scp_tree_data_get_fundamental_type(type); for (i = 0; types[i] != G_TYPE_INVALID; i++) if (types[i] == type) return TRUE; return FALSE; } void scp_tree_data_to_value(const ScpTreeData *data, GType type, GValue *value) { g_value_init(value, type); switch (scp_tree_data_get_fundamental_type(type)) { case G_TYPE_INT : g_value_set_int(value, data->v_int); break; case G_TYPE_UINT : g_value_set_uint(value, data->v_uint); break; case G_TYPE_STRING : g_value_set_string(value, data->v_string); break; case G_TYPE_BOOLEAN : g_value_set_boolean(value, data->v_int); break; case G_TYPE_LONG : g_value_set_long(value, data->v_long); break; case G_TYPE_ULONG : g_value_set_ulong(value, data->v_ulong); break; case G_TYPE_FLOAT : g_value_set_float(value, data->v_float); break; case G_TYPE_DOUBLE : g_value_set_double(value, data->v_double); break; #if GLIB_CHECK_VERSION(2, 32, 0) case G_TYPE_CHAR : g_value_set_schar(value, data->v_char); break; #else case G_TYPE_CHAR : g_value_set_char(value, data->v_char); break; #endif case G_TYPE_UCHAR : g_value_set_uchar(value, data->v_uchar); break; case G_TYPE_INT64 : g_value_set_int64(value, data->v_int64); break; case G_TYPE_UINT64 : g_value_set_uint64 (value, data->v_uint64); break; case G_TYPE_ENUM : g_value_set_enum(value, data->v_int); break; case G_TYPE_FLAGS : g_value_set_flags(value, data->v_uint); break; case G_TYPE_POINTER : g_value_set_pointer(value, data->v_pointer); break; case G_TYPE_OBJECT : g_value_set_object(value, (GObject *) data->v_pointer); break; case G_TYPE_BOXED : g_value_set_boxed(value, data->v_pointer); break; #if GLIB_CHECK_VERSION(2, 26, 0) case G_TYPE_VARIANT : g_value_set_variant(value, data->v_pointer); break; #endif default : scp_tree_data_warn_unsupported_type(G_STRFUNC, type); } } void scp_tree_data_to_pointer(const ScpTreeData *data, GType type, gpointer dest) { switch (scp_tree_data_get_fundamental_type(type)) { case G_TYPE_INT : case G_TYPE_ENUM : *(gint *) dest = data->v_int; break; case G_TYPE_UINT : case G_TYPE_FLAGS : *(guint *) dest = data->v_uint; break; case G_TYPE_BOOLEAN : *(gboolean *) dest = data->v_int != 0; break; case G_TYPE_LONG : *(glong *) dest = data->v_long; break; case G_TYPE_ULONG : *(gulong *) dest = data->v_ulong; break; case G_TYPE_FLOAT : *(gfloat *) dest = data->v_float; break; case G_TYPE_DOUBLE : *(gdouble *) dest = data->v_double; break; case G_TYPE_CHAR : *(gint8 *) dest = data->v_char; break; case G_TYPE_UCHAR : *(guint8 *) dest = data->v_uchar; break; case G_TYPE_INT64 : *(gint64 *) dest = data->v_int64; break; case G_TYPE_UINT64 : *(guint64 *) dest = data->v_uint64; break; case G_TYPE_STRING : *(char **) dest = data->v_string; break; case G_TYPE_POINTER : case G_TYPE_OBJECT : #if GLIB_CHECK_VERSION(2, 26, 0) case G_TYPE_VARIANT : #endif case G_TYPE_BOXED : *(gpointer *) dest = data->v_pointer; break; default : scp_tree_data_warn_unsupported_type(G_STRFUNC, type); } } void scp_tree_data_from_value(ScpTreeData *data, GValue *value, gboolean copy) { switch (scp_tree_data_get_fundamental_type(G_VALUE_TYPE(value))) { case G_TYPE_INT : data->v_int = g_value_get_int(value); break; case G_TYPE_UINT : data->v_uint = g_value_get_uint(value); break; case G_TYPE_STRING : { data->v_string = copy ? g_value_dup_string(value) : (char *) g_value_get_string(value); break; } case G_TYPE_BOOLEAN : data->v_int = g_value_get_boolean(value); break; case G_TYPE_LONG : data->v_long = g_value_get_long(value); break; case G_TYPE_ULONG : data->v_ulong = g_value_get_ulong(value); break; case G_TYPE_FLOAT : data->v_float = g_value_get_float(value); break; case G_TYPE_DOUBLE : data->v_double = g_value_get_double(value); break; #if GLIB_CHECK_VERSION(2, 32, 0) case G_TYPE_CHAR : data->v_char = g_value_get_schar(value); break; #else case G_TYPE_CHAR : data->v_char = g_value_get_char(value); break; #endif case G_TYPE_UCHAR : data->v_uchar = g_value_get_uchar(value); break; case G_TYPE_INT64 : data->v_int64 = g_value_get_int64(value); break; case G_TYPE_UINT64 : data->v_uint64 = g_value_get_uint64(value); break; case G_TYPE_ENUM : data->v_int = g_value_get_enum(value); break; case G_TYPE_FLAGS : data->v_uint = g_value_get_flags(value); break; case G_TYPE_POINTER : data->v_pointer = g_value_get_pointer(value); break; case G_TYPE_OBJECT : { data->v_pointer = copy ? g_value_dup_object(value) : g_value_get_object(value); break; } case G_TYPE_BOXED : { data->v_pointer = copy ? g_value_dup_boxed(value) : g_value_get_boxed(value); break; } #if GLIB_CHECK_VERSION(2, 26, 0) case G_TYPE_VARIANT : { data->v_pointer = copy ? g_value_dup_variant(value) : g_value_get_variant(value); break; } #endif default : scp_tree_data_warn_unsupported_type(G_STRFUNC, G_VALUE_TYPE(value)); } } void scp_tree_data_copy(const ScpTreeData *data, ScpTreeData *new_data, GType type) { switch (scp_tree_data_get_fundamental_type(type)) { case G_TYPE_INT : case G_TYPE_UINT : case G_TYPE_BOOLEAN : case G_TYPE_LONG : case G_TYPE_ULONG : case G_TYPE_FLOAT : case G_TYPE_DOUBLE : case G_TYPE_CHAR : case G_TYPE_UCHAR : case G_TYPE_INT64 : case G_TYPE_UINT64 : case G_TYPE_ENUM : case G_TYPE_FLAGS : *new_data = *data; break; default : scp_tree_data_assign_pointer(new_data, type, data->v_pointer, TRUE); } } void scp_tree_data_assign_pointer(ScpTreeData *data, GType type, gpointer ptr, gboolean copy) { switch (scp_tree_data_get_fundamental_type(type)) { case G_TYPE_STRING : { data->v_pointer = copy ? g_strdup((const char *) ptr) : ptr; break; } case G_TYPE_POINTER : { data->v_pointer = ptr; break; } case G_TYPE_OBJECT : { data->v_pointer = copy && ptr ? g_object_ref(ptr) : ptr; break; } case G_TYPE_BOXED : { data->v_pointer = copy && ptr ? g_boxed_copy(type, data->v_pointer) : ptr; break; } #if GLIB_CHECK_VERSION(2, 26, 0) case G_TYPE_VARIANT : { data->v_pointer = copy && ptr ? g_variant_ref(ptr) : ptr; break; } #endif default : scp_tree_data_warn_unsupported_type(G_STRFUNC, type); } } #define scp_compare(a, b) ((a) < (b) ? -1 : (a) > (b)) gint scp_tree_data_compare_func(ScpTreeData *a, ScpTreeData *b, GType type) { switch (scp_tree_data_get_fundamental_type(type)) { case G_TYPE_ENUM : /* this is somewhat bogus */ case G_TYPE_INT : return scp_compare(a->v_int, b->v_int); case G_TYPE_FLAGS : /* this is even more bogus */ case G_TYPE_UINT : return scp_compare(a->v_uint, b->v_uint); case G_TYPE_STRING : return g_strcmp0(a->v_string, b->v_string); case G_TYPE_BOOLEAN : return (a->v_int != 0) - (b->v_int != 0); case G_TYPE_LONG : return scp_compare(a->v_long, b->v_long); case G_TYPE_ULONG : return scp_compare(a->v_ulong, b->v_ulong); case G_TYPE_FLOAT : return scp_compare(a->v_float, b->v_float); case G_TYPE_DOUBLE : return scp_compare(a->v_double, b->v_double); case G_TYPE_CHAR : return a->v_char - b->v_char; case G_TYPE_UCHAR : return (gint) a->v_uchar - (gint) b->v_uchar; case G_TYPE_INT64 : return scp_compare(a->v_int64, b->v_int64); case G_TYPE_UINT64 : return scp_compare(a->v_uint64, b->v_uint64); } scp_tree_data_warn_unsupported_type(G_STRFUNC, type); return 0; } gint scp_tree_data_value_compare_func(GValue *a, GValue *b) { ScpTreeData data_a, data_b; scp_tree_data_from_value(&data_a, a, FALSE); scp_tree_data_from_value(&data_b, b, FALSE); return scp_tree_data_compare_func(&data_a, &data_b, G_VALUE_TYPE(a)); } gint scp_tree_data_model_compare_func(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer gdata) { gint column = GPOINTER_TO_INT(gdata); GValue value_a = G_VALUE_INIT; GValue value_b = G_VALUE_INIT; gint result; gtk_tree_model_get_value(model, a, column, &value_a); gtk_tree_model_get_value(model, b, column, &value_b); result = scp_tree_data_value_compare_func(&value_a, &value_b); g_value_unset(&value_a); g_value_unset(&value_b); return result; } /* Header code */ ScpTreeDataHeader *scp_tree_data_headers_new(gint n_columns, GType *types, GtkTreeIterCompareFunc func) { ScpTreeDataHeader *headers = g_new0(ScpTreeDataHeader, n_columns + 1); ScpTreeDataHeader *header = headers + 1; gint i; for (i = 0; i < n_columns; i++, header++) { header->type = types[i]; if (!scp_tree_data_check_type(header->type)) scp_tree_data_warn_unsupported_type(G_STRFUNC, header->type); header->utf8_collate = g_type_is_a(header->type, G_TYPE_STRING); header->func = func; header->data = GINT_TO_POINTER(i); header->destroy = NULL; } return headers + 1; } static void scp_destroy_header(ScpTreeDataHeader *header) { if (header->destroy) { GDestroyNotify destroy = header->destroy; header->destroy = NULL; destroy(header->data); } } void scp_tree_data_headers_free(gint n_columns, ScpTreeDataHeader *headers) { gint i; for (i = 0; i < n_columns; i++) scp_destroy_header(headers + i); g_free(headers - 1); } void scp_tree_data_set_header(ScpTreeDataHeader *headers, gint sort_column_id, GtkTreeIterCompareFunc func, gpointer data, GDestroyNotify destroy) { ScpTreeDataHeader *header = headers + sort_column_id; scp_destroy_header(header); header->func = func; header->data = data; header->destroy = destroy; } geany-plugins-1.27/scope/src/store/scptreedata.h0000644000175000017500000001012412671261352022222 0ustar00frlanfrlan00000000000000/* gtktreedatalist.h * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford * * scptreedata.h * Copyright 2013 Dimitar Toshkov Zhekov * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library. If not, see . */ #ifndef __SCP_TREE_DATA_H__ G_BEGIN_DECLS typedef union _ScpTreeData { gint8 v_char; guint8 v_uchar; gint v_int; guint v_uint; glong v_long; gulong v_ulong; gint64 v_int64; guint64 v_uint64; gfloat v_float; gdouble v_double; gpointer v_pointer; char *v_string; } ScpTreeData; GType scp_tree_data_get_fundamental_type(GType type); void scp_tree_data_free(ScpTreeData *data, GType type); void scp_tree_data_warn_unsupported_type(const char *prefix, GType type); gboolean scp_tree_data_check_type(GType type); void scp_tree_data_to_value(const ScpTreeData *data, GType type, GValue *value); void scp_tree_data_to_pointer(const ScpTreeData *data, GType type, gpointer dest); void scp_tree_data_from_value(ScpTreeData *data, GValue *value, gboolean copy); void scp_tree_data_copy(const ScpTreeData *data, ScpTreeData *new_data, GType type); void scp_tree_data_assign_pointer(ScpTreeData *data, GType type, gpointer ptr, gboolean copy); #if GLIB_CHECK_VERSION(2, 26, 0) #define SCP_TREE_DATA_CASE_VARIANT case G_TYPE_VARIANT : #else #define SCP_TREE_DATA_CASE_VARIANT #endif #define scp_tree_data_from_stack(data, type, ap, copy) \ G_STMT_START \ { \ const GType type1 = (type); \ \ switch (scp_tree_data_get_fundamental_type(type1)) \ { \ case G_TYPE_INT : \ case G_TYPE_ENUM : (data)->v_int = va_arg((ap), int); break; \ case G_TYPE_UINT : \ case G_TYPE_FLAGS : (data)->v_uint = va_arg((ap), unsigned); break; \ case G_TYPE_BOOLEAN : (data)->v_int = va_arg((ap), int) != 0; break; \ case G_TYPE_LONG : (data)->v_long = va_arg((ap), long); break; \ case G_TYPE_ULONG : (data)->v_ulong = va_arg((ap), unsigned long); break; \ case G_TYPE_FLOAT : (data)->v_float = va_arg((ap), double); break; \ case G_TYPE_DOUBLE : (data)->v_double = va_arg((ap), double); break; \ case G_TYPE_CHAR : (data)->v_char = va_arg((ap), int); break; \ case G_TYPE_UCHAR : (data)->v_uchar = va_arg((ap), unsigned); break; \ case G_TYPE_INT64 : (data)->v_int64 = va_arg((ap), gint64); break; \ case G_TYPE_UINT64 : (data)->v_uint64 = va_arg((ap), guint64); break; \ case G_TYPE_POINTER : \ case G_TYPE_STRING : \ case G_TYPE_OBJECT : \ case G_TYPE_BOXED : \ SCP_TREE_DATA_CASE_VARIANT \ { \ scp_tree_data_assign_pointer((data), type1, va_arg((ap), gpointer), \ (copy)); \ break; \ } \ default : scp_tree_data_warn_unsupported_type(G_STRFUNC, type1); \ } \ } G_STMT_END gint scp_tree_data_compare_func(ScpTreeData *a, ScpTreeData *b, GType type); gint scp_tree_data_value_compare_func(GValue *a, GValue *b); gint scp_tree_data_model_compare_func(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer gdata); /* Header code */ typedef struct _ScpTreeDataHeader { GType type; gboolean utf8_collate; GtkTreeIterCompareFunc func; gpointer data; GDestroyNotify destroy; } ScpTreeDataHeader; ScpTreeDataHeader *scp_tree_data_headers_new(gint n_columns, GType *types, GtkTreeIterCompareFunc func); void scp_tree_data_headers_free(gint n_columns, ScpTreeDataHeader *headers); void scp_tree_data_set_header(ScpTreeDataHeader *headers, gint sort_column_id, GtkTreeIterCompareFunc func, gpointer gdata, GDestroyNotify destroy); G_END_DECLS #define __SCP_TREE_DATA_H__ 1 #endif geany-plugins-1.27/scope/src/store/scptreestore.h0000644000175000017500000002065312671261352022455 0ustar00frlanfrlan00000000000000/* gtktreestore.h * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford * * scptreestore.h * Copyright 2013 Dimitar Toshkov Zhekov * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library. If not, see . */ #ifndef __SCP_TREE_STORE_H__ G_BEGIN_DECLS #define SCP_TYPE_TREE_STORE (scp_tree_store_get_type()) #define SCP_TREE_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), SCP_TYPE_TREE_STORE, \ ScpTreeStore)) #define SCP_TREE_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), SCP_TYPE_TREE_STORE, \ ScpTreeStoreClass)) #define SCP_IS_TREE_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), SCP_TYPE_TREE_STORE)) #define SCP_IS_TREE_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), SCP_TYPE_TREE_STORE)) #define SCP_TREE_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), SCP_TYPE_TREE_STORE, \ ScpTreeStoreClass)) typedef struct _ScpTreeStorePrivate ScpTreeStorePrivate; typedef struct _ScpTreeStore { GObject parent; ScpTreeStorePrivate *priv; } ScpTreeStore; typedef struct _ScpTreeStoreClass { GObjectClass parent_class; /* Padding for future expansion */ void (*_scp_reserved1)(void); void (*_scp_reserved2)(void); void (*_scp_reserved3)(void); void (*_scp_reserved4)(void); } ScpTreeStoreClass; /* Store */ GType scp_tree_store_get_type(void); ScpTreeStore *scp_tree_store_new(gboolean sublevels, gint n_columns, ...); ScpTreeStore *scp_tree_store_newv(gboolean sublevels, gint n_columns, GType *types); gboolean scp_tree_store_set_column_types(ScpTreeStore *store, gint n_columns, GType *types); void scp_tree_store_set_valuesv(ScpTreeStore *store, GtkTreeIter *iter, gint *columns, GValue *values, gint n_values); void scp_tree_store_set_value(ScpTreeStore *store, GtkTreeIter *iter, gint column, GValue *value); void scp_tree_store_set_valist(ScpTreeStore *store, GtkTreeIter *iter, va_list ap); void scp_tree_store_set(ScpTreeStore *store, GtkTreeIter *iter, ...); gboolean scp_tree_store_remove(ScpTreeStore *store, GtkTreeIter *iter); void scp_tree_store_insert(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint position); #define scp_tree_store_prepend(store, iter, parent) \ scp_tree_store_insert((store), (iter), (parent), 0) #define scp_tree_store_append(store, iter, parent) \ scp_tree_store_insert((store), (iter), (parent), -1) void scp_tree_store_insert_with_valuesv(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint position, gint *columns, GValue *values, gint n_values); #define scp_tree_store_prepend_with_valuesv(store, iter, parent, columns, values, n_values) \ scp_tree_store_insert_with_valuesv(store, iter, parent, 0, columns, values, n_values) #define scp_tree_store_append_with_valuesv(store, iter, parent, columns, values, n_values) \ scp_tree_store_insert_with_valuesv(store, iter, parent, -1, columns, values, n_values) void scp_tree_store_insert_with_valist(ScpTreeStore *store, GtkTreeIter *iter, \ GtkTreeIter *parent, gint position, va_list ap); #define scp_tree_store_prepend_with_valist(store, iter, parent, ap) \ scp_tree_store_insert_with_valist(store, iter, parent, 0, ap) #define scp_tree_store_append_with_valist(store, iter, parent, ap) \ scp_tree_store_insert_with_valist(store, iter, parent, -1, ap) void scp_tree_store_insert_with_values(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint position, ...); #define scp_tree_store_prepend_with_values(store, iter, parent, ...) \ scp_tree_store_insert_with_values(store, iter, parent, 0, __VA_ARGS__) #define scp_tree_store_append_with_values(store, iter, parent, ...) \ scp_tree_store_insert_with_values(store, iter, parent, -1, __VA_ARGS__) void scp_tree_store_get_valist(ScpTreeStore *store, GtkTreeIter *iter, va_list var_args); void scp_tree_store_get(ScpTreeStore *store, GtkTreeIter *iter, ...); gboolean scp_tree_store_is_ancestor(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *descendant); gint scp_tree_store_iter_depth(ScpTreeStore *store, GtkTreeIter *iter); void scp_tree_store_clear_children(ScpTreeStore *store, GtkTreeIter *parent, gboolean emit_subsignals); #define scp_tree_store_clear(store) scp_tree_store_clear_children((store), NULL, TRUE) gboolean scp_tree_store_iter_is_valid(ScpTreeStore *store, GtkTreeIter *iter); void scp_tree_store_reorder(ScpTreeStore *store, GtkTreeIter *parent, gint *new_order); void scp_tree_store_swap(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b); void scp_tree_store_move(ScpTreeStore *store, GtkTreeIter *iter, gint position); gint scp_tree_store_iter_tell(ScpTreeStore *store, GtkTreeIter *iter); /* Model */ GtkTreeModelFlags scp_tree_store_get_flags(ScpTreeStore *store); gint scp_tree_store_get_n_columns(ScpTreeStore *store); GType scp_tree_store_get_column_type(ScpTreeStore *store, gint index); gboolean scp_tree_store_get_iter(ScpTreeStore *store, GtkTreeIter *iter, GtkTreePath *path); GtkTreePath *scp_tree_store_get_path(ScpTreeStore *store, GtkTreeIter *iter); void scp_tree_store_get_value(ScpTreeStore *model, GtkTreeIter *iter, gint column, GValue *value); gboolean scp_tree_store_iter_next(ScpTreeStore *store, GtkTreeIter *iter); gboolean scp_tree_store_iter_previous(ScpTreeStore *store, GtkTreeIter *iter); gboolean scp_tree_store_iter_children(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent); gboolean scp_tree_store_iter_has_child(ScpTreeStore *store, GtkTreeIter *iter); gint scp_tree_store_iter_n_children(ScpTreeStore *store, GtkTreeIter *iter); gboolean scp_tree_store_iter_nth_child(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *parent, gint n); #define scp_tree_store_get_iter_first(store, iter) \ scp_tree_store_iter_nth_child((store), (iter), NULL, 0) gboolean scp_tree_store_iter_parent(ScpTreeStore *store, GtkTreeIter *iter, GtkTreeIter *child); void scp_tree_store_foreach(ScpTreeStore *store, GtkTreeModelForeachFunc func, gpointer gdata); /* DND */ gboolean scp_tree_store_row_draggable(ScpTreeStore *store, GtkTreePath *path); gboolean scp_tree_store_drag_data_delete(ScpTreeStore *store, GtkTreePath *path); gboolean scp_tree_store_drag_data_get(ScpTreeStore *store, GtkTreePath *path, GtkSelectionData *selection_data); gboolean scp_tree_store_drag_data_received(ScpTreeStore *store, GtkTreePath *dest, GtkSelectionData *selection_data); gboolean scp_tree_store_row_drop_possible(ScpTreeStore *store, GtkTreePath *dest_path, GtkSelectionData *selection_data); /* Sortable */ gboolean scp_tree_store_get_sort_column_id(ScpTreeStore *store, gint *sort_column_id, GtkSortType *order); void scp_tree_store_set_sort_column_id(ScpTreeStore *store, gint sort_column_id, GtkSortType order); void scp_tree_store_set_sort_func(ScpTreeStore *store, gint sort_column_id, GtkTreeIterCompareFunc func, gpointer data, GDestroyNotify destroy); void scp_tree_store_set_default_sort_func(ScpTreeStore *store, GtkTreeIterCompareFunc func, gpointer data, GDestroyNotify destroy); gboolean scp_tree_store_has_default_sort_func(ScpTreeStore *store); /* Extra */ void scp_tree_store_set_allocation(ScpTreeStore *store, guint toplevel_reserved, guint sublevel_reserved, gboolean sublevel_discard); void scp_tree_store_set_utf8_collate(ScpTreeStore *store, gint column, gboolean collate); gboolean scp_tree_store_get_utf8_collate(ScpTreeStore *store, gint column); gint scp_tree_store_compare_func(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, gpointer data); gboolean scp_tree_store_iter_seek(ScpTreeStore *store, GtkTreeIter *iter, gint position); gboolean scp_tree_store_search(ScpTreeStore *store, gboolean sublevels, gboolean linear_order, GtkTreeIter *iter, GtkTreeIter *parent, gint column, ...); typedef gint (*ScpTreeStoreTraverseFunc)(ScpTreeStore *store, GtkTreeIter *iter, gpointer gdata); gboolean scp_tree_store_traverse(ScpTreeStore *store, gboolean sublevels, GtkTreeIter *iter, GtkTreeIter *parent, ScpTreeStoreTraverseFunc func, gpointer gdata); void scp_tree_store_register_dynamic(void); G_END_DECLS #define __SCP_TREE_STORE_H__ 1 #endif geany-plugins-1.27/scope/src/conterm.c0000644000175000017500000003700112671261352020234 0ustar00frlanfrlan00000000000000/* * conterm.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include "common.h" #define NFD 5 #define DS_COPY (DS_BASICS | DS_EXTRA_1) #ifdef G_OS_UNIX #include /* instead of detecting N kinds of *nix */ #if defined(HAVE_UTIL_H) #include #elif defined(HAVE_LIBUTIL_H) #include #elif defined(HAVE_PTY_H) #include #endif int grantpt(int fd); int unlockpt(int fd); static GtkWidget *program_window; static VteTerminal *program_terminal; static GtkWidget *terminal_parent; static GtkWidget *terminal_window; static GtkCheckMenuItem *terminal_show; void on_terminal_show(G_GNUC_UNUSED const MenuItem *menu_item) { GtkWidget *terminal = GTK_WIDGET(program_terminal); if (gtk_check_menu_item_get_active(terminal_show)) { gtk_container_remove(GTK_CONTAINER(program_window), terminal); gtk_widget_set_size_request(terminal, pref_terminal_width, pref_terminal_height); gtk_container_add(GTK_CONTAINER(terminal_window), terminal); gtk_widget_show(terminal_parent); gtk_window_move(GTK_WINDOW(terminal_parent), pref_terminal_window_x, pref_terminal_window_y); } else { gtk_window_get_position(GTK_WINDOW(terminal_parent), &pref_terminal_window_x, &pref_terminal_window_y); gtk_widget_get_size_request(terminal, &pref_terminal_width, &pref_terminal_height); gtk_widget_hide(terminal_parent); gtk_container_remove(GTK_CONTAINER(terminal_window), terminal); gtk_widget_set_size_request(terminal, -1, -1); gtk_container_add(GTK_CONTAINER(program_window), terminal); } } void terminal_clear(void) { vte_terminal_reset(program_terminal, TRUE, TRUE); } void terminal_standalone(gboolean alone) { gtk_check_menu_item_set_active(terminal_show, alone); } static gboolean on_terminal_parent_delete(G_GNUC_UNUSED GtkWidget *widget, G_GNUC_UNUSED GdkEvent *event, G_GNUC_UNUSED gpointer gdata) { terminal_standalone(FALSE); return TRUE; } static void on_terminal_copy(G_GNUC_UNUSED const MenuItem *menu_item) { vte_terminal_copy_clipboard(program_terminal); } static void on_terminal_paste(G_GNUC_UNUSED const MenuItem *menu_item) { vte_terminal_paste_clipboard(program_terminal); } static void on_terminal_feed(G_GNUC_UNUSED const MenuItem *menu_item) { gdouble value = 4; if (dialogs_show_input_numeric(_("Feed Terminal"), _("Enter char # (0..255):"), &value, 0, 255, 1)) { char text = (char) value; vte_terminal_feed_child(program_terminal, &text, 1); } } static void on_terminal_select_all(G_GNUC_UNUSED const MenuItem *menu_item) { vte_terminal_select_all(program_terminal); } static void on_terminal_clear(G_GNUC_UNUSED const MenuItem *menu_item) { vte_terminal_reset(program_terminal, TRUE, TRUE); } /* show terminal on program startup */ gboolean terminal_auto_show; /* hide terminal on program exit */ gboolean terminal_auto_hide; /* show terminal on program exit with non-zero exit code */ gboolean terminal_show_on_error; static MenuItem terminal_menu_items[] = { { "terminal_copy", on_terminal_copy, DS_COPY, NULL, NULL }, { "terminal_paste", on_terminal_paste, 0, NULL, NULL }, { "terminal_feed", on_terminal_feed, 0, NULL, NULL }, { "terminal_select_all", on_terminal_select_all, 0, NULL, NULL }, { "terminal_clear", on_terminal_clear, 0, NULL, NULL }, { "terminal_show_hide", on_menu_display_booleans, 0, NULL, GINT_TO_POINTER(3) }, { "terminal_auto_show", on_menu_update_boolean, 0, NULL, &terminal_auto_show }, { "terminal_auto_hide", on_menu_update_boolean, 0, NULL, &terminal_auto_hide }, { "terminal_show_on_error", on_menu_update_boolean, 0, NULL, &terminal_show_on_error }, { NULL, NULL, 0, NULL, NULL } }; static guint terminal_menu_extra_state(void) { return vte_terminal_get_has_selection(program_terminal) << DS_INDEX_1; } static MenuInfo terminal_menu_info = { terminal_menu_items, terminal_menu_extra_state, 0 }; void on_vte_realize(VteTerminal *vte, G_GNUC_UNUSED gpointer gdata) { vte_terminal_set_emulation(vte, pref_vte_emulation); vte_terminal_set_font_from_string(vte, pref_vte_font); vte_terminal_set_scrollback_lines(vte, pref_vte_scrollback); vte_terminal_set_scroll_on_output(vte, TRUE); vte_terminal_set_color_foreground(vte, &pref_vte_colour_fore); vte_terminal_set_color_background(vte, &pref_vte_colour_back); #if VTE_CHECK_VERSION(0, 17, 1) vte_terminal_set_cursor_blink_mode(vte, pref_vte_blinken ? VTE_CURSOR_BLINK_ON : VTE_CURSOR_BLINK_OFF); #else vte_terminal_set_cursor_blinks(vte, pref_vte_blinken); #endif } static VteTerminal *debug_console = NULL; /* NULL -> GtkTextView "context" */ static void console_output(int fd, const char *text, gint length) { static const char fd_colors[NFD] = { '6', '7', '1', '7', '5' }; static char setaf[5] = { '\033', '[', '3', '?', 'm' }; static int last_fd = -1; gint i; if (last_fd == 3 && fd != 0) vte_terminal_feed(debug_console, "\r\n", 2); if (fd != last_fd) { setaf[3] = fd_colors[fd]; vte_terminal_feed(debug_console, setaf, sizeof setaf); last_fd = fd; } if (length == -1) length = strlen(text); for (i = 0; i < length; i++) { if (text[i] == '\n') { vte_terminal_feed(debug_console, text, i); vte_terminal_feed(debug_console, "\r", 2); length -= i; text += i; i = 0; } } vte_terminal_feed(debug_console, text, length); } static void console_output_nl(int fd, const char *text, gint length) { dc_output(fd, text, length); vte_terminal_feed(debug_console, "\r\n", 2); } #endif /* G_OS_UNIX */ static GtkTextView *debug_context; static GtkTextBuffer *context; static GtkTextTag *fd_tags[NFD]; #define DC_LIMIT 32768 /* approx */ #define DC_DELTA 6144 static guint dc_chars = 0; void context_output(int fd, const char *text, gint length) { static int last_fd = -1; GtkTextIter end; gchar *utf8; gtk_text_buffer_get_end_iter(context, &end); if (last_fd == 3 && fd != 0) gtk_text_buffer_insert(context, &end, "\n", 1); if (fd != last_fd) last_fd = fd; if (length == -1) length = strlen(text); dc_chars += length; utf8 = g_locale_to_utf8(text, length, NULL, NULL, NULL); if (utf8) { gtk_text_buffer_insert_with_tags(context, &end, utf8, -1, fd_tags[fd], NULL); g_free(utf8); } else gtk_text_buffer_insert_with_tags(context, &end, text, length, fd_tags[fd], NULL); if (dc_chars > DC_LIMIT + (DC_DELTA / 2)) { GtkTextIter start, delta; gtk_text_buffer_get_start_iter(context, &start); gtk_text_buffer_get_iter_at_offset(context, &delta, DC_DELTA); gtk_text_buffer_delete(context, &start, &delta); gtk_text_buffer_get_end_iter(context, &end); dc_chars = gtk_text_buffer_get_char_count(context); } gtk_text_buffer_place_cursor(context, &end); gtk_text_view_scroll_mark_onscreen(debug_context, gtk_text_buffer_get_insert(context)); } void context_output_nl(int fd, const char *text, gint length) { dc_output(fd, text, length); dc_output(fd, "\n", 1); } static gboolean on_console_button_3_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventButton *event, GtkMenu *menu) { if (event->button == 3) { gtk_menu_popup(menu, NULL, NULL, NULL, NULL, event->button, event->time); return TRUE; } return FALSE; } void (*dc_output)(int fd, const char *text, gint length); void (*dc_output_nl)(int fd, const char *text, gint length); void dc_error(const char *format, ...) { char *string; va_list args; va_start(args, format); string = g_strdup_vprintf(format, args); va_end(args); dc_output_nl(4, string, -1); g_free(string); plugin_blink(); } void dc_clear(void) { #ifdef G_OS_UNIX if (debug_console) vte_terminal_reset(debug_console, TRUE, TRUE); else #endif { gtk_text_buffer_set_text(context, "", -1); dc_chars = 0; } } gboolean dc_update(void) { if (thread_state == THREAD_AT_ASSEMBLER) debug_send_format(T, "04-data-disassemble -s $pc -e $pc+1 0"); return TRUE; } static void on_console_copy(G_GNUC_UNUSED const MenuItem *menu_item) { #ifdef G_OS_UNIX if (debug_console) vte_terminal_copy_clipboard(debug_console); else #endif { g_signal_emit_by_name(debug_context, "copy-clipboard"); } } static void on_console_select_all(G_GNUC_UNUSED const MenuItem *menu_item) { #ifdef G_OS_UNIX if (debug_console) vte_terminal_select_all(program_terminal); else #endif { g_signal_emit_by_name(debug_context, "select-all"); } } static void on_console_clear(G_GNUC_UNUSED const MenuItem *menu_item) { dc_clear(); } static gboolean on_console_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, G_GNUC_UNUSED gpointer gdata) { gboolean insert = event->keyval == GDK_Insert || event->keyval == GDK_KP_Insert; if ((insert || (event->keyval >= 0x21 && event->keyval <= 0x7F && event->state <= GDK_SHIFT_MASK)) && (debug_state() & DS_ACTIVE)) { char command[2] = { event->keyval, '\0' }; view_command_line(insert ? NULL : command, NULL, NULL, TRUE); return TRUE; } return FALSE; } static MenuItem console_menu_items[] = { { "console_copy", on_console_copy, DS_COPY, NULL, NULL }, { "console_select_all", on_console_select_all, 0, NULL, NULL }, { "console_clear", on_console_clear, 0, NULL, NULL }, { NULL, NULL, 0, NULL, NULL } }; static guint console_menu_extra_state(void) { #ifdef G_OS_UNIX if (debug_console) return vte_terminal_get_has_selection(debug_console) << DS_INDEX_1; #endif return gtk_text_buffer_get_has_selection(context) << DS_INDEX_1; } static MenuInfo console_menu_info = { console_menu_items, console_menu_extra_state, 0 }; void conterm_load_config(void) { gchar *configfile = g_build_filename(geany_data->app->configdir, "geany.conf", NULL); GKeyFile *config = g_key_file_new(); gchar *tmp_string; g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL); pref_vte_blinken = utils_get_setting_boolean(config, "VTE", "cursor_blinks", FALSE); pref_vte_emulation = utils_get_setting_string(config, "VTE", "emulation", "xterm"); pref_vte_font = utils_get_setting_string(config, "VTE", "font", "Monospace 10"); pref_vte_scrollback = utils_get_setting_integer(config, "VTE", "scrollback_lines", 500); tmp_string = utils_get_setting_string(config, "VTE", "colour_fore", "#ffffff"); gdk_color_parse(tmp_string, &pref_vte_colour_fore); g_free(tmp_string); tmp_string = utils_get_setting_string(config, "VTE", "colour_back", "#000000"); gdk_color_parse(tmp_string, &pref_vte_colour_back); g_free(tmp_string); g_key_file_free(config); g_free(configfile); } static void context_apply_config(GtkWidget *console) { gtk_widget_modify_base(console, GTK_STATE_NORMAL, &pref_vte_colour_back); gtk_widget_modify_cursor(console, &pref_vte_colour_fore, &pref_vte_colour_back); ui_widget_modify_font_from_string(console, pref_vte_font); } void conterm_apply_config(void) { #ifdef G_OS_UNIX on_vte_realize(program_terminal, NULL); if (debug_console) on_vte_realize(debug_console, NULL); else #endif { context_apply_config(GTK_WIDGET(debug_context)); } } #ifdef G_OS_UNIX static int pty_slave = -1; char *slave_pty_name = NULL; #endif void conterm_init(void) { GtkWidget *console; #ifdef G_OS_UNIX gchar *error = NULL; int pty_master; char *pty_name; #endif conterm_load_config(); #ifdef G_OS_UNIX program_window = get_widget("program_window"); console = vte_terminal_new(); gtk_widget_show(console); program_terminal = VTE_TERMINAL(console); g_object_ref(program_terminal); gtk_container_add(GTK_CONTAINER(program_window), console); g_signal_connect_after(program_terminal, "realize", G_CALLBACK(on_vte_realize), NULL); terminal_parent = get_widget("terminal_parent"); g_signal_connect(terminal_parent, "delete-event", G_CALLBACK(on_terminal_parent_delete), NULL); terminal_window = get_widget("terminal_window"); terminal_show = GTK_CHECK_MENU_ITEM(get_widget("terminal_show")); if (pref_terminal_padding) { gint vte_border_x, vte_border_y; #if VTE_CHECK_VERSION(0, 24, 0) GtkBorder *border = NULL; gtk_widget_style_get(console, "inner-border", &border, NULL); if (border) { vte_border_x = border->left + border->right; vte_border_y = border->top + border->bottom; gtk_border_free(border); } else vte_border_x = vte_border_y = 2; #else /* VTE 0.24.0 */ /* VTE manual says "deprecated since 0.26", but it's since 0.24 */ vte_terminal_get_padding(program_terminal, &vte_border_x, &vte_border_y); #endif /* VTE 0.24.0 */ pref_terminal_width += vte_border_x; pref_terminal_height += vte_border_y; pref_terminal_padding = FALSE; } if (openpty(&pty_master, &pty_slave, NULL, NULL, NULL) == 0 && grantpt(pty_master) == 0 && unlockpt(pty_master) == 0 && (pty_name = ttyname(pty_slave)) != NULL) { #if VTE_CHECK_VERSION(0, 25, 0) GError *gerror = NULL; VtePty *pty = vte_pty_new_foreign(pty_master, &gerror); if (pty) { vte_terminal_set_pty_object(program_terminal, pty); slave_pty_name = g_strdup(pty_name); } else { error = g_strdup(gerror->message); g_error_free(gerror); } #else /* VTE 0.25.0 */ vte_terminal_set_pty(program_terminal, pty_master); slave_pty_name = g_strdup(pty_name); #endif /* VTE 0.25.0 */ } else error = g_strdup_printf("pty: %s", g_strerror(errno)); if (error) { gtk_widget_set_sensitive(program_window, FALSE); gtk_widget_set_sensitive(GTK_WIDGET(terminal_show), FALSE); msgwin_status_add(_("Scope: %s."), error); g_free(error); } else menu_connect("terminal_menu", &terminal_menu_info, GTK_WIDGET(program_terminal)); #else /* G_OS_UNIX */ gtk_widget_hide(get_widget("program_window")); #endif /* G_OS_UNIX */ #ifdef G_OS_UNIX if (pref_debug_console_vte) { console = vte_terminal_new(); gtk_widget_show(console); debug_console = VTE_TERMINAL(console); dc_output = console_output; dc_output_nl = console_output_nl; g_signal_connect_after(debug_console, "realize", G_CALLBACK(on_vte_realize), NULL); menu_connect("console_menu", &console_menu_info, console); } else #endif /* G_OS_UNIX */ { static const char *const colors[NFD] = { "#00C0C0", "#C0C0C0", "#C00000", "#C0C0C0", "#C000C0" }; guint i; console = get_widget("debug_context"); context_apply_config(console); debug_context = GTK_TEXT_VIEW(console); dc_output = context_output; dc_output_nl = context_output_nl; context = gtk_text_view_get_buffer(debug_context); for (i = 0; i < NFD; i++) { fd_tags[i] = gtk_text_buffer_create_tag(context, NULL, "foreground", colors[i], NULL); } g_signal_connect(console, "button-press-event", G_CALLBACK(on_console_button_3_press), menu_connect("console_menu", &console_menu_info, NULL)); } gtk_container_add(GTK_CONTAINER(get_widget("debug_window")), console); g_signal_connect(console, "key-press-event", G_CALLBACK(on_console_key_press), NULL); } void conterm_finalize(void) { #ifdef G_OS_UNIX g_object_unref(program_terminal); g_free(slave_pty_name); close(pty_slave); /* close(pty_master) causes 100% CPU load on 0.24 and is not allowed on 0.26+ */ #endif /* G_OS_UNIX */ } geany-plugins-1.27/scope/src/memory.c0000644000175000017500000002547612671261352020112 0ustar00frlanfrlan00000000000000/* * memory.c * * Copyright 2013 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include "common.h" enum { MEMORY_ADDR, MEMORY_BYTES, MEMORY_ASCII }; static ScpTreeStore *store; static GtkTreeSelection *selection; static void on_memory_bytes_edited(G_GNUC_UNUSED GtkCellRendererText *renderer, gchar *path_str, gchar *new_text, G_GNUC_UNUSED gpointer gdata) { if (*new_text && (debug_state() & DS_VARIABLE)) { GtkTreeIter iter; const char *addr, *bytes; guint i; scp_tree_store_get_iter_from_string(store, &iter, path_str); scp_tree_store_get(store, &iter, MEMORY_ADDR, &addr, MEMORY_BYTES, &bytes, -1); for (i = 0; bytes[i]; i++) if (!(isxdigit(bytes[i]) ? isxdigit(new_text[i]) : new_text[i] == ' ')) break; if (bytes[i] || new_text[i]) dc_error("memory: invalid format"); else { utils_strchrepl(new_text, ' ', '\0'); debug_send_format(T, "07-data-write-memory-bytes 0x%s%s", addr, new_text); } } else plugin_blink(); } static gboolean on_memory_entry_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, GtkEditable *editable) { const char *text = gtk_entry_get_text(GTK_ENTRY(editable)); gint pos = gtk_editable_get_position(editable); if (event->keyval <= 0x7F && ((isxdigit(event->keyval) && isxdigit(text[pos])) || (event->keyval == ' ' && text[pos] == ' ')) && event->state <= GDK_SHIFT_MASK) { char c = event->keyval; gtk_editable_set_editable(editable, TRUE); gtk_editable_delete_text(editable, pos, pos + 1); gtk_editable_insert_text(editable, &c, 1, &pos); gtk_editable_set_position(editable, pos); gtk_editable_set_editable(editable, FALSE); return TRUE; } return event->keyval == GDK_Insert || event->keyval == GDK_KP_Insert || event->keyval == GDK_space || event->keyval == GDK_KP_Space; } static const char *memory_font; static void on_memory_bytes_editing_started(G_GNUC_UNUSED GtkCellRenderer *cell, GtkCellEditable *cell_editable, G_GNUC_UNUSED const gchar *path, G_GNUC_UNUSED gpointer gdata) { iff (GTK_IS_ENTRY(cell_editable), "memory_bytes: not an entry") { GtkEditable *editable = GTK_EDITABLE(cell_editable); ui_widget_modify_font_from_string(GTK_WIDGET(editable), memory_font); gtk_entry_set_overwrite_mode(GTK_ENTRY(editable), TRUE); gtk_editable_set_editable(editable, FALSE); gtk_editable_set_position(editable, 0); g_signal_connect(editable, "key-press-event", G_CALLBACK(on_memory_entry_key_press), editable); } } static const TreeCell memory_cells[] = { { "memory_bytes", G_CALLBACK(on_memory_bytes_edited) }, { NULL, NULL } }; static guint pointer_size; static char *addr_format; #define MAX_BYTES_PER_LINE 128 #define MAX_POINTER_SIZE 8 static gint back_bytes_per_line; static gint bytes_per_line; static gint bytes_per_group = 1; static void memory_configure(void) { gint groups_per_line; back_bytes_per_line = pref_memory_bytes_per_line; bytes_per_line = pref_memory_bytes_per_line; if ((unsigned) (bytes_per_line - 8) > MAX_BYTES_PER_LINE - 8) bytes_per_line = 16; groups_per_line = bytes_per_line / bytes_per_group; bytes_per_line = groups_per_line * bytes_per_group; } static guint64 memory_start; static guint memory_count = 0; #define MAX_BYTES (124 * MAX_BYTES_PER_LINE) static void write_block(guint64 start, const char *contents, guint count, const char *maddr) { if (!memory_count) memory_start = start; else if (memory_count < MAX_BYTES) memory_count = start - memory_start; while (memory_count < MAX_BYTES) { GtkTreeIter iter; char *addr = g_strdup_printf(addr_format, start); GString *bytes = g_string_sized_new(bytes_per_line * 3); GString *ascii = g_string_new(" "); gint n = 0; while (n < bytes_per_line) { char locale; gchar *utf8; g_string_append_len(bytes, contents, 2); contents += 2; memory_count++; locale = strtol(bytes->str + bytes->len - 2, NULL, 16); utf8 = locale >= 0x20 ? g_locale_to_utf8(&locale, 1, NULL, NULL, NULL) : NULL; if (utf8) { g_string_append(ascii, utf8); g_free(utf8); } else g_string_append_c(ascii, '.'); /* 0xfffd? */ if (++n % bytes_per_group == 0) g_string_append_c(bytes, ' '); if (!--count) break; } while (n < bytes_per_line) { g_string_append(bytes, " "); if (++n % bytes_per_group == 0) g_string_append_c(bytes, ' '); } scp_tree_store_append_with_values(store, &iter, NULL, MEMORY_ADDR, addr, MEMORY_BYTES, bytes->str, MEMORY_ASCII, ascii->str, -1); if (!g_strcmp0(addr, maddr)) gtk_tree_selection_select_iter(selection, &iter); g_free(addr); g_string_free(bytes, TRUE); g_string_free(ascii, TRUE); if (!count) break; start += bytes_per_line; } if (count) dc_error("memory: too much data"); } static void memory_node_read(const ParseNode *node, const char *maddr) { iff (node->type == PT_ARRAY, "memory: contains value") { GArray *nodes = (GArray *) node->value; const char *begin = parse_find_value(nodes, "begin"); const char *offset = parse_find_value(nodes, "offset"); const char *contents = parse_find_value(nodes, "contents"); iff (begin && contents, "memory: no begin or contents") { guint64 start = g_ascii_strtoull(begin, NULL, 0); guint64 count = strlen(contents) / 2; if (offset) start += g_ascii_strtoull(offset, NULL, 0); iff (count, "memory: contents too short") write_block(start, contents, count, maddr); } } } void on_memory_read_bytes(GArray *nodes) { if (pointer_size <= MAX_POINTER_SIZE) { GtkTreeIter iter; char *maddr = NULL; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) gtk_tree_model_get((GtkTreeModel *) store, &iter, MEMORY_ADDR, &maddr, -1); store_clear(store); memory_count = 0; if (pref_memory_bytes_per_line != back_bytes_per_line) { memory_configure(); gtk_tree_view_column_queue_resize(get_column("memory_bytes_column")); gtk_tree_view_column_queue_resize(get_column("memory_ascii_column")); } parse_foreach(parse_lead_array(nodes), (GFunc) memory_node_read, maddr); g_free(maddr); } } void memory_clear(void) { store_clear(store); } gboolean memory_update(void) { if (memory_count) { debug_send_format(T, "04-data-read-memory-bytes 0x%" G_GINT64_MODIFIER "x %u", memory_start, memory_count); } return TRUE; } static void on_memory_refresh(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_format(T, "-data-read-memory-bytes 0x%" G_GINT64_MODIFIER "x %u", memory_start, memory_count); } static void on_memory_read(G_GNUC_UNUSED const MenuItem *menu_item) { GString *command = g_string_new("-data-read-memory-bytes "); gchar *expr = utils_get_default_selection(); if (expr) { g_string_append(command, expr); g_free(expr); } else if (memory_count) { g_string_append_printf(command, "0x%" G_GINT64_MODIFIER "x %u", memory_start, memory_count); } view_command_line(command->str, _("Read Memory"), " ", TRUE); g_string_free(command, TRUE); } static void on_memory_copy(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; const char *addr, *bytes; const gchar *ascii; gchar *string; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, MEMORY_ADDR, &addr, MEMORY_BYTES, &bytes, MEMORY_ASCII, &ascii, -1); string = g_strdup_printf("%s%s%s", addr, bytes, ascii); gtk_clipboard_set_text(gtk_widget_get_clipboard(menu_item->widget, GDK_SELECTION_CLIPBOARD), string, -1); g_free(string); } static void on_memory_clear(G_GNUC_UNUSED const MenuItem *menu_item) { store_clear(store); memory_count = 0; } static void on_memory_group_display(const MenuItem *menu_item) { guint i; for (i = 0; (1 << i) < bytes_per_group; i++); menu_item_set_active(menu_item + i + 1, TRUE); } static void on_memory_group_update(const MenuItem *menu_item) { bytes_per_group = 1 << GPOINTER_TO_INT(menu_item->gdata); back_bytes_per_line = 0; if (memory_count) on_memory_refresh(menu_item); } #define DS_FRESHABLE (DS_VRIABLE | DS_EXTRA_2) #define DS_COPYABLE (DS_BASICS | DS_EXTRA_1) #define DS_CLEARABLE (DS_ACTIVE | DS_EXTRA_2) #define GROUP_ITEM(count, POWER) \ { ("memory_group_"count), on_memory_group_update, DS_VARIABLE, NULL, \ GINT_TO_POINTER(POWER) } static MenuItem memory_menu_items[] = { { "memory_refresh", on_memory_refresh, DS_VARIABLE, NULL, NULL }, { "memory_read", on_memory_read, DS_VARIABLE, NULL, NULL }, { "memory_copy", on_memory_copy, DS_COPYABLE, NULL, NULL }, { "memory_clear", on_memory_clear, DS_CLEARABLE, NULL, NULL }, { "memory_group", on_memory_group_display, DS_VARIABLE, NULL, NULL }, GROUP_ITEM("1", 0), GROUP_ITEM("2", 1), GROUP_ITEM("4", 2), GROUP_ITEM("8", 3), { NULL, NULL, 0, NULL, NULL } }; static guint memory_menu_extra_state(void) { return (gtk_tree_selection_get_selected(selection, NULL, NULL) << DS_INDEX_1) | (memory_count != 0) << DS_INDEX_2; } static MenuInfo memory_menu_info = { memory_menu_items, memory_menu_extra_state, 0 }; static gboolean on_memory_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, gpointer gdata) { if (event->keyval == GDK_Insert || event->keyval == GDK_KP_Insert) { menu_item_execute(&memory_menu_info, (const MenuItem *) gdata, FALSE); return TRUE; } return FALSE; } void memory_init(void) { GtkWidget *tree = GTK_WIDGET(view_connect("memory_view", &store, &selection, memory_cells, "memory_window", NULL)); memory_font = *pref_memory_font ? pref_memory_font : pref_vte_font; ui_widget_modify_font_from_string(tree, memory_font); g_signal_connect(get_object("memory_bytes"), "editing-started", G_CALLBACK(on_memory_bytes_editing_started), NULL); g_signal_connect(tree, "key-press-event", G_CALLBACK(on_memory_key_press), (gpointer) menu_item_find(memory_menu_items, "memory_read")); pointer_size = sizeof(void *) > sizeof &memory_init ? sizeof(void *) : sizeof &memory_init; addr_format = g_strdup_printf("%%0%u" G_GINT64_MODIFIER "x ", pointer_size * 2); memory_configure(); if (pointer_size > MAX_POINTER_SIZE) { msgwin_status_add(_("Scope: pointer size > %d, Data disabled."), MAX_POINTER_SIZE); gtk_widget_hide(tree); } else menu_connect("memory_menu", &memory_menu_info, tree); } void memory_finalize(void) { g_free(addr_format); } geany-plugins-1.27/scope/src/program.h0000644000175000017500000000377212671261352020251 0ustar00frlanfrlan00000000000000/* * program.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef PROGRAM_H extern gchar *program_executable; extern gchar *program_arguments; extern gchar *program_environment; extern gchar *program_working_dir; extern gchar *program_load_script; extern gboolean program_auto_run_exit; extern gboolean program_non_stop_mode; extern gboolean program_temp_breakpoint; extern gchar *program_temp_break_location; extern gboolean option_open_panel_on_load; extern gboolean option_open_panel_on_start; extern gboolean option_update_all_views; extern gint option_high_bit_mode; extern gboolean option_member_names; extern gboolean option_argument_names; extern gboolean option_long_mr_format; extern gboolean option_inspect_expand; extern gint option_inspect_count; extern gboolean option_library_messages; extern gboolean option_editor_tooltips; /* note: 2 references to mode */ #define opt_hb_mode(hb_mode) ((hb_mode) == HB_DEFAULT ? option_high_bit_mode : (hb_mode)) #define opt_mr_mode(mr_mode) ((mr_mode) == MR_DEFAULT ? option_member_names : (mr_mode)) gboolean recent_menu_items(void); void program_context_changed(void); void program_update_state(DebugState state); void on_program_setup(const MenuItem *menu_item); void program_load_config(GKeyFile *config); void program_init(void); void program_finalize(void); #define PROGRAM_H 1 #endif geany-plugins-1.27/scope/src/utils.c0000644000175000017500000004126212671261352017731 0ustar00frlanfrlan00000000000000/* * utils.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include "common.h" #ifdef G_OS_UNIX #include void show_errno(const char *prefix) { show_error(_("%s: %s."), prefix, g_strerror(errno)); } #else /* G_OS_UNIX */ #include void show_errno(const char *prefix) { gchar *error = g_win32_error_message(GetLastError()); show_error(_("%s: %s"), prefix, error); g_free(error); } #endif /* G_OS_UNIX */ gboolean utils_set_nonblock(GPollFD *fd) { #ifdef G_OS_UNIX int state = fcntl(fd->fd, F_GETFL); return state != -1 && fcntl(fd->fd, F_SETFL, state | O_NONBLOCK) != -1; #else /* G_OS_UNIX */ HANDLE h = (HANDLE) _get_osfhandle(fd->fd); DWORD state; if (h != INVALID_HANDLE_VALUE && GetNamedPipeHandleState(h, &state, NULL, NULL, NULL, NULL, 0)) { state |= PIPE_NOWAIT; if (SetNamedPipeHandleState(h, &state, NULL, NULL)) return TRUE; } return FALSE; #endif /* G_OS_UNIX */ } void utils_handle_button_press(GtkWidget *widget, GdkEventButton *event) { /* from sidebar.c */ GtkWidgetClass *widget_class = GTK_WIDGET_GET_CLASS(widget); if (widget_class->button_press_event) widget_class->button_press_event(widget, event); } void utils_handle_button_release(GtkWidget *widget, GdkEventButton *event) { GtkWidgetClass *widget_class = GTK_WIDGET_GET_CLASS(widget); if (widget_class->button_release_event) widget_class->button_release_event(widget, event); } gboolean utils_check_path(const gchar *pathname, gboolean file, int mode) { if (*pathname) { char *path = utils_get_locale_from_utf8(pathname); struct stat buf; gboolean result = FALSE; if (stat(path, &buf) == 0) { if (!S_ISDIR(buf.st_mode) == file) result = access(path, mode) == 0; else errno = file ? EISDIR : ENOTDIR; } g_free(path); return result; } return TRUE; } const gchar *utils_skip_spaces(const gchar *text) { while (isspace(*text)) text++; return text; } void utils_strchrepl(char *text, char c, char rep) { char *p = text; while (*text) { if (*text == c) { if (rep) *text = rep; } else if (!rep) *p++ = *text; text++; } if (!rep) *p = '\0'; } gboolean store_find(ScpTreeStore *store, GtkTreeIter *iter, guint column, const char *key) { if (scp_tree_store_get_column_type(store, column) == G_TYPE_STRING) return scp_tree_store_search(store, FALSE, FALSE, iter, NULL, column, key); return scp_tree_store_search(store, FALSE, FALSE, iter, NULL, column, atoi(key)); } void store_foreach(ScpTreeStore *store, GFunc each_func, gpointer gdata) { GtkTreeIter iter; gboolean valid = scp_tree_store_get_iter_first(store, &iter); while (valid) { each_func(&iter, gdata); valid = scp_tree_store_iter_next(store, &iter); } } void store_save(ScpTreeStore *store, GKeyFile *config, const gchar *prefix, gboolean (*save_func)(GKeyFile *config, const char *section, GtkTreeIter *iter)) { guint i = 0; GtkTreeIter iter; gboolean valid = scp_tree_store_get_iter_first(store, &iter); while (valid) { char *section = g_strdup_printf("%s_%d", prefix, i); i += save_func(config, section, &iter); valid = scp_tree_store_iter_next(store, &iter); g_free(section); } do { char *section = g_strdup_printf("%s_%d", prefix, i++); valid = g_key_file_remove_group(config, section, NULL); g_free(section); } while (valid); } gint store_gint_compare(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, gpointer gdata) { const gchar *s1, *s2; scp_tree_store_get(store, a, GPOINTER_TO_INT(gdata), &s1, -1); scp_tree_store_get(store, b, GPOINTER_TO_INT(gdata), &s2, -1); return utils_atoi0(s1) - utils_atoi0(s2); } gint store_seek_compare(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, G_GNUC_UNUSED gpointer gdata) { gint result = scp_tree_store_compare_func(store, a, b, GINT_TO_POINTER(COLUMN_FILE)); if (!result) { gint i1, i2; scp_tree_store_get(store, a, COLUMN_LINE, &i1, -1); scp_tree_store_get(store, b, COLUMN_LINE, &i2, -1); result = i1 - i2; } return result; } void utils_load(GKeyFile *config, const gchar *prefix, gboolean (*load_func)(GKeyFile *config, const char *section)) { guint i = 0; gboolean valid; do { char *section = g_strdup_printf("%s_%d", prefix, i++); valid = FALSE; if (g_key_file_has_group(config, section)) { if (load_func(config, section)) valid = TRUE; else msgwin_status_add(_("Scope: error reading [%s]."), section); } g_free(section); } while (valid); } void utils_stash_group_free(StashGroup *group) { stash_group_free_settings(group); stash_group_free(group); } const char *const SCOPE_OPEN = "scope_open"; const char *const SCOPE_LOCK = "scope_lock"; gint utils_sci_marker_first; void utils_seek(const char *file, gint line, gboolean focus, SeekerType seeker) { GeanyDocument *doc = NULL; if (file) { GeanyDocument *old_doc = document_get_current(); ScintillaObject *sci; doc = document_find_by_real_path(file); if (doc) { sci = doc->editor->sci; gtk_notebook_set_current_page(GTK_NOTEBOOK(geany->main_widgets->notebook), document_get_notebook_page(doc)); if (seeker == SK_EXEC_MARK) sci_set_marker_at_line(sci, line - 1, MARKER_EXECUTE); } else if (g_file_test(file, G_FILE_TEST_EXISTS) && (doc = document_open_file(file, FALSE, NULL, NULL)) != NULL) { sci = doc->editor->sci; if (seeker == SK_EXECUTE || seeker == SK_EXEC_MARK) g_object_set_data(G_OBJECT(sci), SCOPE_OPEN, utils_seek); } if (doc) { if (line) { if (seeker == SK_DEFAULT && pref_seek_with_navqueue) navqueue_goto_line(old_doc, doc, line); else { scintilla_send_message(sci, SCI_SETYCARETPOLICY, pref_sci_caret_policy, pref_sci_caret_slop); sci_goto_line(sci, line - 1, TRUE); scintilla_send_message(sci, SCI_SETYCARETPOLICY, CARET_EVEN, 0); } } if (focus) gtk_widget_grab_focus(GTK_WIDGET(sci)); } } if (!doc && (seeker == SK_EXECUTE || seeker == SK_EXEC_MARK)) dc_error("thread %s at %s:%d", thread_id, file, line + 1); } void utils_mark(const char *file, gint line, gboolean mark, gint marker) { if (line) { GeanyDocument *doc = document_find_by_real_path(file); if (doc) { if (mark) sci_set_marker_at_line(doc->editor->sci, line - 1, marker); else sci_delete_marker_at_line(doc->editor->sci, line - 1, marker); } } } gboolean utils_source_filetype(GeanyFiletype *ft) { if (ft) { static const GeanyFiletypeID ft_id[] = { GEANY_FILETYPES_C, GEANY_FILETYPES_CPP, GEANY_FILETYPES_D, GEANY_FILETYPES_OBJECTIVEC, GEANY_FILETYPES_FORTRAN, GEANY_FILETYPES_F77, GEANY_FILETYPES_JAVA, /* GEANY_FILETYPES_OPENCL_C, */ GEANY_FILETYPES_PASCAL, /* GEANY_FILETYPES_S, */ GEANY_FILETYPES_ASM, /* GEANY_FILETYPES_MODULA_2, */ GEANY_FILETYPES_ADA, }; guint i; for (i = 0; i < sizeof ft_id / sizeof ft_id[0]; i++) if (ft_id[i] == ft->id) return TRUE; } return FALSE; } gboolean utils_source_document(GeanyDocument *doc) { return doc->real_path && utils_source_filetype(doc->file_type); } enum { GCS_CURRENT_LINE = 7 }; /* from highlighting.c */ static void line_mark_unmark(GeanyDocument *doc, gboolean lock) { if (pref_unmark_current_line) { scintilla_send_message(doc->editor->sci, SCI_SETCARETLINEVISIBLE, lock ? FALSE : highlighting_get_style(GEANY_FILETYPES_NONE, GCS_CURRENT_LINE)->bold, 0); } } static GtkCheckMenuItem *set_file_readonly1; static void doc_lock_unlock(GeanyDocument *doc, gboolean lock) { if (set_file_readonly1 && doc == document_get_current()) { /* to ensure correct state of Document -> [ ] Read Only */ if (gtk_check_menu_item_get_active(set_file_readonly1) != lock) gtk_check_menu_item_set_active(set_file_readonly1, lock); } else { scintilla_send_message(doc->editor->sci, SCI_SETREADONLY, lock, 0); doc->readonly = lock; document_set_text_changed(doc, doc->changed); /* to redraw tab & update sidebar */ } } void utils_lock(GeanyDocument *doc) { if (utils_source_document(doc)) { if (!doc->readonly) { doc_lock_unlock(doc, TRUE); g_object_set_data(G_OBJECT(doc->editor->sci), SCOPE_LOCK, utils_lock); } line_mark_unmark(doc, TRUE); tooltip_attach(doc->editor); } } void utils_unlock(GeanyDocument *doc) { if (utils_attrib(doc, SCOPE_LOCK)) { doc_lock_unlock(doc, FALSE); g_object_steal_data(G_OBJECT(doc->editor->sci), SCOPE_LOCK); } line_mark_unmark(doc, FALSE); tooltip_remove(doc->editor); } void utils_lock_unlock(GeanyDocument *doc, gboolean lock) { if (lock) utils_lock(doc); else utils_unlock(doc); } void utils_lock_all(gboolean lock) { guint i; foreach_document(i) utils_lock_unlock(documents[i], lock); } void utils_move_mark(ScintillaObject *sci, gint line, gint start, gint delta, gint marker) { sci_delete_marker_at_line(sci, delta > 0 || start - delta <= line ? line + delta : start, marker); sci_set_marker_at_line(sci, line, marker); } #define marker_delete_all(doc, marker) \ scintilla_send_message((doc)->editor->sci, SCI_MARKERDELETEALL, (marker), 0) void utils_remark(GeanyDocument *doc) { if (doc) { if (debug_state() != DS_INACTIVE) { marker_delete_all(doc, MARKER_EXECUTE); threads_mark(doc); } marker_delete_all(doc, MARKER_BREAKPT); marker_delete_all(doc, MARKER_BREAKPT + TRUE); breaks_mark(doc); } } guint utils_parse_sci_color(const gchar *string) { GdkColor color; gdk_color_parse(string, &color); return ((color.blue >> 8) << 16) + (color.green & 0xFF00) + (color.red >> 8); } gboolean utils_key_file_write_to_file(GKeyFile *config, const char *configfile) { gchar *data = g_key_file_to_data(config, NULL, NULL); gint error = utils_write_file(configfile, data); g_free(data); if (error) msgwin_status_add(_("Scope: %s: %s."), configfile, g_strerror(error)); return !error; } gchar *utils_key_file_get_string(GKeyFile *config, const char *section, const char *key) { gchar *string = utils_get_setting_string(config, section, key, NULL); if (!validate_column(string, TRUE)) { g_free(string); string = NULL; } return string; } gchar *utils_get_utf8_basename(const char *file) { gchar *utf8 = utils_get_utf8_from_locale(file); gchar *base = g_path_get_basename(utf8); g_free(utf8); return base; } static void utils_7bit_text_to_locale(const char *text, char *locale) { while (*text) { if (*text == '\\' && (guint) (text[1] - '0') <= 3 && (guint) (text[2] - '0') <= 7 && (guint) (text[3] - '0') <= 7) { unsigned char c = (text[1] - '0') * 64 + (text[2] - '0') * 8 + text[3] - '0'; if (isgraph(c)) { *locale++ = c; text += 4; continue; } } *locale++ = *text++; } *locale = '\0'; } char *utils_7bit_to_locale(char *text) { if (text) utils_7bit_text_to_locale(text, text); return text; } char *utils_get_locale_from_7bit(const char *text) { char *locale; if (text) { locale = g_malloc(strlen(text) + 1); utils_7bit_text_to_locale(text, locale); } else locale = NULL; return locale; } char *utils_get_locale_from_display(const gchar *display, gint hb_mode) { return opt_hb_mode(hb_mode) == HB_LOCALE ? utils_get_locale_from_utf8(display) : g_strdup(display); } gchar *utils_get_display_from_7bit(const char *text, gint hb_mode) { gchar *display; if (opt_hb_mode(hb_mode) == HB_7BIT) display = g_strdup(text); else { char *locale = utils_get_locale_from_7bit(text); display = utils_get_display_from_locale(locale, hb_mode); g_free(locale); } return display; } gchar *utils_get_display_from_locale(const char *locale, gint hb_mode) { return opt_hb_mode(hb_mode) == HB_LOCALE ? utils_get_utf8_from_locale(locale) : g_strdup(locale); } gchar *utils_verify_selection(gchar *text) { if (text) { gchar *s; for (s = text; (s = strchr(s, '=')) != NULL; s++) { if (s[1] == '=') s++; else if (s < text + 2 || !strchr("<>", s[-1]) || s[-1] == s[-2]) { g_free(text); return NULL; } } } return text; } gchar *utils_get_default_selection(void) { GeanyDocument *doc = document_get_current(); gchar *text = NULL; if (doc && utils_source_document(doc)) text = editor_get_default_selection(doc->editor, TRUE, NULL); return utils_verify_selection(text); } static void on_insert_text(GtkEditable *editable, gchar *new_text, gint new_text_length, G_GNUC_UNUSED gint *position, gpointer gdata) { gboolean valid = TRUE; if (new_text_length == -1) new_text_length = (gint) strlen(new_text); if (GPOINTER_TO_INT(gdata) == VALIDATOR_VARFRAME) { gchar *s = gtk_editable_get_chars(editable, 0, 1); if (*s == '\0' && new_text_length == 1 && (*new_text == '*' || *new_text == '@')) new_text_length = 0; else if (*s == '*' || *s == '@') valid = !new_text_length; g_free(s); } while (new_text_length-- > 0 && valid) { switch (GPOINTER_TO_INT(gdata)) { case VALIDATOR_NUMERIC : valid = isdigit(*new_text); break; case VALIDATOR_NOSPACE : valid = !isspace(*new_text); break; case VALIDATOR_VARFRAME : { valid = isxdigit(*new_text) || tolower(*new_text) == 'x'; break; } default : valid = FALSE; } new_text++; } if (!valid) g_signal_stop_emission_by_name(editable, "insert-text"); } gboolean utils_matches_frame(const char *token) { size_t len = *token - '0' + 1; return thread_id && len == strlen(thread_id) && strlen(++token) > len && !memcmp(token, thread_id, len) && !g_strcmp0(token + len, frame_id); } void validator_attach(GtkEditable *editable, gint validator) { g_signal_connect(editable, "insert-text", G_CALLBACK(on_insert_text), GINT_TO_POINTER(validator)); } static gchar *validate_string(gchar *text) { char *s = text + strlen(text); while (--s >= text && isspace(*s)); s[1] = '\0'; return *text ? text : NULL; } static gchar *validate_number(gchar *text) { char *s; if (*text == '+') text++; while (*text == '0') text++; for (s = text; isdigit(*s); s++); *s = '\0'; return *text && (s - text < 10 || (s - text == 10 && strcmp(text, "2147483648")) < 0) ? text : NULL; } gchar *validate_column(gchar *text, gboolean string) { if (text) { const gchar *s = utils_skip_spaces(text); memmove(text, s, strlen(s) + 1); return string ? validate_string(text) : validate_number(text); } return NULL; } static void on_dialog_response(GtkDialog *dialog, gint response, G_GNUC_UNUSED gpointer gdata) { if (response) gtk_widget_hide(GTK_WIDGET(dialog)); } GtkWidget *dialog_connect(const char *name) { GtkWidget *dialog = get_widget(name); gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(geany->main_widgets->window)); g_signal_connect(dialog, "response", G_CALLBACK(on_dialog_response), NULL); return dialog; } gchar *utils_text_buffer_get_text(GtkTextBuffer *text, gint maxlen) { GtkTextIter start, end; gtk_text_buffer_get_start_iter(text, &start); gtk_text_buffer_get_iter_at_offset(text, &end, maxlen); return gtk_text_buffer_get_text(text, &start, &end, FALSE); } static gboolean on_widget_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, GtkWidget *button) { if (!ui_is_keyval_enter_or_return(event->keyval)) return FALSE; if (gtk_widget_get_sensitive(button)) gtk_button_clicked(GTK_BUTTON(button)); return TRUE; } void utils_enter_to_clicked(GtkWidget *widget, GtkWidget *button) { g_signal_connect(widget, "key-press-event", G_CALLBACK(on_widget_key_press), button); } void utils_tree_set_cursor(GtkTreeSelection *selection, GtkTreeIter *iter, gdouble alignment) { GtkTreeView *tree = gtk_tree_selection_get_tree_view(selection); GtkTreePath *path = gtk_tree_model_get_path(gtk_tree_view_get_model(tree), iter); if (alignment >= 0) gtk_tree_view_scroll_to_cell(tree, path, NULL, TRUE, alignment, 0); gtk_tree_view_set_cursor(tree, path, NULL, FALSE); gtk_tree_path_free(path); } void utils_init(void) { set_file_readonly1 = GTK_CHECK_MENU_ITEM(ui_lookup_widget(geany->main_widgets->window, "set_file_readonly1")); } void utils_finalize(void) { guint i; DebugState state = debug_state(); foreach_document(i) { g_object_steal_data(G_OBJECT(documents[i]->editor->sci), SCOPE_OPEN); if (state != DS_INACTIVE) utils_unlock(documents[i]); } } geany-plugins-1.27/scope/src/memory.h0000644000175000017500000000173112671261352020103 0ustar00frlanfrlan00000000000000/* * utils.h * * Copyright 2013 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef MEMORY_H void on_memory_read_bytes(GArray *nodes); void on_memory_modified(GArray *nodes); void memory_clear(void); gboolean memory_update(void); void memory_init(void); void memory_finalize(void); #define MEMORY_H 1 #endif geany-plugins-1.27/scope/src/thread.h0000644000175000017500000000353412671261352020045 0ustar00frlanfrlan00000000000000/* * thread.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef THREAD_H void on_thread_group_started(GArray *nodes); void on_thread_group_exited(GArray *nodes); void on_thread_group_added(GArray *nodes); void on_thread_group_removed(GArray *nodes); typedef enum _ThreadState { THREAD_BLANK, /* none or created */ THREAD_RUNNING, THREAD_STOPPED, /* unknown frame */ THREAD_QUERY_FRAME, THREAD_AT_SOURCE, THREAD_AT_ASSEMBLER } ThreadState; extern const char *thread_id; extern ThreadState thread_state; const char *thread_group_id(void); void on_thread_running(GArray *nodes); void on_thread_stopped(GArray *nodes); void on_thread_created(GArray *nodes); void on_thread_exited(GArray *nodes); void on_thread_selected(GArray *nodes); void on_thread_info(GArray *nodes); void on_thread_follow(GArray *nodes); void on_thread_frame(GArray *nodes); void threads_mark(GeanyDocument *doc); void threads_clear(void); void threads_delta(ScintillaObject *sci, const char *real_path, gint start, gint delta); gboolean threads_update(void); void thread_query_frame(char token); void thread_synchronize(void); void thread_init(void); void thread_finalize(void); #define THREAD_H 1 #endif geany-plugins-1.27/scope/src/watch.h0000644000175000017500000000215412671261352017701 0ustar00frlanfrlan00000000000000/* * watch.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef WATCH_H void on_watch_value(GArray *nodes); void on_watch_error(GArray *nodes); void watches_clear(void); gboolean watches_update(void); void watch_add(const gchar *text); void watches_update_state(DebugState state); void watches_delete_all(void); void watches_load(GKeyFile *config); void watches_save(GKeyFile *config); void watch_init(void); #define WATCH_H 1 #endif geany-plugins-1.27/scope/src/scope.h0000644000175000017500000000220412671261352017700 0ustar00frlanfrlan00000000000000/* * scope.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef SCOPE_H void plugin_blink(void); void plugin_beep(void); void statusbar_update_state(DebugState state); void update_state(DebugState state); GObject *get_object(const char *name); GtkWidget *get_widget(const char *name); #define get_column(name) GTK_TREE_VIEW_COLUMN(get_object(name)) void configure_toolbar(void); void open_debug_panel(void); void configure_panel(void); #define SCOPE_H 1 #endif geany-plugins-1.27/scope/src/stack.c0000644000175000017500000002240312671261352017672 0ustar00frlanfrlan00000000000000/* * stack.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "common.h" enum { STACK_ID, STACK_FILE, STACK_LINE, STACK_BASE_NAME, STACK_FUNC, STACK_ARGS, STACK_ADDR, STACK_ENTRY }; static ScpTreeStore *store; static GtkTreeSelection *selection; static void stack_node_location(const ParseNode *node, const char *fid) { iff (node->type == PT_ARRAY, "stack: contains value") { GArray *nodes = (GArray *) node->value; const char *id = parse_find_value(nodes, "level"); iff (id, "no level") { ParseLocation loc; GtkTreeIter iter; parse_location(nodes, &loc); scp_tree_store_append_with_values(store, &iter, NULL, STACK_ID, id, STACK_FILE, loc.file, STACK_LINE, loc.line, STACK_BASE_NAME, loc.base_name, STACK_FUNC, loc.func, STACK_ARGS, NULL, STACK_ADDR, loc.addr, STACK_ENTRY, !loc.func || parse_mode_get(loc.func, MODE_ENTRY), -1); parse_location_free(&loc); if (!g_strcmp0(id, fid)) gtk_tree_selection_select_iter(selection, &iter); } } } const char *frame_id = NULL; void on_stack_frames(GArray *nodes) { if (!g_strcmp0(parse_grab_token(nodes), thread_id)) { char *fid = g_strdup(frame_id); stack_clear(); parse_foreach(parse_lead_array(nodes), (GFunc) stack_node_location, fid); g_free(fid); if (!frame_id) { GtkTreeIter iter; if (store_find(store, &iter, STACK_ID, "0")) utils_tree_set_cursor(selection, &iter, -1); } } } typedef struct _StackData { GString *string; gboolean entry; } StackData; static void append_argument_variable(const ParseNode *node, const StackData *sd) { iff (node->type == PT_ARRAY, "args: contains value") { ParseVariable var; if (parse_variable((GArray *) node->value, &var, NULL) && (sd->entry || !g_str_has_suffix(var.name, "@entry"))) { if (sd->string->len) g_string_append(sd->string, ", "); if (option_argument_names) { g_string_append_printf(sd->string, option_long_mr_format ? "%s = " : "%s=", var.name); } g_string_append(sd->string, var.display); parse_variable_free(&var); } } } static void stack_node_arguments(const ParseNode *node, G_GNUC_UNUSED gpointer gdata) { iff (node->type == PT_ARRAY, "stack-args: contains value") { GArray *nodes = (GArray *) node->value; const char *id = parse_find_value(nodes, "level"); nodes = parse_find_array(nodes, "args"); iff (id && nodes, "no level or args") { GtkTreeIter iter; iff (store_find(store, &iter, STACK_ID, id), "%s: level not found", id) { StackData sd; sd.string = g_string_sized_new(0xFF); scp_tree_store_get(store, &iter, STACK_ENTRY, &sd.entry, -1); parse_foreach(nodes, (GFunc) append_argument_variable, &sd); scp_tree_store_set(store, &iter, STACK_ARGS, sd.string->str, -1); g_string_free(sd.string, TRUE); } } } } void on_stack_arguments(GArray *nodes) { if (!g_strcmp0(parse_grab_token(nodes), thread_id)) parse_foreach(parse_lead_array(nodes), (GFunc) stack_node_arguments, NULL); } void on_stack_follow(GArray *nodes) { if (!g_strcmp0(parse_grab_token(nodes), thread_id)) { const char *id = parse_find_value(parse_lead_array(nodes), "level"); iff (id, "no level") { GtkTreeIter iter; iff (store_find(store, &iter, STACK_ID, id), "%s: level not found", id) utils_tree_set_cursor(selection, &iter, 0.5); } } } gboolean stack_entry(void) { GtkTreeIter iter; gboolean entry; gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, STACK_ENTRY, &entry, -1); return entry; } void stack_clear(void) { store_clear(store); } static void stack_send_update(char token) { debug_send_format(T, "0%c%s-stack-list-frames", token, thread_id); debug_send_format(T, "0%c%s-stack-list-arguments 1", token, thread_id); } gboolean stack_update(void) { stack_send_update('4'); return TRUE; } static void on_stack_selection_changed(GtkTreeSelection *selection, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) scp_tree_store_get(store, &iter, STACK_ID, &frame_id, -1); else frame_id = NULL; views_context_dirty(debug_state(), TRUE); } static void stack_seek_selected(gboolean focus) { view_seek_selected(selection, focus, SK_DEFAULT); } static void on_stack_refresh(G_GNUC_UNUSED const MenuItem *menu_item) { stack_send_update('2'); } static void on_stack_synchronize(const MenuItem *menu_item) { if (menu_item) thread_query_frame('2'); else if (frame_id) debug_send_format(T, "-stack-select-frame %s", frame_id); else plugin_blink(); } static void on_stack_unsorted(G_GNUC_UNUSED const MenuItem *menu_item) { scp_tree_store_set_sort_column_id(store, GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static void on_stack_view_source(G_GNUC_UNUSED const MenuItem *menu_item) { stack_seek_selected(FALSE); } gboolean stack_show_address; static void on_stack_show_address(const MenuItem *menu_item) { on_menu_update_boolean(menu_item); view_column_set_visible("stack_addr_column", stack_show_address); } typedef struct _EntryData { const char *func; gboolean entry; gint count; } EntryData; static void stack_iter_show_entry(GtkTreeIter *iter, EntryData *ed) { const char *func; scp_tree_store_get(store, iter, STACK_FUNC, &func, -1); if (func && !strcmp(func, ed->func)) { scp_tree_store_set(store, iter, STACK_ENTRY, ed->entry, -1); ed->count++; } } static void on_stack_show_entry(const MenuItem *menu_item) { EntryData ed = { NULL, gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menu_item->widget)), 0 }; GtkTreeIter iter; view_dirty(VIEW_LOCALS); gtk_tree_selection_get_selected(selection, NULL, &iter); scp_tree_store_get(store, &iter, STACK_FUNC, &ed.func, -1); parse_mode_update(ed.func, MODE_ENTRY, ed.entry); store_foreach(store, (GFunc) stack_iter_show_entry, &ed); if (ed.count == 1) { debug_send_format(T, "04%s-stack-list-arguments 1 %s %s", thread_id, frame_id, frame_id); } else debug_send_format(T, "04%s-stack-list-arguments 1", thread_id); } #define DS_VIEWABLE (DS_ACTIVE | DS_EXTRA_2) #define DS_ENTRABLE (DS_ACTIVE | DS_EXTRA_3) static MenuItem stack_menu_items[] = { { "stack_refresh", on_stack_refresh, DS_DEBUG, NULL, NULL }, { "stack_unsorted", on_stack_unsorted, 0, NULL, NULL }, { "stack_view_source", on_stack_view_source, DS_VIEWABLE, NULL, NULL }, { "stack_synchronize", on_stack_synchronize, DS_DEBUG, NULL, NULL }, { "stack_show_entry", on_stack_show_entry, DS_ENTRABLE, NULL, NULL }, { "stack_show_address", on_stack_show_address, 0, NULL, &stack_show_address }, { NULL, NULL, 0, NULL, NULL } }; static guint stack_menu_extra_state(void) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const char *file, *func; scp_tree_store_get(store, &iter, STACK_FILE, &file, STACK_FUNC, &func, -1); return ((file != NULL) << DS_INDEX_2) | ((func != NULL) << DS_INDEX_3); } return 0; } static MenuInfo stack_menu_info = { stack_menu_items, stack_menu_extra_state, 0 }; static void on_stack_menu_show(G_GNUC_UNUSED GtkWidget *widget, const MenuItem *menu_item) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { gboolean entry; scp_tree_store_get(store, &iter, STACK_ENTRY, &entry, -1); menu_item_set_active(menu_item, entry); } menu_item_set_active(menu_item + 1, stack_show_address); } static void on_stack_synchronize_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { menu_shift_button_release(widget, event, menu, on_stack_synchronize); } void stack_init(void) { GtkTreeView *tree = view_create("stack_view", &store, &selection); GtkWidget *menu = menu_select("stack_menu", &stack_menu_info, selection); view_set_sort_func(store, STACK_ID, store_gint_compare); view_set_sort_func(store, STACK_FILE, store_seek_compare); view_set_line_data_func("stack_line_column", "stack_line", STACK_LINE); gtk_widget_set_has_tooltip(GTK_WIDGET(tree), TRUE); g_signal_connect(tree, "query-tooltip", G_CALLBACK(on_view_query_base_tooltip), get_column("stack_base_name_column")); g_signal_connect(tree, "key-press-event", G_CALLBACK(on_view_key_press), stack_seek_selected); g_signal_connect(tree, "button-press-event", G_CALLBACK(on_view_button_1_press), stack_seek_selected); g_signal_connect(selection, "changed", G_CALLBACK(on_stack_selection_changed), NULL); g_signal_connect(menu, "show", G_CALLBACK(on_stack_menu_show), (gpointer) menu_item_find(stack_menu_items, "stack_show_entry")); g_signal_connect(get_widget("stack_synchronize"), "button-release-event", G_CALLBACK(on_stack_synchronize_button_release), menu); } geany-plugins-1.27/scope/src/watch.c0000644000175000017500000002360612671261352017701 0ustar00frlanfrlan00000000000000/* * watch.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "common.h" enum { WATCH_EXPR, WATCH_DISPLAY, WATCH_VALUE, WATCH_HB_MODE, WATCH_MR_MODE, WATCH_SCID, WATCH_ENABLED }; static ScpTreeStore *store; static GtkTreeSelection *selection; static gint scid_gen = 0; static void on_watch_enabled_toggled(G_GNUC_UNUSED GtkCellRendererToggle *renderer, gchar *path_str, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; gboolean enabled; scp_tree_store_get_iter_from_string(store, &iter, path_str); scp_tree_store_get(store, &iter, WATCH_ENABLED, &enabled, -1); scp_tree_store_set(store, &iter, WATCH_ENABLED, !enabled, -1); } static void watch_iter_update(GtkTreeIter *iter, gpointer gdata) { const gchar *expr; gint scid; gboolean enabled; scp_tree_store_get(store, iter, WATCH_EXPR, &expr, WATCH_SCID, &scid, WATCH_ENABLED, &enabled, -1); if (enabled || gdata) g_free(debug_send_evaluate('6', scid, expr)); } static void on_watch_expr_edited(G_GNUC_UNUSED GtkCellRendererText *renderer, gchar *path_str, gchar *new_text, G_GNUC_UNUSED gpointer gdata) { if (validate_column(new_text, TRUE)) { GtkTreeIter iter; const gchar *expr; gboolean enabled; scp_tree_store_get_iter_from_string(store, &iter, path_str); scp_tree_store_get(store, &iter, WATCH_EXPR, &expr, WATCH_ENABLED, &enabled, -1); if (strcmp(new_text, expr)) { scp_tree_store_set(store, &iter, WATCH_EXPR, new_text, WATCH_DISPLAY, NULL, WATCH_VALUE, NULL, WATCH_HB_MODE, parse_mode_get(new_text, MODE_HBIT), WATCH_MR_MODE, parse_mode_get(new_text, MODE_MEMBER), -1); if (enabled && (debug_state() & DS_DEBUG)) watch_iter_update(&iter, GINT_TO_POINTER(TRUE)); } } } static void on_watch_display_edited(G_GNUC_UNUSED GtkCellRendererText *renderer, gchar *path_str, gchar *new_text, G_GNUC_UNUSED gpointer gdata) { view_display_edited(store, debug_state() & DS_VARIABLE, path_str, "07-gdb-set var %s=%s", new_text); } static const TreeCell watch_cells[] = { { "watch_display", G_CALLBACK(on_watch_display_edited) }, { "watch_enabled", G_CALLBACK(on_watch_enabled_toggled) }, { "watch_expr", G_CALLBACK(on_watch_expr_edited) }, { NULL, NULL } }; static void watch_set(GArray *nodes, gchar *display, const char *value) { const char *token = parse_grab_token(nodes); GtkTreeIter iter; iff (store_find(store, &iter, WATCH_SCID, token), "%s: w_scid not found", token) { if (!display) { gint hb_mode, mr_mode; scp_tree_store_get(store, &iter, WATCH_HB_MODE, &hb_mode, WATCH_MR_MODE, &mr_mode, -1); display = parse_get_display_from_7bit(value, hb_mode, mr_mode); } scp_tree_store_set(store, &iter, WATCH_DISPLAY, display, WATCH_VALUE, value, -1); } g_free(display); } void on_watch_value(GArray *nodes) { watch_set(nodes, NULL, parse_lead_value(nodes)); } void on_watch_error(GArray *nodes) { watch_set(nodes, parse_get_error(nodes), NULL); } static void watch_iter_clear(GtkTreeIter *iter, G_GNUC_UNUSED gpointer gdata) { scp_tree_store_set(store, iter, WATCH_DISPLAY, NULL, WATCH_VALUE, NULL, -1); } void watches_clear(void) { store_foreach(store, (GFunc) watch_iter_clear, NULL); } gboolean watches_update(void) { if (view_frame_update()) return FALSE; store_foreach(store, (GFunc) watch_iter_update, NULL); return TRUE; } void watch_add(const gchar *text) { gchar *expr = dialogs_show_input("Add Watch", GTK_WINDOW(geany->main_widgets->window), "Watch expression:", text); if (validate_column(expr, TRUE)) { GtkTreeIter iter; scp_tree_store_append_with_values(store, &iter, NULL, WATCH_EXPR, expr, WATCH_HB_MODE, parse_mode_get(expr, MODE_HBIT), WATCH_MR_MODE, parse_mode_get(expr, MODE_MEMBER), WATCH_SCID, ++scid_gen, WATCH_ENABLED, TRUE, -1); utils_tree_set_cursor(selection, &iter, 0.5); if (debug_state() & DS_DEBUG) watch_iter_update(&iter, NULL); } g_free(expr); } static GObject *watch_display; void watches_update_state(DebugState state) { g_object_set(watch_display, "editable", (state & DS_VARIABLE) != 0, NULL); } void watches_delete_all(void) { store_clear(store); scid_gen = 0; } static gboolean watch_load(GKeyFile *config, const char *section) { gchar *expr = utils_key_file_get_string(config, section, "expr"); gint hb_mode = utils_get_setting_integer(config, section, "hbit", HB_DEFAULT); gint mr_mode = utils_get_setting_integer(config, section, "member", MR_DEFAULT); gboolean enabled = utils_get_setting_boolean(config, section, "enabled", TRUE); gboolean valid = FALSE; if (expr && (unsigned) hb_mode < HB_COUNT && (unsigned) mr_mode < MR_MODIFY) { scp_tree_store_append_with_values(store, NULL, NULL, WATCH_EXPR, expr, WATCH_HB_MODE, hb_mode, WATCH_MR_MODE, mr_mode, WATCH_SCID, ++scid_gen, WATCH_ENABLED, enabled, -1); valid = TRUE; } g_free(expr); return valid; } void watches_load(GKeyFile *config) { watches_delete_all(); utils_load(config, "watch", watch_load); } static gboolean watch_save(GKeyFile *config, const char *section, GtkTreeIter *iter) { const gchar *expr; gint hb_mode; gint mr_mode; gboolean enabled; scp_tree_store_get(store, iter, WATCH_EXPR, &expr, WATCH_HB_MODE, &hb_mode, WATCH_MR_MODE, &mr_mode, WATCH_ENABLED, &enabled, -1); g_key_file_set_string(config, section, "expr", expr); g_key_file_set_integer(config, section, "hbit", hb_mode); g_key_file_set_integer(config, section, "member", mr_mode); g_key_file_set_boolean(config, section, "enabled", enabled); return TRUE; } void watches_save(GKeyFile *config) { store_save(store, config, "watch", watch_save); } static void on_watch_refresh(G_GNUC_UNUSED const MenuItem *menu_item) { watches_update(); } static void on_watch_unsorted(G_GNUC_UNUSED const MenuItem *menu_item) { gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), WATCH_SCID, GTK_SORT_ASCENDING); } static void on_watch_add(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; const gchar *expr = NULL; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) scp_tree_store_get(store, &iter, WATCH_EXPR, &expr, -1); watch_add(expr); } static void on_watch_copy(const MenuItem *menu_item) { menu_copy(selection, menu_item); } static void on_watch_modify(const MenuItem *menu_item) { menu_modify(selection, menu_item); } static void on_watch_inspect(G_GNUC_UNUSED const MenuItem *menu_item) { menu_inspect(selection); } static void on_watch_hbit_display(const MenuItem *menu_item) { menu_hbit_display(selection, menu_item); } static void on_watch_hbit_update(const MenuItem *menu_item) { menu_hbit_update(selection, menu_item); } static void on_watch_mr_mode(const MenuItem *menu_item) { menu_mber_update(selection, menu_item); } static void on_watch_delete(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) scp_tree_store_remove(store, &iter); } #define DS_COPYABLE (DS_BASICS | DS_EXTRA_1) #define DS_MODIFYABLE (DS_VARIABLE | DS_EXTRA_1) #define DS_INSPECTABLE (DS_NOT_BUSY | DS_EXTRA_1) #define DS_REPARSABLE (DS_BASICS | DS_EXTRA_1) #define DS_DELETABLE (DS_BASICS | DS_EXTRA_1) static MenuItem watch_menu_items[] = { { "watch_refresh", on_watch_refresh, DS_VARIABLE, NULL, NULL }, { "watch_unsorted", on_watch_unsorted, 0, NULL, NULL }, { "watch_add", on_watch_add, 0, NULL, NULL }, { "watch_copy", on_watch_copy, DS_COPYABLE, NULL, NULL }, { "watch_modify", on_watch_modify, DS_MODIFYABLE, NULL, NULL }, { "watch_inspect", on_watch_inspect, DS_INSPECTABLE, NULL, NULL }, MENU_HBIT_ITEMS(watch), { "watch_mr_mode", on_watch_mr_mode, DS_REPARSABLE, NULL, NULL }, { "watch_delete", on_watch_delete, DS_DELETABLE, NULL, NULL }, { NULL, NULL, 0, NULL, NULL } }; static guint watch_menu_extra_state(void) { return gtk_tree_selection_get_selected(selection, NULL, NULL) << DS_INDEX_1; } static MenuInfo watch_menu_info = { watch_menu_items, watch_menu_extra_state, 0 }; static gboolean on_watch_key_press(G_GNUC_UNUSED GtkWidget *widget, GdkEventKey *event, G_GNUC_UNUSED gpointer gdata) { return menu_insert_delete(event, &watch_menu_info, "watch_add", "watch_delete"); } static void on_watch_menu_show(G_GNUC_UNUSED GtkWidget *widget, G_GNUC_UNUSED gpointer gdata) { menu_mber_display(selection, menu_item_find(watch_menu_items, "watch_mr_mode")); } static void on_watch_modify_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { menu_shift_button_release(widget, event, menu, on_watch_modify); } static void on_watch_mr_mode_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { menu_mber_button_release(selection, widget, event, menu); } void watch_init(void) { GtkTreeView *tree = view_connect("watch_view", &store, &selection, watch_cells, "watch_window", &watch_display); GtkWidget *menu = menu_select("watch_menu", &watch_menu_info, selection); g_signal_connect(tree, "key-press-event", G_CALLBACK(on_watch_key_press), NULL); g_signal_connect(menu, "show", G_CALLBACK(on_watch_menu_show), NULL); g_signal_connect(get_widget("watch_modify"), "button-release-event", G_CALLBACK(on_watch_modify_button_release), menu); g_signal_connect(get_widget("watch_mr_mode"), "button-release-event", G_CALLBACK(on_watch_mr_mode_button_release), menu); } geany-plugins-1.27/scope/src/utils.h0000644000175000017500000001103412671261352017730 0ustar00frlanfrlan00000000000000/* * utils.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef UTILS_H #define show_error(...) dialogs_show_msgbox(GTK_MESSAGE_ERROR, __VA_ARGS__) void show_errno(const char *prefix); gboolean utils_set_nonblock(GPollFD *fd); void utils_handle_button_press(GtkWidget *widget, GdkEventButton *event); void utils_handle_button_release(GtkWidget *widget, GdkEventButton *event); gboolean utils_check_path(const char *pathname, gboolean file, int mode); /* "" ok */ const gchar *utils_skip_spaces(const gchar *text); void utils_strchrepl(char *text, char c, char repl); #define iff(expr, ...) if (G_UNLIKELY(!(expr))) dc_error(__VA_ARGS__); else #define utils_atoi0(s) ((s) ? atoi(s) : 0) /* note: 2 references to s */ gboolean store_find(ScpTreeStore *store, GtkTreeIter *iter, guint column, const char *key); void store_foreach(ScpTreeStore *store, GFunc each_func, gpointer gdata); void store_save(ScpTreeStore *store, GKeyFile *config, const char *prefix, gboolean (*save_func)(GKeyFile *config, const char *section, GtkTreeIter *iter)); gint store_gint_compare(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, gpointer gdata); gint store_seek_compare(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, gpointer gdata); #define store_clear(store) scp_tree_store_clear_children((store), NULL, FALSE) void utils_load(GKeyFile *config, const char *prefix, gboolean (*load_func)(GKeyFile *config, const char *section)); void utils_stash_group_free(StashGroup *group); typedef enum _SeekerType { SK_EXECUTE, /* if opening a file, mark it "scope open" */ SK_EXEC_MARK, /* set marker execute if file already open */ SK_DEFAULT } SeekerType; extern const char *const SCOPE_OPEN; extern const char *const SCOPE_LOCK; #define MARKER_BREAKPT (pref_sci_marker_first + 0) /* disabled bp, +1 is enabled */ #define MARKER_EXECUTE (pref_sci_marker_first + 2) void utils_seek(const char *file, gint line, gboolean focus, SeekerType seeker); void utils_mark(const char *file, gint line, gboolean mark, gint marker); gboolean utils_source_filetype(GeanyFiletype *ft); gboolean utils_source_document(GeanyDocument *doc); /* also (un)mark current line */ void utils_lock(GeanyDocument *doc); void utils_unlock(GeanyDocument *doc); void utils_lock_unlock(GeanyDocument *doc, gboolean lock); void utils_lock_all(gboolean lock); #define utils_attrib(doc, attrib) (g_object_get_data(G_OBJECT((doc)->editor->sci), (attrib))) #define utils_current_line(doc) (sci_get_current_line((doc)->editor->sci) + 1) void utils_move_mark(ScintillaObject *sci, gint line, gint start, gint delta, gint marker); void utils_remark(GeanyDocument *doc); /* NULL -> nop */ guint utils_parse_sci_color(const gchar *string); gboolean utils_key_file_write_to_file(GKeyFile *config, const char *configfile); gchar *utils_key_file_get_string(GKeyFile *config, const char *section, const char *key); gchar *utils_get_utf8_basename(const char *file); char *utils_7bit_to_locale(char *text); /* == text */ char *utils_get_locale_from_7bit(const char *text); char *utils_get_locale_from_display(const gchar *display, gint hb_mode); gchar *utils_get_display_from_7bit(const char *text, gint hb_mode); gchar *utils_get_display_from_locale(const char *locale, gint hb_mode); gchar *utils_verify_selection(gchar *text); gchar *utils_get_default_selection(void); /* +verify */ gboolean utils_matches_frame(const char *token); enum { VALIDATOR_NUMERIC, VALIDATOR_NOSPACE, VALIDATOR_VARFRAME }; void validator_attach(GtkEditable *editable, gint validator); gchar *validate_column(gchar *text, gboolean string); GtkWidget *dialog_connect(const char *name); gchar *utils_text_buffer_get_text(GtkTextBuffer *text, gint maxlen); void utils_enter_to_clicked(GtkWidget *widget, GtkWidget *button); void utils_tree_set_cursor(GtkTreeSelection *selection, GtkTreeIter *iter, gdouble alignment); void utils_init(void); void utils_finalize(void); #define UTILS_H 1 #endif geany-plugins-1.27/scope/src/thread.c0000644000175000017500000005234112671261352020040 0ustar00frlanfrlan00000000000000/* * thread.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #define _WIN32_WINNT 0x0501 /* for DebugBreakProcess(), must be before any #include-s */ #include #include #include #include #include "common.h" #ifdef G_OS_UNIX #include #else #include #include #endif enum { GROUP_ID, GROUP_PID }; static ScpTreeStore *groups; void on_thread_group_started(GArray *nodes) { const char *gid = parse_lead_value(nodes); const char *pid = parse_find_value(nodes, "pid"); ui_set_statusbar(TRUE, _("Thread group %s started."), pid ? pid : gid); iff (pid, "no pid") { GtkTreeIter iter; iff (store_find(groups, &iter, GROUP_ID, gid), "%s: gid not found", gid) scp_tree_store_set(groups, &iter, GROUP_PID, pid, -1); } } void on_thread_group_exited(GArray *nodes) { const char *gid = parse_lead_value(nodes); const char *exit_code = parse_find_value(nodes, "exit-code"); GString *status = g_string_new(_("Thread group ")); GtkTreeIter iter; if (store_find(groups, &iter, GROUP_ID, gid)) { const char *pid; scp_tree_store_get(groups, &iter, GROUP_PID, &pid, -1); if (pid) { g_string_append(status, pid); scp_tree_store_set(groups, &iter, GROUP_PID, NULL, -1); } } else { dc_error("%s: gid not found", gid); g_string_append(status, gid); } g_string_append(status, _(" exited")); if (exit_code) { g_string_append_printf(status, _(" with exit code %s"), exit_code); #ifdef G_OS_UNIX if (terminal_show_on_error) terminal_standalone(TRUE); #endif } ui_set_statusbar(TRUE, _("%s."), status->str); g_string_free(status, TRUE); } void on_thread_group_added(GArray *nodes) { GtkTreeIter iter; scp_tree_store_append(groups, &iter, NULL); scp_tree_store_set(groups, &iter, GROUP_ID, parse_lead_value(nodes), -1); } void on_thread_group_removed(GArray *nodes) { const char *gid = parse_lead_value(nodes); GtkTreeIter iter; iff (store_find(groups, &iter, GROUP_ID, gid), "%s: gid not found", gid) scp_tree_store_remove(groups, &iter); } enum { THREAD_ID, THREAD_FILE, THREAD_LINE, THREAD_PID, THREAD_GROUP_ID, THREAD_STATE, THREAD_BASE_NAME, THREAD_FUNC, THREAD_ADDR, THREAD_TARGET_ID, THREAD_CORE }; static gint thread_ident_compare(ScpTreeStore *store, GtkTreeIter *a, GtkTreeIter *b, gpointer gdata) { const char *s1, *s2; scp_tree_store_get(store, a, GPOINTER_TO_INT(gdata), &s1, -1); scp_tree_store_get(store, b, GPOINTER_TO_INT(gdata), &s2, -1); if (s1 && s2) { const char *p1, *p2; for (p1 = s1; *p1 && !isdigit(*p1); p1++); for (p2 = s2; *p2 && !isdigit(*p2); p2++); if (p1 - s1 == p2 - s2 && !memcmp(s1, s2, p1 - s1)) return atoi(p1) - atoi(p2); } return g_strcmp0(s1, s2); } static ScpTreeStore *store; static GtkTreeSelection *selection; static gboolean find_thread(const char *tid, GtkTreeIter *iter) { if (G_LIKELY(store_find(store, iter, THREAD_ID, tid))) return TRUE; dc_error("%s: tid not found", tid); return FALSE; } static const gchar *RUNNING; static const gchar *STOPPED; static void auto_select_thread(void) { GtkTreeIter iter; if (store_find(store, &iter, THREAD_STATE, STOPPED)) { utils_tree_set_cursor(selection, &iter, -1); view_seek_selected(selection, FALSE, SK_EXECUTE); } } guint thread_count = 0; const char *thread_id = NULL; ThreadState thread_state = THREAD_BLANK; guint thread_prompt = 0; const char *thread_group_id(void) { GtkTreeIter iter; const char *gid = NULL; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) scp_tree_store_get(store, &iter, THREAD_GROUP_ID, &gid, -1); return gid; } static void thread_iter_unmark(GtkTreeIter *iter, gpointer gdata) { const char *file; const gchar *state; gint line; gboolean stopped; scp_tree_store_get(store, iter, THREAD_FILE, &file, THREAD_LINE, &line, THREAD_STATE, &state, -1); stopped = !strcmp(state, STOPPED); thread_prompt += gdata ? -stopped : !stopped; if (GPOINTER_TO_INT(gdata) != 2) utils_mark(file, line, FALSE, MARKER_EXECUTE); } static void thread_iter_running(GtkTreeIter *iter, const char *tid) { thread_iter_unmark(iter, GINT_TO_POINTER(TRUE + pref_keep_exec_point)); scp_tree_store_set(store, iter, THREAD_STATE, RUNNING, pref_keep_exec_point ? -1 : THREAD_FILE, NULL, THREAD_LINE, 0, THREAD_BASE_NAME, NULL, THREAD_FUNC, NULL, THREAD_ADDR, NULL, THREAD_CORE, NULL, -1); if (thread_id) { if (!tid) scp_tree_store_get(store, iter, THREAD_ID, &tid, -1); if (!strcmp(tid, thread_id)) thread_state = THREAD_RUNNING; } } gboolean thread_select_on_running; gboolean thread_select_on_stopped; gboolean thread_select_on_exited; gboolean thread_select_follow; void on_thread_running(GArray *nodes) { const char *tid = parse_find_value(nodes, "thread-id"); iff (tid, "no tid") { gboolean was_stopped = thread_state >= THREAD_STOPPED; if (!strcmp(tid, "all")) store_foreach(store, (GFunc) thread_iter_running, NULL); else { GtkTreeIter iter; if (find_thread(tid, &iter)) thread_iter_running(&iter, tid); } if (thread_select_on_running && was_stopped && thread_state == THREAD_RUNNING) auto_select_thread(); } } static void thread_parse_extra(GArray *nodes, GtkTreeIter *iter, const char *name, int column) { const char *value = parse_find_value(nodes, name); if (value) scp_tree_store_set(store, iter, column, value, -1); } static void thread_parse_frame(GArray *frame, const char *tid, GtkTreeIter *iter) { ParseLocation loc; parse_location(frame, &loc); if (!loc.addr) loc.addr = "??"; thread_iter_unmark(iter, NULL); scp_tree_store_set(store, iter, THREAD_FILE, loc.file, THREAD_LINE, loc.line, THREAD_STATE, STOPPED, THREAD_BASE_NAME, loc.base_name, THREAD_FUNC, loc.func, THREAD_ADDR, loc.addr, -1); if (!g_strcmp0(tid, thread_id)) { if (loc.line) { thread_state = THREAD_AT_SOURCE; utils_seek(loc.file, loc.line, FALSE, SK_EXEC_MARK); } else { thread_state = THREAD_AT_ASSEMBLER; view_dirty(VIEW_CONSOLE); } } else utils_mark(loc.file, loc.line, TRUE, MARKER_EXECUTE); parse_location_free(&loc); } typedef struct _StopData { const char *tid; GtkTreeIter iter; gboolean found; } StopData; static void thread_iter_stopped(GtkTreeIter *iter, StopData *sd) { const char *tid = sd->tid, *addr; const gchar *state; scp_tree_store_get(store, iter, THREAD_STATE, &state, THREAD_ADDR, &addr, tid ? -1 : THREAD_ID, &tid, -1); if (strcmp(state, STOPPED)) thread_prompt++; scp_tree_store_set(store, iter, THREAD_STATE, STOPPED, -1); if (!g_strcmp0(tid, thread_id)) { if (!addr) thread_state = THREAD_QUERY_FRAME; views_data_dirty(DS_BUSY); } else if (!addr) view_dirty(VIEW_THREADS); if (!sd->found) { sd->iter = *iter; sd->found = TRUE; } } static void thread_node_stopped(const ParseNode *node, StopData *sd) { iff (node->type == PT_VALUE, "stopped-threads: contains array") { GtkTreeIter iter; sd->tid = (const char *) node->value; if (find_thread(sd->tid, &iter)) thread_iter_stopped(&iter, sd); } } void on_thread_stopped(GArray *nodes) { extern gint break_async; const char *tid = parse_find_value(nodes, "thread-id"); const ParseNode *stopped = parse_find_node(nodes, "stopped-threads"); StopData sd; if (tid) { sd.found = find_thread(tid, &sd.iter); if (sd.found) { GArray *frame = parse_find_array(nodes, "frame"); if (frame) thread_parse_frame(frame, tid, &sd.iter); thread_parse_extra(nodes, &sd.iter, "core", THREAD_CORE); } } else { dc_error("no tid"); sd.found = FALSE; } iff (stopped, "no stopped") { sd.tid = NULL; if (stopped->type == PT_VALUE) { const char *tid = (const char *) stopped->value; if (!strcmp(tid, "all")) store_foreach(store, (GFunc) thread_iter_stopped, &sd); else { GtkTreeIter iter; if (find_thread(tid, &iter)) { sd.tid = tid; thread_iter_stopped(&iter, &sd); } } } else parse_foreach((GArray *) stopped->value, (GFunc) thread_node_stopped, &sd); } if (thread_select_on_stopped && thread_state <= THREAD_RUNNING && sd.found) { utils_tree_set_cursor(selection, &sd.iter, -1); view_seek_selected(selection, FALSE, SK_EXECUTE); } if (!g_strcmp0(parse_find_value(nodes, "reason"), "signal-received")) plugin_blink(); if (break_async < TRUE) view_dirty(VIEW_BREAKS); } static char *gdb_thread = NULL; static void set_gdb_thread(const char *tid, gboolean select) { g_free(gdb_thread); gdb_thread = g_strdup(tid); if (select) { GtkTreeIter iter; if (find_thread(gdb_thread, &iter)) utils_tree_set_cursor(selection, &iter, -1); } } void on_thread_created(GArray *nodes) { const char *tid = parse_find_value(nodes, "id"); const char *gid = parse_find_value(nodes, "group-id"); if (!thread_count++) { /* startup */ breaks_reset(); registers_show(TRUE); #ifdef G_OS_UNIX terminal_clear(); if (terminal_auto_show) terminal_standalone(TRUE); #endif if (option_open_panel_on_start) open_debug_panel(); } iff (tid, "no tid") { GtkTreeIter iter; const char *pid = NULL; iff (gid, "no gid") iff (store_find(groups, &iter, GROUP_ID, gid), "%s: gid not found", gid) scp_tree_store_get(groups, &iter, GROUP_PID, &pid, -1); scp_tree_store_append_with_values(store, &iter, NULL, THREAD_ID, tid, THREAD_STATE, "", THREAD_GROUP_ID, gid, THREAD_PID, pid, -1); debug_send_format(N, "04-thread-info %s", tid); if (thread_count == 1) set_gdb_thread(tid, TRUE); } } void on_thread_exited(GArray *nodes) { const char *tid = parse_find_value(nodes, "id"); iff (tid, "no tid") { GtkTreeIter iter; if (!g_strcmp0(tid, gdb_thread)) set_gdb_thread(NULL, FALSE); if (find_thread(tid, &iter)) { gboolean was_selected = !g_strcmp0(tid, thread_id); thread_iter_unmark(&iter, GINT_TO_POINTER(TRUE)); scp_tree_store_remove(store, &iter); if (was_selected && thread_select_on_exited) auto_select_thread(); } } iff (thread_count, "extra exit") { if (!--thread_count) { /* shutdown */ registers_show(FALSE); #ifdef G_OS_UNIX if (terminal_auto_hide) terminal_standalone(FALSE); #endif on_debug_auto_exit(); } } } void on_thread_selected(GArray *nodes) { set_gdb_thread(parse_lead_value(nodes), thread_select_follow); } static void thread_parse(GArray *nodes, const char *tid, gboolean stopped) { GtkTreeIter iter; if (find_thread(tid, &iter)) { if (stopped) { GArray *frame = parse_find_array(nodes, "frame"); iff (frame, "no frame") thread_parse_frame(frame, tid, &iter); } else { const gchar *state; scp_tree_store_get(store, &iter, THREAD_STATE, &state, -1); if (strcmp(state, RUNNING)) thread_iter_running(&iter, tid); } thread_parse_extra(nodes, &iter, "target-id", THREAD_TARGET_ID); thread_parse_extra(nodes, &iter, "core", THREAD_CORE); } } static void thread_node_parse(const ParseNode *node, G_GNUC_UNUSED gpointer gdata) { iff (node->type == PT_ARRAY, "threads: contains value") { GArray *nodes = (GArray *) node->value; const char *tid = parse_find_value(nodes, "id"); const char *state = parse_find_value(nodes, "state"); iff (tid && state, "no tid or state") thread_parse(nodes, tid, strcmp(state, "running")); } } static const char *thread_info_parse(GArray *nodes, gboolean select) { const char *tid = parse_find_value(nodes, "current-thread-id"); parse_foreach(parse_lead_array(nodes), (GFunc) thread_node_parse, NULL); if (tid) set_gdb_thread(tid, select); return tid; } void on_thread_info(GArray *nodes) { thread_info_parse(nodes, thread_select_follow); } void on_thread_follow(GArray *nodes) { if (!thread_info_parse(nodes, TRUE)) dc_error("no current tid"); } void on_thread_frame(GArray *nodes) { thread_parse(nodes, parse_grab_token(nodes), TRUE); } static void thread_iter_mark(GtkTreeIter *iter, GeanyDocument *doc) { const char *file; gint line; scp_tree_store_get(store, iter, THREAD_FILE, &file, THREAD_LINE, &line, -1); if (line && !utils_filenamecmp(file, doc->real_path)) sci_set_marker_at_line(doc->editor->sci, line - 1, MARKER_EXECUTE); } void threads_mark(GeanyDocument *doc) { if (doc->real_path) store_foreach(store, (GFunc) thread_iter_mark, doc); } void threads_clear(void) { store_foreach(store, (GFunc) thread_iter_unmark, GINT_TO_POINTER(TRUE)); store_clear(groups); store_clear(store); set_gdb_thread(NULL, FALSE); thread_count = 0; } void threads_delta(ScintillaObject *sci, const char *real_path, gint start, gint delta) { GtkTreeIter iter; gboolean valid = scp_tree_store_get_iter_first(store, &iter); while (valid) { const char *file; gint line; scp_tree_store_get(store, &iter, THREAD_FILE, &file, THREAD_LINE, &line, -1); if (--line >= 0 && start <= line && !utils_filenamecmp(file, real_path)) utils_move_mark(sci, line, start, delta, MARKER_EXECUTE); valid = scp_tree_store_iter_next(store, &iter); } } gboolean threads_update(void) { debug_send_command(N, "04-thread-info"); return TRUE; } void thread_query_frame(char token) { debug_send_format(T, "0%c%s-stack-info-frame", token, thread_id); } void thread_synchronize(void) { if (thread_id && g_strcmp0(thread_id, gdb_thread)) debug_send_format(N, "04-thread-select %s", thread_id); } static void on_thread_selection_changed(GtkTreeSelection *selection, G_GNUC_UNUSED gpointer gdata) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const gchar *state; gint line; const char *addr; scp_tree_store_get(store, &iter, THREAD_ID, &thread_id, THREAD_STATE, &state, THREAD_LINE, &line, THREAD_ADDR, &addr, -1); if (strcmp(state, STOPPED)) { thread_state = *state ? THREAD_RUNNING : THREAD_BLANK; } else if (addr) { if (line) thread_state = THREAD_AT_SOURCE; else { thread_state = THREAD_AT_ASSEMBLER; view_dirty(VIEW_CONSOLE); } } else { thread_state = THREAD_STOPPED; if (debug_state() & DS_DEBUG) thread_query_frame('4'); else thread_state = THREAD_QUERY_FRAME; } frame_id = "0"; } else { thread_id = frame_id = NULL; thread_state = THREAD_BLANK; } views_data_dirty(debug_state()); update_state(debug_state()); /* may be a different state */ } static void thread_seek_selected(gboolean focus) { view_seek_selected(selection, focus, SK_DEFAULT); } static void on_thread_refresh(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_command(N, "-thread-info"); } static void on_thread_unsorted(G_GNUC_UNUSED const MenuItem *menu_item) { scp_tree_store_set_sort_column_id(store, GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); } static void on_thread_view_source(G_GNUC_UNUSED const MenuItem *menu_item) { thread_seek_selected(FALSE); } static void on_thread_synchronize(const MenuItem *menu_item) { if (menu_item) debug_send_command(N, "02-thread-info"); else if (thread_id) debug_send_format(N, "-thread-select %s", thread_id); else plugin_blink(); } #ifdef G_OS_UNIX static void send_signal(int sig) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const char *pid; scp_tree_store_get(store, &iter, THREAD_PID, &pid, -1); if (kill(atoi(pid), sig) == -1) show_errno("kill(pid)"); } else plugin_beep(); } static void on_thread_interrupt(G_GNUC_UNUSED const MenuItem *menu_item) { send_signal(SIGINT); /* -exec-interrupt signals geany/scope */ } static void on_thread_terminate(G_GNUC_UNUSED const MenuItem *menu_item) { send_signal(SIGTERM); } #ifndef NSIG #define NSIG 0xFF #endif static void on_thread_send_signal(G_GNUC_UNUSED const MenuItem *menu_item) { gdouble value = 1; if (dialogs_show_input_numeric(_("Send Signal"), _("Enter signal #:"), &value, 1, NSIG, 1)) { send_signal(value); } } #else /* G_OS_UNIX */ static HANDLE iter_to_handle(GtkTreeIter *iter) { const char *pid; HANDLE hid; scp_tree_store_get(store, iter, THREAD_PID, &pid, -1); hid = OpenProcess(PROCESS_ALL_ACCESS, FALSE, atoi(pid)); if (!hid) show_errno("OpenProcess"); return hid; } static void on_thread_interrupt(G_GNUC_UNUSED const MenuItem *menu_item) { GtkTreeIter iter; HANDLE hid; gtk_tree_selection_get_selected(selection, NULL, &iter); hid = iter_to_handle(&iter); if (hid) { if (!DebugBreakProcess(hid)) show_errno("DebugBreakProcess"); CloseHandle(hid); } } static void on_thread_terminate(G_GNUC_UNUSED const MenuItem *menu_item) { gdouble value = 1; if (dialogs_show_input_numeric(_("Terminate Process"), _("Enter exit code:"), &value, 1, UINT_MAX, 1)) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { HANDLE hid = iter_to_handle(&iter); if (hid) { if (!TerminateProcess(hid, value)) show_errno("TerminateProcess"); CloseHandle(hid); } } else plugin_beep(); } } #endif /* G_OS_UNIX */ gboolean thread_show_group; static void on_thread_show_group(const MenuItem *menu_item) { on_menu_update_boolean(menu_item); view_column_set_visible("thread_group_id_column", thread_show_group); } gboolean thread_show_core; static void on_thread_show_core(const MenuItem *menu_item) { on_menu_update_boolean(menu_item); view_column_set_visible("thread_core_column", thread_show_core); } #define DS_VIEWABLE (DS_ACTIVE | DS_EXTRA_2) #define DS_SIGNABLE (DS_ACTIVE | DS_EXTRA_3) static MenuItem thread_menu_items[] = { { "thread_refresh", on_thread_refresh, DS_SENDABLE, NULL, NULL }, { "thread_unsorted", on_thread_unsorted, 0, NULL, NULL }, { "thread_view_source", on_thread_view_source, DS_VIEWABLE, NULL, NULL }, { "thread_synchronize", on_thread_synchronize, DS_SENDABLE, NULL, NULL }, { "thread_interrupt", on_thread_interrupt, DS_SIGNABLE, NULL, NULL }, { "thread_terminate", on_thread_terminate, DS_SIGNABLE, NULL, NULL }, #ifdef G_OS_UNIX { "thread_send_signal", on_thread_send_signal, DS_SIGNABLE, NULL, NULL }, #endif { "thread_auto_select", on_menu_display_booleans, 0, NULL, GINT_TO_POINTER(4) }, { "thread_select_on_running", on_menu_update_boolean, 0, NULL, &thread_select_on_running }, { "thread_select_on_stopped", on_menu_update_boolean, 0, NULL, &thread_select_on_stopped }, { "thread_select_on_exited", on_menu_update_boolean, 0, NULL, &thread_select_on_exited }, { "thread_select_follow", on_menu_update_boolean, 0, NULL, &thread_select_follow }, { "thread_show_columns", on_menu_display_booleans, 0, NULL, GINT_TO_POINTER(2) }, { "thread_show_group", on_thread_show_group, 0, NULL, &thread_show_group }, { "thread_show_core", on_thread_show_core, 0, NULL, &thread_show_core }, { NULL, NULL, 0, NULL, NULL } }; static guint thread_menu_extra_state(void) { GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, NULL, &iter)) { const char *pid, *file; scp_tree_store_get(store, &iter, THREAD_PID, &pid, THREAD_FILE, &file, -1); return ((file != NULL) << DS_INDEX_2) | ((utils_atoi0(pid) > 0) << DS_INDEX_3); } return 0; } static MenuInfo thread_menu_info = { thread_menu_items, thread_menu_extra_state, 0 }; static void on_thread_synchronize_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { menu_shift_button_release(widget, event, menu, on_thread_synchronize); } void thread_init(void) { GtkTreeView *tree = view_create("thread_view", &store, &selection); GtkWidget *menu = menu_select("thread_menu", &thread_menu_info, selection); view_set_sort_func(store, THREAD_ID, store_gint_compare); view_set_sort_func(store, THREAD_FILE, store_seek_compare); view_set_line_data_func("thread_line_column", "thread_line", THREAD_LINE); view_set_sort_func(store, THREAD_PID, thread_ident_compare); view_set_sort_func(store, THREAD_GROUP_ID, thread_ident_compare); view_set_sort_func(store, THREAD_TARGET_ID, thread_ident_compare); gtk_widget_set_has_tooltip(GTK_WIDGET(tree), TRUE); g_signal_connect(tree, "query-tooltip", G_CALLBACK(on_view_query_base_tooltip), get_column("thread_base_name_column")); groups = SCP_TREE_STORE(get_object("thread_group_store")); scp_tree_store_set_sort_column_id(groups, GROUP_ID, GTK_SORT_ASCENDING); RUNNING = _("Running"); STOPPED = _("Stopped"); g_signal_connect(tree, "key-press-event", G_CALLBACK(on_view_key_press), thread_seek_selected); g_signal_connect(tree, "button-press-event", G_CALLBACK(on_view_button_1_press), thread_seek_selected); g_signal_connect(selection, "changed", G_CALLBACK(on_thread_selection_changed), NULL); g_signal_connect(get_widget("thread_synchronize"), "button-release-event", G_CALLBACK(on_thread_synchronize_button_release), menu); #ifndef G_OS_UNIX gtk_widget_hide(get_widget("thread_send_signal")); #endif } void thread_finalize(void) { store_foreach(store, (GFunc) thread_iter_unmark, NULL); set_gdb_thread(NULL, FALSE); } geany-plugins-1.27/scope/src/plugme.c0000644000175000017500000001422012671261352020054 0ustar00frlanfrlan00000000000000/* * plugme.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "geanyplugin.h" extern GeanyData *geany_data; /* This file must not depend on Scope */ #include "plugme.h" static gchar *run_file_chooser(const gchar *title, GtkFileChooserAction action, const gchar *utf8_path) { GtkWidget *dialog = gtk_file_chooser_dialog_new(title, GTK_WINDOW(geany->main_widgets->window), action, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_OK, NULL); gchar *locale_path; gchar *ret_path = NULL; gtk_widget_set_name(dialog, "GeanyDialog"); locale_path = utils_get_locale_from_utf8(utf8_path); if (action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) { if (g_path_is_absolute(locale_path) && g_file_test(locale_path, G_FILE_TEST_IS_DIR)) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), locale_path); } else if (action == GTK_FILE_CHOOSER_ACTION_OPEN) { if (g_path_is_absolute(locale_path)) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), locale_path); } g_free(locale_path); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { gchar *dir_locale; dir_locale = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); ret_path = utils_get_utf8_from_locale(dir_locale); g_free(dir_locale); } gtk_widget_destroy(dialog); return ret_path; } static void ui_path_box_open_clicked(G_GNUC_UNUSED GtkButton *button, gpointer user_data) { GtkWidget *path_box = GTK_WIDGET(user_data); GtkFileChooserAction action = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(path_box), "action")); GtkEntry *entry = g_object_get_data(G_OBJECT(path_box), "entry"); const gchar *title = g_object_get_data(G_OBJECT(path_box), "title"); gchar *utf8_path = NULL; /* TODO: extend for other actions */ g_return_if_fail(action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER || action == GTK_FILE_CHOOSER_ACTION_OPEN); if (title == NULL) title = (action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) ? _("Select Folder") : _("Select File"); if (action == GTK_FILE_CHOOSER_ACTION_OPEN) { utf8_path = run_file_chooser(title, action, gtk_entry_get_text(GTK_ENTRY(entry))); } else if (action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER) { gchar *path = g_path_get_dirname(gtk_entry_get_text(GTK_ENTRY(entry))); utf8_path = run_file_chooser(title, action, path); g_free(path); } if (utf8_path != NULL) { gtk_entry_set_text(GTK_ENTRY(entry), utf8_path); g_free(utf8_path); } } /* Setup a GtkButton to run a GtkFileChooser, setting entry text if successful. * title can be NULL. * action is the file chooser mode to use. */ void plugme_ui_setup_open_button_callback(GtkWidget *open_btn, const gchar *title, GtkFileChooserAction action, GtkEntry *entry) { GtkWidget *path_entry = GTK_WIDGET(entry); if (title) g_object_set_data_full(G_OBJECT(open_btn), "title", g_strdup(title), (GDestroyNotify) g_free); g_object_set_data(G_OBJECT(open_btn), "action", GINT_TO_POINTER(action)); ui_hookup_widget(open_btn, path_entry, "entry"); g_signal_connect(open_btn, "clicked", G_CALLBACK(ui_path_box_open_clicked), open_btn); } /* Note: this is NOT the Geany function, only similar */ gchar *plugme_editor_get_default_selection(GeanyEditor *editor, gboolean use_current_word, const gchar *wordchars) { ScintillaObject *sci = editor->sci; gchar *text = NULL; if (sci_has_selection(sci)) { if (sci_get_selected_text_length(sci) < GEANY_MAX_WORD_LENGTH) { text = sci_get_selection_contents(sci); if (strchr(text, '\n') != NULL) *strchr(text, '\n') = '\0'; } } else if (use_current_word) text = editor_get_word_at_pos(editor, sci_get_current_position(sci), wordchars); return text; } static void on_config_file_clicked(G_GNUC_UNUSED GtkWidget *widget, gpointer user_data) { const gchar *file_name = user_data; GeanyFiletype *ft = NULL; if (strstr(file_name, G_DIR_SEPARATOR_S "filetypes.")) ft = filetypes_index(GEANY_FILETYPES_CONF); if (g_file_test(file_name, G_FILE_TEST_EXISTS)) document_open_file(file_name, FALSE, ft, NULL); else { gchar *utf8_filename = utils_get_utf8_from_locale(file_name); gchar *base_name = g_path_get_basename(file_name); gchar *global_file = g_build_filename(geany->app->datadir, base_name, NULL); gchar *global_content = NULL; /* if the requested file doesn't exist in the user's config dir, try loading the file * from the global data directory and use its contents for the newly created file */ if (g_file_test(global_file, G_FILE_TEST_EXISTS)) g_file_get_contents(global_file, &global_content, NULL, NULL); document_new_file(utf8_filename, ft, global_content); g_free(utf8_filename); g_free(base_name); g_free(global_file); g_free(global_content); } } static void free_on_closure_notify(gpointer data, G_GNUC_UNUSED GClosure *closure) { g_free(data); } GtkWidget *plugme_ui_add_config_file_menu_item(const gchar *real_path, const gchar *label, GtkContainer *parent) { GtkWidget *item; if (!parent) { item = ui_lookup_widget(geany->main_widgets->window, "configuration_files1"); parent = GTK_CONTAINER(gtk_menu_item_get_submenu(GTK_MENU_ITEM(item))); } if (!label) { gchar *base_name; base_name = g_path_get_basename(real_path); item = gtk_menu_item_new_with_label(base_name); g_free(base_name); } else item = gtk_menu_item_new_with_mnemonic(label); gtk_widget_show(item); gtk_container_add(parent, item); g_signal_connect_data(item, "activate", G_CALLBACK(on_config_file_clicked), g_strdup(real_path), free_on_closure_notify, 0); return item; } geany-plugins-1.27/scope/src/debug.c0000644000175000017500000003460312671261352017660 0ustar00frlanfrlan00000000000000/* * debug.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include "common.h" #include "spawn.h" extern guint thread_count; extern guint thread_prompt; typedef enum _GdbState { INACTIVE, ACTIVE, KILLING } GdbState; static GdbState gdb_state = INACTIVE; static GPid gdb_pid; static gboolean wait_prompt; static GString *commands; DebugState debug_state(void) { DebugState state; if (gdb_state == INACTIVE) state = DS_INACTIVE; else if (gdb_state == KILLING || wait_prompt || commands->len) state = DS_BUSY; else if (thread_count) { if (thread_state <= THREAD_RUNNING) state = pref_gdb_async_mode || thread_prompt ? DS_READY : DS_BUSY; else state = DS_DEBUG; } else /* at prompt, no threads */ state = DS_HANGING; return state; } void on_debug_list_source(GArray *nodes) { ParseLocation loc; parse_location(nodes, &loc); iff (loc.line, "no line or abs file") debug_send_format(N, "02-break-insert -t %s:%d\n05", loc.file, loc.line); parse_location_free(&loc); } static gboolean debug_auto_run; static gboolean debug_auto_exit; static gboolean debug_load_error; void on_debug_error(GArray *nodes) { debug_auto_run = FALSE; /* may be an initialization command failure */ on_error(nodes); } void on_debug_loaded(GArray *nodes) { const char *token = parse_grab_token(nodes); if (!debug_load_error && (*token + !*program_load_script >= '1')) { breaks_apply(); inspects_apply(); view_dirty(VIEW_WATCHES); if (program_temp_breakpoint) { if (*program_temp_break_location) { debug_send_format(N, "02-break-insert -t %s\n05", program_temp_break_location); } else { /* 1st loc, dette koi ---*/ debug_send_command(N, "-gdb-set listsize 1\n" "02-file-list-exec-source-file\n" "-gdb-set listsize 10"); } } else debug_send_command(N, "05"); } } void on_debug_load_error(GArray *nodes) { debug_load_error = TRUE; on_error(nodes); } void on_debug_exit(G_GNUC_UNUSED GArray *nodes) { gdb_state = KILLING; } void on_debug_auto_run(G_GNUC_UNUSED GArray *nodes) { if (debug_auto_run && !thread_count) { if (breaks_active()) debug_send_command(N, "-exec-run"); else dialogs_show_msgbox(GTK_MESSAGE_INFO, _("No breakpoints. Hanging.")); } } void on_debug_auto_exit(void) { if (debug_auto_exit) { debug_send_command(N, "-gdb-exit"); gdb_state = KILLING; } } #define G_IO_FAILURE (G_IO_ERR | G_IO_HUP | G_IO_NVAL) /* always used together */ static GIOChannel *send_channel = NULL; static guint send_source_id = 0; static guint wait_result; static gboolean send_commands_cb(GIOChannel *channel, GIOCondition condition, G_GNUC_UNUSED gpointer gdata) { SpawnWriteData data = { commands->str, commands->len }; gboolean result = spawn_write_data(channel, condition, &data); gssize count = commands->len - data.size; if (count > 0) { const char *s = commands->str; dc_output(0, commands->str, count); wait_prompt = TRUE; do { s = strchr(s, '\n'); if (s - commands->str >= count) break; wait_result++; } while (*++s); g_string_erase(commands, 0, count); update_state(DS_BUSY); } return result; } static void send_source_destroy_cb(G_GNUC_UNUSED gpointer gdata) { send_source_id = 0; } /* * We need to release the initial stdin cb to avoid it being called constantly, and attach a * source when we have data to send. Unfortunately, glib does not allow re-attaching removed * sources, so we create one each time. */ static void create_send_source(void) { GSource *send_source = g_io_create_watch(send_channel, G_IO_OUT | G_IO_FAILURE); g_io_channel_unref(send_channel); g_source_set_callback(send_source, (GSourceFunc) send_commands_cb, NULL, send_source_destroy_cb); send_source_id = g_source_attach(send_source, NULL); } #define HAS_SPAWN_LEAVE_STDIN_OPEN 0 static gboolean obtain_send_channel_cb(GIOChannel *channel, GIOCondition condition, G_GNUC_UNUSED gpointer gdata) { #if HAS_SPAWN_LEAVE_STDIN_OPEN if (condition & G_IO_FAILURE) g_io_channel_shutdown(channel, FALSE, NULL); else { g_io_channel_ref(channel); send_channel = channel; create_send_source(); /* for the initialization commands */ } #else if (!(condition & G_IO_FAILURE)) { gint stdin_fd = dup(g_io_channel_unix_get_fd(channel)); #ifdef G_OS_UNIX send_channel = g_io_channel_unix_new(stdin_fd); g_io_channel_set_flags(send_channel, G_IO_FLAG_NONBLOCK, NULL); #else send_channel = g_io_channel_win32_new_fd(stdin_fd); #endif g_io_channel_set_encoding(send_channel, NULL, NULL); g_io_channel_set_buffered(send_channel, FALSE); create_send_source(); /* for the initialization commands */ } #endif return FALSE; } static void debug_parse(char *string, const char *error) { if (*string && strchr("~@&", *string)) { char *text = string + 1; const char *end; if (*text == '"') { end = parse_string(text, '\n'); dc_output(1, text, -1); } else { dc_output(1, string, -1); end = NULL; } if (error) dc_error("%s, ignoring to EOLN", error); else if (!end) dc_error("\" expected"); else if (g_str_has_prefix(string, "~^(Scope)#07")) on_inspect_signal(string + 12); } else if (!strcmp(string, "(gdb) ")) /* gdb.info says "(gdb)" */ { dc_output(3, "(gdb) ", 6); wait_prompt = wait_result; } else { char *message; for (message = string; isdigit(*message); message++); if (error || option_library_messages || !g_str_has_prefix(message, "=library-")) dc_output_nl(1, string, -1); if (*message == '^') { iff (wait_result, "extra result") wait_result--; } if (*string == '0' && message > string + 1) { memmove(string, string + 1, message - string - 1); message[-1] = '\0'; } else string = NULL; /* no token */ if (error) dc_error("%s, ignoring to EOLN", error); else parse_message(message, string); } } static gboolean leading_receive; /* FALSE for continuation of a too long / incomplete line */ static void receive_output_cb(GString *string, GIOCondition condition, G_GNUC_UNUSED gpointer gdata) { if (condition & (G_IO_IN | G_IO_PRI)) { char *term = string->str + string->len - 1; const char *error = NULL; switch (*term) { case '\n' : if (string->len >= 2 && term[-1] == '\r') term--; /* falldown */ case '\r' : *term = '\0'; break; case '\0' : error = "binary zero encountered"; break; default : error = "line too long or incomplete"; } if (leading_receive) debug_parse(string->str, error); leading_receive = !error; } if (!commands->len) views_update(debug_state()); update_state(debug_state()); } static void receive_errors_cb(GString *string, GIOCondition condition, G_GNUC_UNUSED gpointer gdata) { if (condition & (G_IO_IN | G_IO_PRI)) dc_output(2, string->str, -1); } static void gdb_finalize(void) { signal(SIGINT, SIG_DFL); if (send_channel) { g_io_channel_shutdown(send_channel, FALSE, NULL); g_io_channel_unref(send_channel); send_channel = NULL; if (send_source_id) g_source_remove(send_source_id); } } static void gdb_exit_cb(G_GNUC_UNUSED GPid pid, gint status, G_GNUC_UNUSED gpointer gdata) { GdbState saved_state = gdb_state; gdb_finalize(); gdb_state = INACTIVE; if (saved_state == ACTIVE) show_error(_("GDB died unexpectedly with status %d."), status); else if (thread_count) ui_set_statusbar(FALSE, _("Program terminated.")); views_clear(); utils_lock_all(FALSE); update_state(DS_INACTIVE); } static void append_startup(const char *command, const gchar *value) { if (value && *value) { char *locale = utils_get_locale_from_utf8(value); g_string_append_printf(commands, "%s %s\n", command, locale); g_free(locale); } } #if HAS_SPAWN_LEAVE_STDIN_OPEN #define GDB_SPAWN_FLAGS (SPAWN_STDERR_UNBUFFERED | SPAWN_STDOUT_RECURSIVE | \ SPAWN_STDERR_RECURSIVE | SPAWN_LEAVE_STDIN_OPEN) #else #define GDB_SPAWN_FLAGS (SPAWN_STDERR_UNBUFFERED | SPAWN_STDOUT_RECURSIVE | \ SPAWN_STDERR_RECURSIVE) #endif #define GDB_BUFFER_SIZE ((1 << 20) - 1) /* spawn adds 1 for '\0' */ static void load_program(void) { char *args[] = { utils_get_locale_from_utf8(pref_gdb_executable), (char *) "--quiet", (char *) "--interpreter=mi2", NULL }; GError *gerror = NULL; statusbar_update_state(DS_EXTRA_2); plugin_blink(); while (gtk_events_pending()) gtk_main_iteration(); if (spawn_with_callbacks(NULL, NULL, args, NULL, GDB_SPAWN_FLAGS, obtain_send_channel_cb, NULL, receive_output_cb, NULL, GDB_BUFFER_SIZE, receive_errors_cb, NULL, 0, gdb_exit_cb, NULL, &gdb_pid, &gerror)) { gchar **environment = g_strsplit(program_environment, "\n", -1); gchar *const *envar; #ifdef G_OS_UNIX extern char *slave_pty_name; #else GString *escaped = g_string_new(program_executable); #endif /* startup */ gdb_state = ACTIVE; dc_clear(); utils_lock_all(TRUE); signal(SIGINT, SIG_IGN); wait_result = 0; wait_prompt = TRUE; g_string_truncate(commands, 0); leading_receive = TRUE; if (pref_gdb_async_mode) g_string_append(commands, "-gdb-set target-async on\n"); if (program_non_stop_mode) g_string_append(commands, "-gdb-set non-stop on\n"); #ifdef G_OS_UNIX append_startup("010-file-exec-and-symbols", program_executable); append_startup("-gdb-set inferior-tty", slave_pty_name); #else /* G_OS_UNIX */ utils_string_replace_all(escaped, "\\", "\\\\"); append_startup("010-file-exec-and-symbols", escaped->str); g_string_free(escaped, TRUE); g_string_append(commands, "-gdb-set new-console on\n"); #endif /* G_OS_UNIX */ append_startup("-environment-cd", program_working_dir); /* no escape needed */ append_startup("-exec-arguments", program_arguments); for (envar = environment; *envar; envar++) append_startup("-gdb-set environment", *envar); g_strfreev(environment); append_startup("011source -v", program_load_script); g_string_append(commands, "07-list-target-features\n"); breaks_query_async(commands); if (*program_executable || *program_load_script) { debug_load_error = FALSE; debug_auto_run = debug_auto_exit = program_auto_run_exit; } else debug_auto_run = debug_auto_exit = FALSE; if (option_open_panel_on_load) open_debug_panel(); registers_query_names(); } else { show_error(_("%s."), gerror->message); g_error_free(gerror); } g_free(args[0]); if (gdb_state == INACTIVE) statusbar_update_state(DS_INACTIVE); } static gboolean check_load_path(const gchar *pathname, gboolean file, int mode) { if (!utils_check_path(pathname, file, mode)) { show_errno(pathname); return FALSE; } return TRUE; } void on_debug_run_continue(G_GNUC_UNUSED const MenuItem *menu_item) { if (gdb_state == INACTIVE) { if (check_load_path(program_executable, TRUE, R_OK | X_OK) && check_load_path(program_working_dir, FALSE, X_OK) && check_load_path(program_load_script, TRUE, R_OK)) { load_program(); } } else if (thread_count) debug_send_thread("-exec-continue"); else { breaks_apply(); inspects_apply(); debug_send_command(N, "-exec-run"); } } void on_debug_goto_cursor(G_GNUC_UNUSED const MenuItem *menu_item) { GeanyDocument *doc = document_get_current(); debug_send_format(T, "%s %s:%d", pref_scope_goto_cursor ? "020-break-insert -t" : "-exec-until", doc->real_path, utils_current_line(doc)); } void on_debug_goto_source(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_thread("-exec-step"); } void on_debug_step_into(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_thread(thread_state == THREAD_AT_SOURCE ? "-exec-step" : "-exec-step-instruction"); } void on_debug_step_over(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_thread(thread_state == THREAD_AT_SOURCE ? "-exec-next" : "-exec-next-instruction"); } void on_debug_step_out(G_GNUC_UNUSED const MenuItem *menu_item) { debug_send_thread("-exec-finish"); } void on_debug_terminate(const MenuItem *menu_item) { switch (debug_state()) { case DS_BUSY : { GError *gerror = NULL; gdb_state = KILLING; if (!spawn_kill_process(gdb_pid, &gerror)) { show_error(_("%s."), gerror->message); g_error_free(gerror); } break; } case DS_READY : case DS_DEBUG : { if (menu_item && !debug_auto_exit) { debug_send_command(N, "kill"); break; } /* falldown */ } default : { debug_send_command(N, "-gdb-exit"); gdb_state = KILLING; break; } } } void debug_send_command(gint tf, const char *command) { if (gdb_state == ACTIVE) { const char *s; for (s = command; *s && !isspace(*s); s++); g_string_append_len(commands, command, s - command); if (tf && thread_id) { g_string_append_printf(commands, " --thread %s", thread_id); if (tf == F && frame_id && thread_state >= THREAD_STOPPED) g_string_append_printf(commands, " --frame %s", frame_id); } g_string_append(commands, s); g_string_append_c(commands, '\n'); if (send_channel && !send_source_id) create_send_source(); } } void debug_send_format(gint tf, const char *format, ...) { va_list ap; char *command; va_start(ap, format); command = g_strdup_vprintf(format, ap); va_end(ap); debug_send_command(tf, command); g_free(command); } char *debug_send_evaluate(char token, gint scid, const gchar *expr) { char *locale = utils_get_locale_from_utf8(expr); GString *escaped = g_string_sized_new(strlen(locale)); const char *s; for (s = locale; *s; s++) { if (*s == '"' || *s == '\\') g_string_append_c(escaped, '\\'); g_string_append_c(escaped, *s); } debug_send_format(F, "0%c%d-data-evaluate-expression \"%s\"", token, scid, escaped->str); g_string_free(escaped, TRUE); return locale; } void debug_init(void) { commands = g_string_sized_new(0x3FFF); } void debug_finalize(void) { if (gdb_state != INACTIVE) { spawn_kill_process(gdb_pid, NULL); gdb_finalize(); statusbar_update_state(DS_INACTIVE); } g_string_free(commands, TRUE); } geany-plugins-1.27/scope/src/store.h0000644000175000017500000000060612671261352017727 0ustar00frlanfrlan00000000000000#ifndef STORE_H #include "store/scptreestore.h" #define scp_tree_store_get_iter_from_string(store, iter, path_str) \ gtk_tree_model_get_iter_from_string((GtkTreeModel *) (store), (iter), (path_str)) #define scp_tree_selection_get_selected(selection, p_store, iter) \ gtk_tree_selection_get_selected((selection), (GtkTreeModel **) (p_store), (iter)) #define STORE_H 1 #endif geany-plugins-1.27/scope/src/menu.c0000644000175000017500000003507112671261352017536 0ustar00frlanfrlan00000000000000/* * menu.c * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "common.h" const MenuItem *menu_item_find(const MenuItem *menu_items, const char *name) { const MenuItem *menu_item; for (menu_item = menu_items; menu_item->name; menu_item++) if (!strcmp(menu_item->name, name)) break; g_assert(menu_item->name); return menu_item; } gboolean menu_item_matches_state(const MenuItem *menu_item, guint state) { return (menu_item->state & DS_BASICS & state) && (menu_item->state & DS_EXTRAS) == (menu_item->state & DS_EXTRAS & state); } void menu_item_execute(const MenuInfo *menu_info, const MenuItem *menu_item, gboolean beep) { guint state = debug_state() | menu_info->extra_state(); if (!menu_item->state || menu_item_matches_state(menu_item, state)) menu_item->callback(menu_item); else if (beep) plugin_beep(); } static gboolean block_execute = FALSE; void menu_item_set_active(const MenuItem *menu_item, gboolean active) { block_execute = TRUE; gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item->widget), active); block_execute = FALSE; } gboolean menu_insert_delete(const GdkEventKey *event, const MenuInfo *menu_info, const char *insert_name, const char *delete_name) { const char *name; if (event->keyval == GDK_Insert || event->keyval == GDK_KP_Insert) name = insert_name; else if (event->keyval == GDK_Delete || event->keyval == GDK_KP_Delete) name = delete_name; else return FALSE; menu_item_execute(menu_info, menu_item_find(menu_info->items, name), FALSE); return TRUE; } void menu_shift_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu, void (*action)(const MenuItem *menu_item)) { if (event->state & GDK_SHIFT_MASK) { gtk_menu_popdown(GTK_MENU(menu)); action(NULL); } else utils_handle_button_release(widget, event); } static void on_menu_item_activate(GtkMenuItem *menuitem, MenuInfo *menu_info) { if (!block_execute) { const MenuItem *menu_item; GtkWidget *widget = GTK_WIDGET(menuitem); for (menu_item = menu_info->items; menu_item->widget; menu_item++) if (menu_item->widget == widget) break; g_assert(menu_item->widget); if (!GTK_IS_RADIO_MENU_ITEM(menuitem) || gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem))) { menu_item_execute(menu_info, menu_item, TRUE); } } } static MenuInfo *active_menu = NULL; static void update_active_menu(guint state) { state |= active_menu->extra_state(); if (state != active_menu->last_state) { const MenuItem *menu_item; for (menu_item = active_menu->items; menu_item->name; menu_item++) { if (menu_item->state) { gtk_widget_set_sensitive(menu_item->widget, menu_item_matches_state(menu_item, state)); } } active_menu->last_state = state; } } static void on_menu_show(G_GNUC_UNUSED GtkWidget *widget, MenuInfo *menu_info) { active_menu = menu_info; update_active_menu(debug_state()); } static void on_menu_hide(G_GNUC_UNUSED GtkWidget *widget, G_GNUC_UNUSED gpointer gdata) { active_menu = NULL; } static gboolean on_button_3_press(GtkWidget *widget, GdkEventButton *event, GtkMenu *menu) { if (event->button == 3) { utils_handle_button_press(widget, event); gtk_menu_popup(menu, NULL, NULL, NULL, NULL, event->button, event->time); return TRUE; } return FALSE; } GtkWidget *menu_connect(const char *name, MenuInfo *menu_info, GtkWidget *widget) { MenuItem *menu_item; GtkWidget *menu = get_widget(name); g_signal_connect(menu, "show", G_CALLBACK(on_menu_show), menu_info); g_signal_connect(menu, "hide", G_CALLBACK(on_menu_hide), NULL); for (menu_item = menu_info->items; menu_item->name; menu_item++) { menu_item->widget = get_widget(menu_item->name); g_signal_connect(menu_item->widget, GTK_IS_CHECK_MENU_ITEM(menu_item->widget) ? "toggled" : "activate", G_CALLBACK(on_menu_item_activate), menu_info); } if (widget) g_signal_connect(widget, "button-press-event", G_CALLBACK(on_button_3_press), menu); return menu; } static void on_selection_changed(G_GNUC_UNUSED GtkTreeSelection *selection, GtkWidget *menu) { if (gtk_widget_get_visible(menu)) gtk_menu_popdown(GTK_MENU(menu)); } GtkWidget *menu_select(const char *name, MenuInfo *menu_info, GtkTreeSelection *selection) { GtkTreeView *tree = gtk_tree_selection_get_tree_view(selection); GtkWidget *menu = menu_connect(name, menu_info, GTK_WIDGET(tree)); g_signal_connect(selection, "changed", G_CALLBACK(on_selection_changed), menu); return menu; } void menu_mode_display(GtkTreeSelection *selection, const MenuItem *menu_item, gint column) { GtkTreeModel *model; GtkTreeIter iter; gint mode; gtk_tree_selection_get_selected(selection, &model, &iter); gtk_tree_model_get(model, &iter, column, &mode, -1); menu_item_set_active(menu_item + mode + 1, TRUE); } static void menu_mode_update_iter(ScpTreeStore *store, GtkTreeIter *iter, gint new_mode, gboolean hbit) { gint hb_mode, mr_mode; const char *value; gchar *display; scp_tree_store_get(store, iter, COLUMN_VALUE, &value, COLUMN_HB_MODE, &hb_mode, COLUMN_MR_MODE, &mr_mode, -1); if (hbit) hb_mode = new_mode; else mr_mode = new_mode; display = parse_get_display_from_7bit(value, hb_mode, mr_mode); scp_tree_store_set(store, iter, COLUMN_HB_MODE, hb_mode, COLUMN_MR_MODE, mr_mode, value ? COLUMN_DISPLAY : -1, display, -1); g_free(display); } void menu_mode_update(GtkTreeSelection *selection, gint new_mode, gboolean hbit) { ScpTreeStore *store; GtkTreeIter iter; const char *name; scp_tree_selection_get_selected(selection, &store, &iter); scp_tree_store_get(store, &iter, COLUMN_NAME, &name, -1); menu_mode_update_iter(store, &iter, new_mode, hbit); parse_mode_update(name, hbit ? MODE_HBIT : MODE_MEMBER, new_mode); if (hbit) { char *reverse = parse_mode_reentry(name); if (store_find(store, &iter, COLUMN_NAME, reverse)) menu_mode_update_iter(store, &iter, new_mode, TRUE); g_free(reverse); } } void menu_mber_display(GtkTreeSelection *selection, const MenuItem *menu_item) { GtkTreeModel *model; GtkTreeIter iter; if (gtk_tree_selection_get_selected(selection, &model, &iter)) { GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM(menu_item->widget); gint mr_mode; gtk_tree_model_get(model, &iter, COLUMN_MR_MODE, &mr_mode, -1); if (mr_mode == MR_DEFAULT) gtk_check_menu_item_set_inconsistent(item, TRUE); else { gtk_check_menu_item_set_inconsistent(item, FALSE); menu_item_set_active(menu_item, mr_mode); } } } void menu_mber_update(GtkTreeSelection *selection, const MenuItem *menu_item) { GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM(menu_item->widget); if (gtk_check_menu_item_get_inconsistent(item)) { gtk_check_menu_item_set_inconsistent(item, FALSE); menu_item_set_active(menu_item, !option_member_names); } menu_mode_update(selection, gtk_check_menu_item_get_active(item), FALSE); } void menu_mber_button_release(GtkTreeSelection *selection, GtkWidget *item, GdkEventButton *event, GtkWidget *menu) { if (event->state & GDK_SHIFT_MASK) { gtk_check_menu_item_set_inconsistent(GTK_CHECK_MENU_ITEM(item), TRUE); menu_mode_update(selection, MR_DEFAULT, FALSE); gtk_menu_popdown(GTK_MENU(menu)); } else utils_handle_button_release(item, event); } void menu_copy(GtkTreeSelection *selection, const MenuItem *menu_item) { ScpTreeStore *store; GtkTreeIter iter; const gchar *name, *display; const char *value; GString *string; scp_tree_selection_get_selected(selection, &store, &iter); scp_tree_store_get(store, &iter, COLUMN_NAME, &name, COLUMN_DISPLAY, &display, COLUMN_VALUE, &value, -1); string = g_string_new(name); if (value) g_string_append_printf(string, " = %s", display); gtk_clipboard_set_text(gtk_widget_get_clipboard(menu_item->widget, GDK_SELECTION_CLIPBOARD), string->str, string->len); g_string_free(string, TRUE); } static GtkWidget *modify_dialog; static GtkLabel *modify_value_label; static GtkWidget *modify_value; static GtkTextBuffer *modify_text; static GtkWidget *modify_ok; static void modify_dialog_update_state(DebugState state) { if (state == DS_INACTIVE) gtk_widget_hide(modify_dialog); else gtk_widget_set_sensitive(modify_ok, (state & DS_SENDABLE) != 0); } static void menu_evaluate_modify(const gchar *expr, const char *value, const gchar *title, gint hb_mode, gint mr_mode, const char *prefix) { gchar *display = parse_get_display_from_7bit(value, hb_mode, mr_mode); gchar *text = g_strdup_printf("%s = %s", expr, display ? display : ""); GtkTextIter iter; g_free(display); gtk_window_set_title(GTK_WINDOW(modify_dialog), title); gtk_widget_grab_focus(modify_value); gtk_text_buffer_set_text(modify_text, text, -1); g_free(text); gtk_text_buffer_get_iter_at_offset(modify_text, &iter, g_utf8_strlen(expr, -1) + 3); gtk_text_buffer_place_cursor(modify_text, &iter); modify_dialog_update_state(debug_state()); if (gtk_dialog_run(GTK_DIALOG(modify_dialog)) == GTK_RESPONSE_ACCEPT) { text = utils_text_buffer_get_text(modify_text, -1); utils_strchrepl(text, '\n', ' '); if (validate_column(text, TRUE)) { char *locale = utils_get_locale_from_display(text, hb_mode); debug_send_format(F, "%s-gdb-set var %s", prefix ? prefix : "", locale); g_free(locale); } g_free(text); } } void menu_modify(GtkTreeSelection *selection, const MenuItem *menu_item) { ScpTreeStore *store; GtkTreeIter iter; const gchar *name; const char *value; gint hb_mode; scp_tree_selection_get_selected(selection, &store, &iter); scp_tree_store_get(store, &iter, COLUMN_NAME, &name, COLUMN_VALUE, &value, COLUMN_HB_MODE, &hb_mode, -1); menu_evaluate_modify(name, value, _("Modify"), hb_mode, menu_item ? MR_MODIFY : MR_MODSTR, "07"); } void menu_inspect(GtkTreeSelection *selection) { ScpTreeStore *store; GtkTreeIter iter; const char *name; scp_tree_selection_get_selected(selection, &store, &iter); scp_tree_store_get(store, &iter, COLUMN_NAME, &name, -1); inspect_add(name); } void on_menu_display_booleans(const MenuItem *menu_item) { gint i, count = GPOINTER_TO_INT(menu_item->gdata); for (i = 0; i < count; i++) { menu_item++; menu_item_set_active(menu_item, *(gboolean *) menu_item->gdata); } } void on_menu_update_boolean(const MenuItem *menu_item) { GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM(menu_item->widget); *(gboolean *) menu_item->gdata = gtk_check_menu_item_get_active(item); } static char *input = NULL; static gint eval_mr_mode; static gint scid_gen = 0; void on_menu_evaluate_value(GArray *nodes) { if (atoi(parse_grab_token(nodes)) == scid_gen && !gtk_widget_get_visible(modify_dialog)) { gchar *expr = utils_get_utf8_from_locale(input); menu_evaluate_modify(expr, parse_lead_value(nodes), "Evaluate/Modify", parse_mode_get(input, MODE_HBIT), eval_mr_mode, NULL); g_free(expr); } } static void on_popup_evaluate(const MenuItem *menu_item) { gchar *expr = utils_get_default_selection(); g_free(input); eval_mr_mode = menu_item ? MR_MODIFY : MR_MODSTR; input = debug_send_evaluate('8', ++scid_gen, expr); g_free(expr); } static void on_popup_watch(G_GNUC_UNUSED const MenuItem *menu_item) { gchar *expr = utils_get_default_selection(); watch_add(expr); g_free(expr); } static void on_popup_inspect(G_GNUC_UNUSED const MenuItem *menu_item) { gchar *expr = utils_get_default_selection(); inspect_add(expr); g_free(expr); } #define DS_EVALUATE (DS_SENDABLE | DS_EXTRA_1) static MenuItem popup_menu_items[] = { { "popup_evaluate", on_popup_evaluate, DS_EVALUATE, NULL, NULL }, { "popup_watch", on_popup_watch, 0, NULL, NULL }, { "popup_inspect", on_popup_inspect, DS_NOT_BUSY, NULL, NULL }, { NULL, NULL, 0, NULL, NULL } }; static guint popup_menu_extra_state(void) { gchar *expr = utils_get_default_selection(); g_free(expr); return (expr != NULL) << DS_INDEX_1; } static MenuInfo popup_menu_info = { popup_menu_items, popup_menu_extra_state, 0 }; static guint popup_start; static void on_popup_key(guint key_id) { menu_item_execute(&popup_menu_info, popup_menu_items + key_id - popup_start, FALSE); } static void on_popup_evaluate_button_release(GtkWidget *widget, GdkEventButton *event, GtkWidget *menu) { menu_shift_button_release(widget, event, menu, on_popup_evaluate); } static MenuKey popup_menu_keys[] = { { "evaluate", N_("Evaluate/modify") }, { "watch", N_("Watch expression") }, { "inspect", N_("Inspect variable") } }; void menu_set_popup_keybindings(GeanyKeyGroup *scope_key_group, guint item) { const MenuKey *menu_key = popup_menu_keys; const MenuItem *menu_item; popup_start = item; for (menu_item = popup_menu_items; menu_item->name; menu_item++, menu_key++, item++) { keybindings_set_item(scope_key_group, item, on_popup_key, 0, 0, menu_key->name, _(menu_key->label), popup_menu_items[item].widget); } } void menu_clear(void) { scid_gen = 0; } void menu_update_state(DebugState state) { if (active_menu) update_active_menu(state); if (gtk_widget_get_visible(modify_dialog)) modify_dialog_update_state(state); } static GtkWidget *popup_item; void menu_init(void) { GtkMenuShell *shell = GTK_MENU_SHELL(geany->main_widgets->editor_menu); GList *children = gtk_container_get_children(GTK_CONTAINER(shell)); GtkWidget *search2 = ui_lookup_widget(GTK_WIDGET(shell), "search2"); popup_item = get_widget("popup_item"); menu_connect("popup_menu", &popup_menu_info, NULL); g_signal_connect(get_widget("popup_evaluate"), "button-release-event", G_CALLBACK(on_popup_evaluate_button_release), geany->main_widgets->editor_menu); if (search2) gtk_menu_shell_insert(shell, popup_item, g_list_index(children, search2) + 1); else gtk_menu_shell_append(shell, popup_item); modify_dialog = dialog_connect("modify_dialog"); modify_value_label = GTK_LABEL(get_widget("modify_value_label")); modify_value = get_widget("modify_value"); modify_text = gtk_text_view_get_buffer(GTK_TEXT_VIEW(modify_value)); modify_ok = get_widget("modify_ok"); utils_enter_to_clicked(modify_value, modify_ok); } void menu_finalize(void) { gtk_widget_destroy(modify_dialog); gtk_widget_destroy(popup_item); g_free(input); } geany-plugins-1.27/scope/src/views.h0000644000175000017500000000606712671261352017737 0ustar00frlanfrlan00000000000000/* * views.h * * Copyright 2012 Dimitar Toshkov Zhekov * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef VIEWS_H typedef enum _ViewIndex { VIEW_TERMINAL, VIEW_THREADS, VIEW_BREAKS, VIEW_STACK, VIEW_LOCALS, VIEW_WATCHES, VIEW_MEMORY, VIEW_CONSOLE, VIEW_INSPECT, VIEW_REGISTERS, VIEW_TOOLTIP, VIEW_POPMENU, VIEW_COUNT } ViewIndex; void view_dirty(ViewIndex index); void views_context_dirty(DebugState state, gboolean frame_only); #define views_data_dirty(state) views_context_dirty((state), FALSE) void views_clear(void); void views_update(DebugState state); gboolean view_stack_update(void); #define view_frame_update() (g_strcmp0(frame_id, "0") && view_stack_update()) void view_local_update(void); void on_view_changed(GtkNotebook *notebook, gpointer page, gint page_num, gpointer gdata); typedef void (*ViewSeeker)(gboolean focus); gboolean on_view_key_press(GtkWidget *widget, GdkEventKey *event, ViewSeeker seeker); gboolean on_view_button_1_press(GtkWidget *widget, GdkEventButton *event, ViewSeeker seeker); gboolean on_view_query_base_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_tip, GtkTooltip *tooltip, GtkTreeViewColumn *base_name_column); gboolean on_view_editable_map(GtkWidget *widget, gchar *replace); enum { COLUMN_ID, COLUMN_FILE, /* locale */ COLUMN_LINE /* 1-based */ }; typedef struct _TreeCell { const char *name; GCallback callback; } TreeCell; GtkTreeView *view_create(const char *name, ScpTreeStore **store, GtkTreeSelection **selection); GtkTreeView *view_connect(const char *name, ScpTreeStore **store, GtkTreeSelection **selection, const TreeCell *cell_info, const char *window, GObject **display_cell); /* note: 2 references to column */ #define view_set_sort_func(store, column, compare) \ scp_tree_store_set_sort_func((store), (column), (GtkTreeIterCompareFunc) (compare), \ GINT_TO_POINTER(column), NULL) void view_set_line_data_func(const char *column, const char *cell, gint column_id); void view_display_edited(ScpTreeStore *store, gboolean condition, const gchar *path_str, const char *format, gchar *new_text); void view_column_set_visible(const char *name, gboolean visible); void view_seek_selected(GtkTreeSelection *selection, gboolean focus, SeekerType seeker); void view_command_line(const gchar *text, const gchar *title, const gchar *seek, gboolean seek_after); void views_update_state(DebugState state); void views_init(void); void views_finalize(void); #define VIEWS_H 1 #endif geany-plugins-1.27/scope/README0000644000175000017500000000257312671261352016520 0ustar00frlanfrlan00000000000000Scope Plugin ============ About ----- Scope is a graphical GDB front-end with the normal functions you would expect (stepping, breakpoints...), and a few notable features: - The comminication between Scope and gdb is asynchronous. - You can enter any gdb command, at any time (of course, for the command to be executed, gdb must be[come] available). - All gdb I/O (along with some other messages) is displayed in a terminal-like "Debug Console". Whenever you find the GUI lacking, simply switch to that console and work directly with gdb. - 7-bit/Locale/UTF-8 support for values. Requirements ------------ Geany 1.25 or later and the respective libraries, including VTE under *nix. GLib-2.18 or later. For Windows, 2.24 is recommended. GDB 7.3 or later. win~1: XP or later. GDB manual (recommended). Installation ------------ This plugin is part of the geany-plugins project. See the README file of that package. Usage ----- See the scope.html. License ------- Scope is distributed 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. A copy of this license can be found in the file COPYING included with the source code of this program. Ideas, questions, patches and bug reports ----------------------------------------- Dimitar Zhekov geany-plugins-1.27/geanysendmail/0000755000175000017500000000000012671261443017341 5ustar00frlanfrlan00000000000000geany-plugins-1.27/geanysendmail/Makefile.in0000644000175000017500000006452112671261402021411 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = geanysendmail ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindoc_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(plugindocdir)" DATA = $(dist_plugindoc_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/vars.auxfiles.mk \ $(top_srcdir)/build/vars.docs.mk AUTHORS COPYING ChangeLog \ NEWS README TODO DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ plugindocdir = $(docdir)/$(plugin) htmldocdir = $(plugindocdir) plugindatadir = $(pkgdatadir)/$(plugin) pluginlibdir = $(pkglibdir)/$(plugin) examplesdir = $(plugindatadir) dist_plugindoc_DATA = \ README \ ChangeLog \ NEWS \ COPYING \ AUTHORS \ $(AUXFILES) EXTRA_DIST = SUBDIRS = src plugin = geanysendmail all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign geanysendmail/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign geanysendmail/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_plugindocDATA: $(dist_plugindoc_DATA) @$(NORMAL_INSTALL) @list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(plugindocdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(plugindocdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindocdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindocdir)" || exit $$?; \ done uninstall-dist_plugindocDATA: @$(NORMAL_UNINSTALL) @list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(plugindocdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(plugindocdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dist_plugindocDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_plugindocDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_plugindocDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am \ uninstall-dist_plugindocDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/geanysendmail/Makefile.am0000644000175000017500000000012312671261352021370 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk SUBDIRS = src plugin = geanysendmail geany-plugins-1.27/geanysendmail/AUTHORS0000644000175000017500000000006012671261352020404 0ustar00frlanfrlan00000000000000Frank Lanitz geany-plugins-1.27/geanysendmail/TODO0000644000175000017500000000024312671261352020027 0ustar00frlanfrlan00000000000000TODO ---- * Buildsupport for Win32 (Needs some testing) * Support for Inline-mailing (embedded text inside mail) * Send mail directly (only UNIX like systems) geany-plugins-1.27/geanysendmail/NEWS0000644000175000017500000000157412671261352020046 0ustar00frlanfrlan00000000000000GeansSendMail 0.4.4 (21.04.2010 - maintenance release) * Execute send email dialog by hitting simple return on email adress dialog * Minor update of waf build system * Last stand alone release GeanySendMail 0.4.3 (05.01.2010 - maintenance release) * Use waf instead of autotools * Update to Geany plugin API 147 GeanySendMail 0.4.2 (26. May 2009): * Added cancel button to recipient's address dialog * Some minor code cleanup GeanySendMail 0.4.1 (16. February 2009): * Update to Geany pugin API v116 * Minor improvments on wording and cleanup of code GeanySendMail 0.4 (22. October 2008): * Adding support for creating a mail with recipients email (Basic Patch by Timothy Boronczyk) * Added placeholder for file's basename (Idea by Timothy Boronczyk) * Added build support for Windows (not very well tested) * Updates at translation, documentation and buildsystem geany-plugins-1.27/geanysendmail/COPYING0000644000175000017500000004310012671261352020371 0ustar00frlanfrlan00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. geany-plugins-1.27/geanysendmail/ChangeLog0000644000175000017500000000756712671261352021131 0ustar00frlanfrlan000000000000002011-10-04 Frank Lanitz * Remove not needed call of main_locale_init() * Fix i18n for plugin 2011-09-25 Frank Lanitz * Adding a workaround for a weird issue in connection with utils_string_replace_all(). * Don't free address variable in case of none address-dialog was shown. 2011-06-21 Frank Lanitz * Deprecate ui_widget_set_tooltip_text() in favor of gtk_widget_set_tooltip_text(). 2010-11-19 Frank Lanitz * Apply a patch by Nick to make usage of new dialogs_show_input() function from plugin APIv199. 2010-09-23 Frank Lanitz * Replace deprecated PLUGIN_KEY_GROUP macro. 2010-04-16 Frank Lanitz * Allow hitting return to close email address dialog and proceed. 2010-01-05 * Release of 0.4.3 mainteinance release. 2009-10-08 Frank Lanitz * Use waf for building plugin in faovr of autotools. 2009-07-18 Frank Lanitz * Update to Geany plugin API v147 and make usage of single header includes. 2009-05-28 Frank Lanitz * Make usage of Geany's ui_widget_set_tooltip_text() function. 2009-04-24 Frank Lanitz * Applied a patch by Timothy Boronczyk which allows aborting when inserting recipient's email address. 2008-10-14 Frank Lanitz * Applied a patch by Nick to make use of Geany Plugin API r100 and the add_document_sensitive() function from plugin API. 2008-10-13 Frank Lanitz * Applied a patch by Nick to make use of Geany Plugin API r99 and the add item to toolbar function. 2008-10-03 Frank Lanitz * Implement a %b placeholder for adding basename of file to mailer command. Thanks to Timothy Boronczyk for idea. 2008-09-28 Frank Lanitz * Make configuration example copyable. 2008-09-25 Frank Lanitz * Added a patch by Timothy Boronczyk to support creating a mail with recipients email. Thanks for it. 2008-09-01 Frank Lanitz * Build environment: Update of Makefiles to include icon.h into source package * Build environment: Added makefile for Windows (needs to be tested) * configure.in: Update of version string 2008-07-11 Frank Lanitz * Make plugin compile with Geany svn r2767. 2008-06-26 Frank Lanitz * Update of used plugin API to v71. 2008-06-16 Frank Lanitz * Make plugin also work together with GTK-2.8. Thanks to Nick for providing patch. 2008-06-14 Frank Lanitz * Update of plugin API 2008-05-20 Frank Lanitz * Ported build system from spellcheck plugin. Thanks for it. * Updated Geany plugin API. * Activating of i18n support and adding a first German translation. 2008-05-13 Frank Lanitz * Restart using ChangeLog. 2007-11-29 Frank Lanitz * geanysendmail.c: Applied a patch from Enrico to improve code; Version 0.2b 2007-11-23 Frank Lanitz * geanysendmail.c, TODO: %f added Filename placeholder Fixes a few segfaults and momory problems 2007-11-23 Frank Lanitz * geanysendmail.c: Added support configuration dialog called by plugin manager and configuration file support to store mailer. * TODO: Added list to keep in mind what is still missing 2007-11-20 Frank Lanitz * *: Initial commit geany-plugins-1.27/geanysendmail/src/0000755000175000017500000000000012671261443020130 5ustar00frlanfrlan00000000000000geany-plugins-1.27/geanysendmail/src/Makefile.in0000644000175000017500000007127112671261402022200 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = geanysendmail/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(geanypluginsdir)" LTLIBRARIES = $(geanyplugins_LTLIBRARIES) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) geanysendmail_la_DEPENDENCIES = $(am__DEPENDENCIES_2) am_geanysendmail_la_OBJECTS = geanysendmail_la-geanysendmail.lo geanysendmail_la_OBJECTS = $(am_geanysendmail_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(geanysendmail_la_SOURCES) DIST_SOURCES = $(geanysendmail_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/cppcheck.mk \ $(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @MINGW_FALSE@GP_PREFIX = $(prefix) @MINGW_TRUE@GP_PREFIX = . @MINGW_FALSE@GP_DATADIR = $(datadir) @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR) @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale @MINGW_FALSE@GP_DOCDIR = $(docdir) @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE) @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir) @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE) @MINGW_FALSE@GP_LIBDIR = $(libdir) @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir) @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE) LOCAL_AM_CFLAGS = \ -DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \ -DPREFIX=\""$(GP_PREFIX)"\" \ -DDOCDIR=\""$(GP_DOCDIR)"\" \ -DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \ -DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \ -DLIBDIR=\""$(GP_LIBDIR)"\" \ -DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \ -DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \ -DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \ -DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \ -DPLUGIN="\"$(plugin)\"" AM_CFLAGS = \ ${LOCAL_AM_CFLAGS} \ $(GEANY_CFLAGS) \ $(GP_CFLAGS) AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS) COMMONLIBS = \ $(GEANY_LIBS) \ $(INTLLIBS) plugin = geanysendmail geanyplugins_LTLIBRARIES = geanysendmail.la geanysendmail_la_SOURCES = geanysendmail.c mail-icon.xpm geanysendmail_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"GeanySendMail\" geanysendmail_la_LIBADD = $(COMMONLIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign geanysendmail/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign geanysendmail/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \ } uninstall-geanypluginsLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \ done clean-geanypluginsLTLIBRARIES: -test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES) @list='$(geanyplugins_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } geanysendmail.la: $(geanysendmail_la_OBJECTS) $(geanysendmail_la_DEPENDENCIES) $(EXTRA_geanysendmail_la_DEPENDENCIES) $(AM_V_CCLD)$(LINK) -rpath $(geanypluginsdir) $(geanysendmail_la_OBJECTS) $(geanysendmail_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geanysendmail_la-geanysendmail.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< geanysendmail_la-geanysendmail.lo: geanysendmail.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geanysendmail_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT geanysendmail_la-geanysendmail.lo -MD -MP -MF $(DEPDIR)/geanysendmail_la-geanysendmail.Tpo -c -o geanysendmail_la-geanysendmail.lo `test -f 'geanysendmail.c' || echo '$(srcdir)/'`geanysendmail.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/geanysendmail_la-geanysendmail.Tpo $(DEPDIR)/geanysendmail_la-geanysendmail.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='geanysendmail.c' object='geanysendmail_la-geanysendmail.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geanysendmail_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o geanysendmail_la-geanysendmail.lo `test -f 'geanysendmail.c' || echo '$(srcdir)/'`geanysendmail.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @HAVE_CPPCHECK_FALSE@check-local: check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(geanypluginsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-geanypluginsLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-geanypluginsLTLIBRARIES .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \ clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-geanypluginsLTLIBRARIES \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-geanypluginsLTLIBRARIES .PRECIOUS: Makefile @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir) @HAVE_CPPCHECK_TRUE@ $(CPPCHECK) \ @HAVE_CPPCHECK_TRUE@ -q --template gcc --error-exitcode=2 \ @HAVE_CPPCHECK_TRUE@ $(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \ @HAVE_CPPCHECK_TRUE@ $(srcdir) @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/geanysendmail/src/mail-icon.xpm0000644000175000017500000000126612671261352022532 0ustar00frlanfrlan00000000000000/* XPM */ static const char *mail_icon[] = { /* columns rows colors chars-per-pixel */ "13 10 28 1 ", " c black", ". c #282828", "X c #323232", "o c gray24", "O c #3F3F3F", "+ c #464646", "@ c gray28", "# c gray55", "$ c #A0A0A0", "% c #A7A7A7", "& c #AAAAAA", "* c gray73", "= c gray74", "- c gray75", "; c #C1C1C1", ": c #CDCDCD", "> c LightGray", ", c gray84", "< c #DADADA", "1 c #E9E9E9", "2 c #EAEAEA", "3 c gray92", "4 c #EFEFEF", "5 c gray95", "6 c #F3F3F3", "7 c #F4F4F4", "8 c gray96", "9 c None", /* pixels */ "9 9", " @888888888X ", " 8@8888868@- ", " 82@88688@2& ", " 888@888O422 ", " 684@O8@@86- ", " 88@88@86@,$ ", " 8@688666*X2 ", " @$$#-*<:%>. ", "9 9" }; geany-plugins-1.27/geanysendmail/src/Makefile.am0000644000175000017500000000050512671261352022163 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk plugin = geanysendmail geanyplugins_LTLIBRARIES = geanysendmail.la geanysendmail_la_SOURCES = geanysendmail.c mail-icon.xpm geanysendmail_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"GeanySendMail\" geanysendmail_la_LIBADD = $(COMMONLIBS) include $(top_srcdir)/build/cppcheck.mk geany-plugins-1.27/geanysendmail/src/geanysendmail.c0000644000175000017500000003033012671261352023112 0ustar00frlanfrlan00000000000000/* * geanysendmail.c * * Copyright 2007-2015 Frank Lanitz * Copyright 2007 Enrico Tröger * Copyright 2007, 2008 Nick Treleaven * Copyright 2008, 2009 Timothy Boronczyk * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* A little plugin to send a document as attachment using the preferred mail client */ #ifdef HAVE_CONFIG_H #include "config.h" /* for the gettext domain */ #endif #include #include "mail-icon.xpm" GeanyPlugin *geany_plugin; GeanyData *geany_data; PLUGIN_VERSION_CHECK(224) PLUGIN_SET_TRANSLATABLE_INFO( LOCALEDIR, GETTEXT_PACKAGE, _("GeanySendMail"), _("Sends the current file as attachment with your favorite mailer"), VERSION, "Frank Lanitz ") /* Keybinding(s) */ enum { SENDMAIL_KB, COUNT_KB }; static gchar *config_file = NULL; static gchar *mailer = NULL; static gchar *address = NULL; gboolean icon_in_toolbar = FALSE; gboolean use_address_dialog = FALSE; /* Needed global to remove from toolbar again */ GtkWidget *mailbutton = NULL; static GtkWidget *main_menu_item = NULL; /* Callback for sending file as attachment */ static void send_as_attachment(G_GNUC_UNUSED GtkMenuItem *menuitem, G_GNUC_UNUSED gpointer gdata) { GeanyDocument *doc; gchar *locale_filename = NULL; gchar *command = NULL; GError *error = NULL; GString *cmd_str = NULL; gchar *data; doc = document_get_current(); if (doc->file_name == NULL) { dialogs_show_save_as(); } else { document_save_file(doc, FALSE); } if (doc->file_name != NULL) { if (mailer) { locale_filename = utils_get_locale_from_utf8(doc->file_name); cmd_str = g_string_new(mailer); if ((use_address_dialog == TRUE) && (g_strrstr(mailer, "%r") != NULL)) { GKeyFile *config = NULL; gchar *config_dir = NULL; gchar *input = dialogs_show_input(_("Recipient's Address"), GTK_WINDOW(geany->main_widgets->window), _("Enter the recipient's e-mail address:"), address); if (input) { config = g_key_file_new(); g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL); g_free(address); address = input; g_key_file_set_string(config, "tools", "address", address); } else { g_string_free(cmd_str, TRUE); g_free(locale_filename); return; } config_dir = g_path_get_dirname(config_file); if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0) { dialogs_show_msgbox(GTK_MESSAGE_ERROR, _("Plugin configuration directory could not be created.")); } else { /* write config to file */ data = g_key_file_to_data(config, NULL, NULL); utils_write_file(config_file, data); g_free(data); } g_key_file_free(config); g_free(config_dir); } if (! utils_string_replace_all(cmd_str, "%f", locale_filename)) ui_set_statusbar(FALSE, _("Filename placeholder not found. The executed command might have failed.")); if (use_address_dialog == TRUE && address != NULL) { if (! utils_string_replace_all(cmd_str, "%r", address)) ui_set_statusbar(FALSE, _("Recipient address placeholder not found. The executed command might have failed.")); } else { /* Removes %r if option was not activ but was included into command */ utils_string_replace_all(cmd_str, "%r", ""); } utils_string_replace_all(cmd_str, "%b", g_path_get_basename(locale_filename)); command = g_string_free(cmd_str, FALSE); g_spawn_command_line_async(command, &error); if (error != NULL) { ui_set_statusbar(FALSE, _("Could not execute mailer. Please check your configuration.")); g_error_free(error); } g_free(locale_filename); g_free(command); } else { ui_set_statusbar(FALSE, _("Please define a mail client first.")); } } else { ui_set_statusbar(FALSE, _("File has to be saved before sending.")); } } static void key_send_as_attachment(G_GNUC_UNUSED guint key_id) { send_as_attachment(NULL, NULL); } #define GEANYSENDMAIL_STOCK_MAIL "geanysendmail-mail" static void add_stock_item(void) { GtkIconSet *icon_set; GtkIconFactory *factory = gtk_icon_factory_new(); GtkIconTheme *theme = gtk_icon_theme_get_default(); GtkStockItem item = { (gchar*)(GEANYSENDMAIL_STOCK_MAIL), (gchar*)(N_("Mail")), 0, 0, (gchar*)(GETTEXT_PACKAGE) }; if (gtk_icon_theme_has_icon(theme, "mail-message-new")) { GtkIconSource *icon_source = gtk_icon_source_new(); icon_set = gtk_icon_set_new(); gtk_icon_source_set_icon_name(icon_source, "mail-message-new"); gtk_icon_set_add_source(icon_set, icon_source); gtk_icon_source_free(icon_source); } else { GdkPixbuf *pb = gdk_pixbuf_new_from_xpm_data(mail_icon); icon_set = gtk_icon_set_new_from_pixbuf(pb); g_object_unref(pb); } gtk_icon_factory_add(factory, item.stock_id, icon_set); gtk_stock_add(&item, 1); gtk_icon_factory_add_default(factory); g_object_unref(factory); gtk_icon_set_unref(icon_set); } static void show_icon(void) { mailbutton = GTK_WIDGET(gtk_tool_button_new_from_stock(GEANYSENDMAIL_STOCK_MAIL)); plugin_add_toolbar_item(geany_plugin, GTK_TOOL_ITEM(mailbutton)); ui_add_document_sensitive(mailbutton); #if GTK_CHECK_VERSION(2, 12, 0) gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(mailbutton), _("Send by mail")); #endif g_signal_connect (G_OBJECT(mailbutton), "clicked", G_CALLBACK(send_as_attachment), NULL); gtk_widget_show_all (mailbutton); icon_in_toolbar = TRUE; } static void cleanup_icon(void) { if (mailbutton != NULL) { gtk_container_remove(GTK_CONTAINER (geany->main_widgets->toolbar), mailbutton); } icon_in_toolbar = FALSE; } static struct { GtkWidget *entry; GtkWidget *checkbox_icon_to_toolbar; GtkWidget *checkbox_use_addressdialog; } pref_widgets; static void on_configure_response(G_GNUC_UNUSED GtkDialog *dialog, gint response, G_GNUC_UNUSED gpointer user_data) { if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY) { GKeyFile *config = g_key_file_new(); gchar *config_dir = g_path_get_dirname(config_file); gboolean configure_toogle_status; g_free(mailer); mailer = g_strdup(gtk_entry_get_text(GTK_ENTRY(pref_widgets.entry))); configure_toogle_status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar)); if (icon_in_toolbar ^ configure_toogle_status) /* Only do anything if a status change is needed */ { if (icon_in_toolbar == TRUE) { /* We need to remove the toolbar icon */ cleanup_icon(); } else { /* We need to show the toolbar icon */ show_icon(); } } if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_use_addressdialog)) == TRUE) use_address_dialog = TRUE; else use_address_dialog = FALSE; g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL); g_key_file_set_string(config, "tools", "mailer", mailer); g_key_file_set_boolean(config, "tools", "address_usage", use_address_dialog); g_key_file_set_boolean(config, "icon", "show_icon", icon_in_toolbar); if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0) { dialogs_show_msgbox(GTK_MESSAGE_ERROR, _("Plugin configuration directory could not be created.")); } else { /* write config to file */ gchar *data = g_key_file_to_data(config, NULL, NULL); utils_write_file(config_file, data); g_free(data); } g_key_file_free(config); g_free(config_dir); } } GtkWidget *plugin_configure(GtkDialog *dialog) { GtkWidget *label1, *label2, *vbox; vbox = gtk_vbox_new(FALSE, 6); /* add a label and a text entry to the dialog */ label1 = gtk_label_new(_("Path and options for the mail client:")); gtk_widget_show(label1); gtk_misc_set_alignment(GTK_MISC(label1), 0, 0.5); pref_widgets.entry = gtk_entry_new(); gtk_widget_show(pref_widgets.entry); if (mailer != NULL) gtk_entry_set_text(GTK_ENTRY(pref_widgets.entry), mailer); label2 = gtk_label_new(_("Note: \n\t%f will be replaced by your file."\ "\n\t%r will be replaced by recipient's email address."\ "\n\t%b will be replaced by basename of a file"\ "\n\tExamples:"\ "\n\tsylpheed --attach \"%f\" --compose \"%r\""\ "\n\tmutt -s \"Sending \'%b\'\" -a \"%f\" \"%r\"")); gtk_label_set_selectable(GTK_LABEL(label2), TRUE); gtk_widget_show(label2); gtk_misc_set_alignment(GTK_MISC(label2), 0, 0.5); pref_widgets.checkbox_icon_to_toolbar = gtk_check_button_new_with_label(_("Show toolbar icon")); gtk_widget_set_tooltip_text(pref_widgets.checkbox_icon_to_toolbar, _("Shows a icon in the toolbar to send file more easy.")); gtk_button_set_focus_on_click(GTK_BUTTON(pref_widgets.checkbox_icon_to_toolbar), FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_icon_to_toolbar), icon_in_toolbar); gtk_widget_show(pref_widgets.checkbox_icon_to_toolbar); pref_widgets.checkbox_use_addressdialog = gtk_check_button_new_with_label(_ ("Use dialog for entering email address of recipients")); gtk_button_set_focus_on_click(GTK_BUTTON(pref_widgets.checkbox_use_addressdialog), FALSE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pref_widgets.checkbox_use_addressdialog), use_address_dialog); gtk_widget_show(pref_widgets.checkbox_use_addressdialog); gtk_box_pack_start(GTK_BOX(vbox), label1, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), pref_widgets.entry, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), label2, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), pref_widgets.checkbox_icon_to_toolbar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), pref_widgets.checkbox_use_addressdialog, FALSE, FALSE, 0); gtk_widget_show(vbox); g_signal_connect(dialog, "response", G_CALLBACK(on_configure_response), NULL); return vbox; } /* Called by Geany to initialize the plugin */ void plugin_init(GeanyData G_GNUC_UNUSED *data) { GKeyFile *config = g_key_file_new(); gchar *kb_label = _("Send file by mail"); GtkWidget *menu_mail = NULL; GeanyKeyGroup *key_group; config_file = g_strconcat(geany->app->configdir, G_DIR_SEPARATOR_S, "plugins", G_DIR_SEPARATOR_S, "geanysendmail", G_DIR_SEPARATOR_S, "mail.conf", NULL); /* Initialising options from config file */ g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL); mailer = g_key_file_get_string(config, "tools", "mailer", NULL); address = g_key_file_get_string(config, "tools", "address", NULL); use_address_dialog = g_key_file_get_boolean(config, "tools", "address_usage", NULL); icon_in_toolbar = g_key_file_get_boolean(config, "icon", "show_icon", NULL); g_key_file_free(config); add_stock_item(); if (icon_in_toolbar == TRUE) { show_icon(); } /* Build up menu entry */ menu_mail = gtk_menu_item_new_with_mnemonic(_("_Mail document")); gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), menu_mail); gtk_widget_set_tooltip_text(menu_mail, _("Sends the opened file as unzipped attachment by any mailer from your $PATH")); g_signal_connect(G_OBJECT(menu_mail), "activate", G_CALLBACK(send_as_attachment), NULL); /* setup keybindings */ key_group = plugin_set_key_group(geany_plugin, "sendmail", COUNT_KB, NULL); keybindings_set_item(key_group, SENDMAIL_KB, key_send_as_attachment, 0, 0, "send_file_as_attachment", kb_label, menu_mail); gtk_widget_show_all(menu_mail); ui_add_document_sensitive(menu_mail); main_menu_item = menu_mail; } void plugin_cleanup(void) { gtk_widget_destroy(main_menu_item); cleanup_icon(); g_free(mailer); g_free(address); g_free(config_file); } geany-plugins-1.27/geanysendmail/README0000644000175000017500000001140412671261352020220 0ustar00frlanfrlan00000000000000GeanySendMail ============= .. contents:: About ------ GeanySendMail is a little plugin to send a document as attachment using the preferred mail client from inside Geany. It is similar to the envelope symbol of most office tools and requires a mail client that is supporting remote calls. Requirements ------------ For compiling the plugin yourself, you will need the GTK (>= 2.8.0) libraries and header files. You will also need its dependency libraries and header files, such as Pango, Glib and ATK. All these files are available at http://www.gtk.org. And obviously, you will need to have Geany installed. If you have Geany installed from the sources, you should be ready to go. If you used a prepared package e.g. from your distribution you probably need to install an additional package, this might be called geany-dev or geany-devel. Please note that in order to compile and use this plugin, you need Geany 0.20 or later (Geany Plugin API v199 or higher). Furthermore you need, of course, a C compiler and the Make tool. The GNU versions of these tools are recommended. Installation ------------ This version of the plugin is installed with the combined geany-plugins release. Please check README of this package or download stand alone version of plugin from http://frank.uvena.de/en/Geany/geanysendmail/ Usage ----- After installed successfully, load the plugin in Geany's plugin manager and a new menu item in the Tools menu will appear. Before you can start you need to configure your mail client. This can be done in the configuration dialog (details on it later). You can also assign a keyboard shortcut in Geany's preferences dialog to send your document. Configuration ------------- In the configuration dialog you can set up a command that is called by the plugin to communicate with your mail client. Depending on what's your favorite mailer, the command will differ. A number of placeholders are available for doing this: * %s: Will be replaced by the complete path of the file that should be send. * %r: Will be replaced by one or more recipient's email address that can be entered inside a separate dialog. (Please remember during input, what your mail client is expecting here) * %b: Will be replace by the file name. For a file /tmp/foo.baa it will be replaced by foo.baa. Depending on how you like to use, you can combine all of the placeholders to build up your command. It is possible to use one placeholder several times. When using keep care, as the placeholders are replace step by step, so a filename containing %b might have some funny outcome. However, examples could be: Sylpheed: sylpheed --attach "%f" --compose "%r" mutt: mutt -s "Sending '%b'" -a "%f" "%r" Mozilla Thunderbird at Windows: "C:\Program Files\Mozilla Thunderbird\thunderbird.exe" \ -compose to="%r",subject="%b",attachment="%f" Evolution: evolution "mailto:?to=%r&attachment=%f" evolution "mailto:?attachment=%f" In theory it should also work together with tools like Microsoft Outlook - Unfortunately the author wasn't able to bring it up running. Input for the correct commandline is highly welcome. Development ----------- You can checkout the current source code from the git repository at github.com. Get the code by: git clone https://github.com/geany/geany-plugins.git If you want to create a patch, please respect the license of GeanySendMail (GPLv2 or above) as well as intellectual property of third. Patches that should be included to the default distribution must be licensed under the same conditions as GeanySendMail by the copyright owner. Known issues ------------ In case you are working with white spaces either in your path names, file names or at mail addresses (e.g. for separating two addresses) you should keep care of proper quoting since %s, %b and %r will be replaced without any quotes. For more recent information, issues will be tracked at https://github.com/geany/geany-plugins/issues License ------- GeanySendMail and all its parts is distributed 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. A copy of this license can be found in the file COPYING included with the source code of this program. If not, you will be able to get a copy by contacting the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Bugs, questions, bugs, homepage --------------------------------- If you found any bugs or want to provide a patch, please contact Frank Lanitz (frank(at)geany(dot)org). Please also do so, if you got any questions and visiting http://frank.uvena.de/en/Geany/geanysendmail didn't help you to figure out the answer. Visiting the website is also a good start if you want to check for any update on this plugin. geany-plugins-1.27/webhelper/0000755000175000017500000000000012671261444016477 5ustar00frlanfrlan00000000000000geany-plugins-1.27/webhelper/Makefile.in0000644000175000017500000006452112671261403020547 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = webhelper ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindoc_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(plugindocdir)" DATA = $(dist_plugindoc_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/vars.auxfiles.mk \ $(top_srcdir)/build/vars.docs.mk AUTHORS COPYING ChangeLog \ NEWS README TODO DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ plugindocdir = $(docdir)/$(plugin) htmldocdir = $(plugindocdir) plugindatadir = $(pkgdatadir)/$(plugin) pluginlibdir = $(pkglibdir)/$(plugin) examplesdir = $(plugindatadir) dist_plugindoc_DATA = \ README \ ChangeLog \ NEWS \ COPYING \ AUTHORS \ $(AUXFILES) EXTRA_DIST = AUXFILES = TODO SUBDIRS = src plugin = webhelper all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign webhelper/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign webhelper/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_plugindocDATA: $(dist_plugindoc_DATA) @$(NORMAL_INSTALL) @list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(plugindocdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(plugindocdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindocdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindocdir)" || exit $$?; \ done uninstall-dist_plugindocDATA: @$(NORMAL_UNINSTALL) @list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(plugindocdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(plugindocdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dist_plugindocDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_plugindocDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_plugindocDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am \ uninstall-dist_plugindocDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/webhelper/Makefile.am0000644000175000017500000000014012671261352020524 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk AUXFILES = TODO SUBDIRS = src plugin = webhelper geany-plugins-1.27/webhelper/AUTHORS0000644000175000017500000000006012671261352017541 0ustar00frlanfrlan00000000000000Colomban Wendling geany-plugins-1.27/webhelper/TODO0000644000175000017500000000105412671261352017165 0ustar00frlanfrlan00000000000000TODO: * Save & restore the state of the inspector (docked/undocked, visible/hidden) * Allow reloading after build? Useful if the web page needs to be compiled manually. * Add possibility to "view current file" in the web view? (probably only useful for plain HTML editing) FIXME: * Find why docking the inspector window don't work in the plugin. Note that this DOES work when GwhBrowser is used by a test application. Moreover, this works when the browser is in its separate window. ...strange. A bug in WebKit or WebKitGTK I guess. geany-plugins-1.27/webhelper/NEWS0000644000175000017500000000004712671261352017175 0ustar00frlanfrlan00000000000000Web Helper 0.1 * Initial release. geany-plugins-1.27/webhelper/COPYING0000644000175000017500000010451312671261352017534 0ustar00frlanfrlan00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . geany-plugins-1.27/webhelper/ChangeLog0000644000175000017500000000000012671261352020235 0ustar00frlanfrlan00000000000000geany-plugins-1.27/webhelper/src/0000755000175000017500000000000012671261444017266 5ustar00frlanfrlan00000000000000geany-plugins-1.27/webhelper/src/gwh-utils.h0000644000175000017500000000336712671261352021371 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef H_GWH_UTILS #define H_GWH_UTILS #include #include #include G_BEGIN_DECLS /* emulates some values of GdkWindowTypeHint */ typedef enum _GwhWindowType { GWH_WINDOW_TYPE_NORMAL = GDK_WINDOW_TYPE_HINT_NORMAL, GWH_WINDOW_TYPE_UTILITY = GDK_WINDOW_TYPE_HINT_UTILITY } GwhWindowType; G_GNUC_INTERNAL GdkPixbuf *gwh_pixbuf_new_from_uri (const gchar *uri, GError **error); G_GNUC_INTERNAL gchar *gwh_get_window_geometry (GtkWindow *window, gint default_x, gint default_y); G_GNUC_INTERNAL void gwh_set_window_geometry (GtkWindow *window, const gchar *geometry, gint *x_, gint *y_); G_END_DECLS #endif /* guard */ geany-plugins-1.27/webhelper/src/gwh-browser.c0000644000175000017500000014121012671261352021675 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include "gwh-browser.h" #include "config.h" #include #include #include #include #include #include #include #include "gwh-utils.h" #include "gwh-settings.h" #include "gwh-keybindings.h" #include "gwh-plugin.h" #if ! GTK_CHECK_VERSION (2, 18, 0) # ifndef gtk_widget_set_visible # define gtk_widget_set_visible(w, v) \ ((v) ? gtk_widget_show (w) : gtk_widget_hide (w)) # endif /* defined (gtk_widget_set_visible) */ # ifndef gtk_widget_get_visible # define gtk_widget_get_visible(w) \ (GTK_WIDGET_VISIBLE (w)) # endif /* defined (gtk_widget_get_visible) */ #endif /* GTK_CHECK_VERSION (2, 18, 0) */ #if ! GTK_CHECK_VERSION (2, 20, 0) # ifndef gtk_widget_get_mapped # define gtk_widget_get_mapped(w) \ (GTK_WIDGET_MAPPED ((w))) # endif /* defined (gtk_widget_get_mapped) */ #endif /* GTK_CHECK_VERSION (2, 20, 0) */ #if ! GTK_CHECK_VERSION (3, 0, 0) /* the GtkComboBoxText API is actually available in 2.24, but Geany's * gtkcompat.h hides it on < 3.0.0 to keep ABI compatibility on all 2.x, so we * need to use the old API there too. */ # define gtk_combo_box_get_entry_text_column(c) \ (gtk_combo_box_entry_get_text_column (GTK_COMBO_BOX_ENTRY (c))) #endif /* GTK_CHECK_VERSION (3, 0, 0) */ #if ! GTK_CHECK_VERSION (3, 0, 0) static void combo_box_text_remove_all (GtkComboBoxText *combo_box) { GtkListStore *store; g_return_if_fail (GTK_IS_COMBO_BOX_TEXT (combo_box)); store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box))); gtk_list_store_clear (store); } # define gtk_combo_box_text_remove_all combo_box_text_remove_all #endif /* GTK_CHECK_VERSION (3, 0, 0) */ #if GTK_CHECK_VERSION (3, 0, 0) /* alias GtkObject, we implement the :destroy signal */ # define GtkObject GtkWidget # define GtkObjectClass GtkWidgetClass # define GTK_OBJECT_CLASS GTK_WIDGET_CLASS #endif /* GTK_CHECK_VERSION (3, 0, 0) */ struct _GwhBrowserPrivate { GwhSettings *settings; GIcon *default_icon; GtkWidget *toolbar; GtkWidget *paned; GtkWidget *web_view; WebKitWebInspector *inspector; GtkWidget *inspector_view; /* the widget that should be shown to * display the inspector, not necessarily * a WebKitWebView */ GtkWidget *inspector_window; gint inspector_window_x; gint inspector_window_y; GtkWidget *inspector_web_view; GtkWidget *url_entry; GtkWidget *url_combo; GtkToolItem *item_prev; GtkToolItem *item_next; GtkToolItem *item_cancel; GtkToolItem *item_reload; GtkToolItem *item_inspector; GtkWidget *statusbar; gchar *hovered_link; }; enum { PROP_0, PROP_INSPECTOR_TRANSIENT_FOR, PROP_ORIENTATION, PROP_URI, PROP_WEB_VIEW, PROP_TOOLBAR }; enum { POPULATE_POPUP, LAST_SIGNAL }; static guint signals[LAST_SIGNAL] = {0}; G_DEFINE_TYPE_WITH_CODE (GwhBrowser, gwh_browser, GTK_TYPE_VBOX, G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) static void inspector_set_detached (GwhBrowser *self, gboolean detached); static void set_location_icon (GwhBrowser *self, const gchar *icon_uri) { gboolean success = FALSE; if (icon_uri) { GdkPixbuf *icon; icon = gwh_pixbuf_new_from_uri (icon_uri, NULL); if (icon) { gtk_entry_set_icon_from_pixbuf (GTK_ENTRY (self->priv->url_entry), GTK_ENTRY_ICON_PRIMARY, icon); g_object_unref (icon); success = TRUE; } } if (! success) { if (G_UNLIKELY (self->priv->default_icon == NULL)) { gchar *ctype; ctype = g_content_type_from_mime_type ("text/html"); self->priv->default_icon = g_content_type_get_icon (ctype); g_free (ctype); } gtk_entry_set_icon_from_gicon (GTK_ENTRY (self->priv->url_entry), GTK_ENTRY_ICON_PRIMARY, self->priv->default_icon); } } static gchar * get_web_inspector_window_geometry (GwhBrowser *self) { return gwh_get_window_geometry (GTK_WINDOW (self->priv->inspector_window), self->priv->inspector_window_x, self->priv->inspector_window_y); } static void set_web_inspector_window_geometry (GwhBrowser *self, const gchar *geometry) { gwh_set_window_geometry (GTK_WINDOW (self->priv->inspector_window), geometry, &self->priv->inspector_window_x, &self->priv->inspector_window_y); } /* settings change notifications */ static void on_settings_browser_last_uri_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { gchar *uri; g_object_get (object, pspec->name, &uri, NULL); gwh_browser_set_uri (self, uri); g_free (uri); } static void on_settings_browser_bookmarks_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { gchar **bookmarks; g_return_if_fail (GWH_IS_BROWSER (self)); gtk_combo_box_text_remove_all (GTK_COMBO_BOX_TEXT (self->priv->url_combo)); bookmarks = gwh_browser_get_bookmarks (self); if (bookmarks) { gchar **p; for (p = bookmarks; *p; p++) { gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (self->priv->url_combo), *p); } g_strfreev (bookmarks); } } static void on_settings_browser_orientation_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { GtkOrientation orientation; g_object_get (object, pspec->name, &orientation, NULL); if (orientation != gtk_orientable_get_orientation (GTK_ORIENTABLE (self))) { gtk_orientable_set_orientation (GTK_ORIENTABLE (self), orientation); } } static void on_settings_inspector_window_geometry_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { gchar *geometry; g_object_get (object, pspec->name, &geometry, NULL); set_web_inspector_window_geometry (self, geometry); g_free (geometry); } static void on_settings_inspector_detached_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { gboolean detached; g_object_get (object, pspec->name, &detached, NULL); inspector_set_detached (self, detached); } static void on_settings_wm_windows_skip_taskbar_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { gboolean skips_taskbar; g_object_get (object, pspec->name, &skips_taskbar, NULL); gtk_window_set_skip_taskbar_hint (GTK_WINDOW (self->priv->inspector_window), skips_taskbar); } static void on_settings_wm_windows_type_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { gint type; gboolean remap = gtk_widget_get_mapped (self->priv->inspector_window); /* We need to remap the window if we change its type because it's not doable * when mapped. So, hack around. */ g_object_get (object, pspec->name, &type, NULL); if (remap) { gtk_widget_unmap (self->priv->inspector_window); } gtk_window_set_type_hint (GTK_WINDOW (self->priv->inspector_window), type); if (remap) { gtk_widget_map (self->priv->inspector_window); } } /* web inspector events handling */ #define INSPECTOR_DETACHED(self) \ (gtk_bin_get_child (GTK_BIN ((self)->priv->inspector_window)) != NULL) #define INSPECTOR_VISIBLE(self) \ (gtk_widget_get_visible ((self)->priv->inspector_view)) static void inspector_set_visible (GwhBrowser *self, gboolean visible) { if (visible != INSPECTOR_VISIBLE (self)) { if (visible) { webkit_web_inspector_show (self->priv->inspector); } else { webkit_web_inspector_close (self->priv->inspector); } } } static void inspector_hide_window (GwhBrowser *self) { if (gtk_widget_get_visible (self->priv->inspector_window)) { gtk_window_get_position (GTK_WINDOW (self->priv->inspector_window), &self->priv->inspector_window_x, &self->priv->inspector_window_y); gtk_widget_hide (self->priv->inspector_window); } } static void inspector_show_window (GwhBrowser *self) { if (! gtk_widget_get_visible (self->priv->inspector_window)) { gtk_widget_show (self->priv->inspector_window); gtk_window_move (GTK_WINDOW (self->priv->inspector_window), self->priv->inspector_window_x, self->priv->inspector_window_y); } } static void inspector_set_detached (GwhBrowser *self, gboolean detached) { if (detached != INSPECTOR_DETACHED (self)) { if (detached) { gtk_widget_reparent (self->priv->inspector_view, self->priv->inspector_window); if (INSPECTOR_VISIBLE (self)) { inspector_show_window (self); } } else { gtk_widget_reparent (self->priv->inspector_view, self->priv->paned); inspector_hide_window (self); } g_object_set (self->priv->settings, "inspector-detached", detached, NULL); } } static WebKitWebView * on_inspector_inspect_web_view (WebKitWebInspector *inspector, WebKitWebView *view, GwhBrowser *self) { if (self->priv->inspector_web_view) { gtk_widget_destroy (self->priv->inspector_web_view); } self->priv->inspector_web_view = webkit_web_view_new (); gtk_widget_show (self->priv->inspector_web_view); gtk_container_add (GTK_CONTAINER (self->priv->inspector_view), self->priv->inspector_web_view); return WEBKIT_WEB_VIEW (self->priv->inspector_web_view); } static gboolean on_inspector_show_window (WebKitWebInspector *inspector, GwhBrowser *self) { gtk_widget_show (self->priv->inspector_view); if (INSPECTOR_DETACHED (self)) { inspector_show_window (self); } gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (self->priv->item_inspector), TRUE); return TRUE; } static gboolean on_inspector_close_window (WebKitWebInspector *inspector, GwhBrowser *self) { gtk_widget_hide (self->priv->inspector_view); inspector_hide_window (self); gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (self->priv->item_inspector), FALSE); gtk_widget_grab_focus (gtk_widget_get_toplevel (self->priv->web_view)); return TRUE; } static gboolean on_inspector_detach_window (WebKitWebInspector *inspector, GwhBrowser *self) { inspector_set_detached (self, TRUE); return TRUE; } static gboolean on_inspector_attach_window (WebKitWebInspector *inspector, GwhBrowser *self) { inspector_set_detached (self, FALSE); return TRUE; } static gboolean on_inspector_window_delete_event (GtkWidget *window, GdkEvent *event, GwhBrowser *self) { webkit_web_inspector_close (self->priv->inspector); return TRUE; } /* web view events hanlding */ static void on_item_inspector_toggled (GtkToggleToolButton *button, GwhBrowser *self) { inspector_set_visible (self, gtk_toggle_tool_button_get_active (button)); } static void on_url_entry_activate (GtkEntry *entry, GwhBrowser *self) { gwh_browser_set_uri (self, gtk_entry_get_text (entry)); } static void on_url_combo_active_notify (GtkComboBox *combo, GParamSpec *pspec, GwhBrowser *self) { if (gtk_combo_box_get_active (combo) != -1) { const gchar *uri = gtk_entry_get_text (GTK_ENTRY (self->priv->url_entry)); gwh_browser_set_uri (self, uri); } } static void on_item_bookmark_toggled (GtkCheckMenuItem *item, GwhBrowser *self) { if (gtk_check_menu_item_get_active (item)) { gwh_browser_add_bookmark (self, gwh_browser_get_uri (self)); } else { gwh_browser_remove_bookmark (self, gwh_browser_get_uri (self)); } } static void on_url_entry_icon_press (GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEventButton *event, GwhBrowser *self) { if (icon_pos == GTK_ENTRY_ICON_PRIMARY) { GtkWidget *menu = gtk_menu_new (); GtkWidget *item; const gchar *uri = gwh_browser_get_uri (self); item = gtk_check_menu_item_new_with_mnemonic (_("Bookmark this website")); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), gwh_browser_has_bookmark (self, uri)); g_signal_connect (item, "toggled", G_CALLBACK (on_item_bookmark_toggled), self); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, event->button, event->time); } } static gboolean on_entry_completion_match_selected (GtkEntryCompletion *comp, GtkTreeModel *model, GtkTreeIter *iter, GwhBrowser *self) { gint column = gtk_entry_completion_get_text_column (comp); gchar *row; gtk_tree_model_get (model, iter, column, &row, -1); /* set the entry value too in the unlikely case the selected URI is the * currently viewed one, in which case set_uri() won't change it */ gtk_entry_set_text (GTK_ENTRY (self->priv->url_entry), row); gwh_browser_set_uri (self, row); g_free (row); return TRUE; } static void update_history (GwhBrowser *self) { WebKitWebView *web_view = WEBKIT_WEB_VIEW (self->priv->web_view); gtk_widget_set_sensitive (GTK_WIDGET (self->priv->item_prev), webkit_web_view_can_go_back (web_view)); gtk_widget_set_sensitive (GTK_WIDGET (self->priv->item_next), webkit_web_view_can_go_forward (web_view)); } static void update_load_status (GwhBrowser *self) { gboolean loading = FALSE; WebKitWebView *web_view = WEBKIT_WEB_VIEW (self->priv->web_view); switch (webkit_web_view_get_load_status (web_view)) { case WEBKIT_LOAD_PROVISIONAL: case WEBKIT_LOAD_COMMITTED: case WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT: loading = TRUE; break; case WEBKIT_LOAD_FINISHED: case WEBKIT_LOAD_FAILED: loading = FALSE; break; } gtk_widget_set_sensitive (GTK_WIDGET (self->priv->item_reload), ! loading); gtk_widget_set_visible (GTK_WIDGET (self->priv->item_reload), ! loading); gtk_widget_set_sensitive (GTK_WIDGET (self->priv->item_cancel), loading); gtk_widget_set_visible (GTK_WIDGET (self->priv->item_cancel), loading); update_history (self); } static void on_web_view_load_status_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { update_load_status (self); } static gboolean on_web_view_load_error (WebKitWebView *web_view, WebKitWebFrame *web_frame, gchar *uri, gpointer web_error, GwhBrowser *self) { update_load_status (self); return FALSE; /* we didn't really handled the error, so return %FALSE */ } static void on_web_view_uri_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { const gchar *uri; uri = webkit_web_view_get_uri (WEBKIT_WEB_VIEW (self->priv->web_view)); gtk_entry_set_text (GTK_ENTRY (self->priv->url_entry), uri); g_object_set (self->priv->settings, "browser-last-uri", uri, NULL); update_history (self); } static void on_web_view_icon_uri_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { const gchar *icon_uri; icon_uri = webkit_web_view_get_icon_uri (WEBKIT_WEB_VIEW (self->priv->web_view)); set_location_icon (self, icon_uri); } static void on_web_view_progress_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { gdouble value; value = webkit_web_view_get_progress (WEBKIT_WEB_VIEW (self->priv->web_view)); if (value >= 1.0) { value = 0.0; } gtk_entry_set_progress_fraction (GTK_ENTRY (self->priv->url_entry), value); } static void on_item_flip_orientation_activate (GtkMenuItem *item, GwhBrowser *self) { gtk_orientable_set_orientation (GTK_ORIENTABLE (self), gtk_orientable_get_orientation (GTK_ORIENTABLE (self)) == GTK_ORIENTATION_VERTICAL ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL); } static void on_item_zoom_100_activate (GtkMenuItem *item, GwhBrowser *self) { webkit_web_view_set_zoom_level (WEBKIT_WEB_VIEW (self->priv->web_view), 1.0); } static void on_item_full_content_zoom_activate (GtkCheckMenuItem *item, GwhBrowser *self) { webkit_web_view_set_full_content_zoom (WEBKIT_WEB_VIEW (self->priv->web_view), gtk_check_menu_item_get_active (item)); } static void on_web_view_populate_popup (WebKitWebView *view, GtkMenu *menu, GwhBrowser *self) { GtkWidget *item; GtkWidget *submenu; #define ADD_SEPARATOR(menu) \ item = gtk_separator_menu_item_new (); \ gtk_widget_show (item); \ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item) ADD_SEPARATOR (menu); /* Zoom menu */ submenu = gtk_menu_new (); item = gtk_menu_item_new_with_mnemonic (_("_Zoom")); gtk_widget_show (item); gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); /* zoom in */ item = gtk_image_menu_item_new_from_stock (GTK_STOCK_ZOOM_IN, NULL); g_signal_connect_swapped (item, "activate", G_CALLBACK (webkit_web_view_zoom_in), view); gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item); /* zoom out */ item = gtk_image_menu_item_new_from_stock (GTK_STOCK_ZOOM_OUT, NULL); g_signal_connect_swapped (item, "activate", G_CALLBACK (webkit_web_view_zoom_out), view); gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item); /* zoom 1:1 */ ADD_SEPARATOR (submenu); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_ZOOM_100, NULL); g_signal_connect (item, "activate", G_CALLBACK (on_item_zoom_100_activate), self); gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item); /* full content zoom */ ADD_SEPARATOR (submenu); item = gtk_check_menu_item_new_with_mnemonic (_("Full-_content zoom")); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), webkit_web_view_get_full_content_zoom (view)); g_signal_connect (item, "activate", G_CALLBACK (on_item_full_content_zoom_activate), self); gtk_menu_shell_append (GTK_MENU_SHELL (submenu), item); /* show zoom sumbenu */ gtk_widget_show_all (submenu); ADD_SEPARATOR (menu); item = gtk_menu_item_new_with_label (_("Flip panes orientation")); g_signal_connect (item, "activate", G_CALLBACK (on_item_flip_orientation_activate), self); gtk_widget_show (item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); if (! INSPECTOR_VISIBLE (self) || INSPECTOR_DETACHED (self)) { gtk_widget_set_sensitive (item, FALSE); } #undef ADD_SEPARATOR g_signal_emit (self, signals[POPULATE_POPUP], 0, menu); } static gboolean on_web_view_scroll_event (GtkWidget *widget, GdkEventScroll *event, GwhBrowser *self) { guint mods = event->state & gtk_accelerator_get_default_mod_mask (); gboolean handled = FALSE; if (mods == GDK_CONTROL_MASK) { handled = TRUE; switch (event->direction) { case GDK_SCROLL_DOWN: webkit_web_view_zoom_out (WEBKIT_WEB_VIEW (self->priv->web_view)); break; case GDK_SCROLL_UP: webkit_web_view_zoom_in (WEBKIT_WEB_VIEW (self->priv->web_view)); break; default: handled = FALSE; } } return handled; } static void on_orientation_notify (GObject *object, GParamSpec *pspec, GwhBrowser *self) { g_object_set (G_OBJECT (self->priv->settings), "browser-orientation", gtk_orientable_get_orientation (GTK_ORIENTABLE (self)), NULL); } static void gwh_browser_destroy (GtkObject *object) { GwhBrowser *self = GWH_BROWSER (object); gchar *geometry; /* save the setting now because we can't really set it at the time it changed, * but it's not a problem, anyway probably nobody but us is interested by the * geometry of our inspector window. */ geometry = get_web_inspector_window_geometry (self); g_object_set (self->priv->settings, "inspector-window-geometry", geometry, NULL); g_free (geometry); /* remove signal handlers that might get called during the destruction phase * but that rely on stuff that might already heave been destroyed */ g_signal_handlers_disconnect_matched (self->priv->inspector, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, self); g_signal_handlers_disconnect_matched (self->priv->web_view, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, self); g_signal_handlers_disconnect_matched (self->priv->settings, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, self); /* also destroy the window, since it has no parent that will tell it to die */ gtk_widget_destroy (self->priv->inspector_window); GTK_OBJECT_CLASS (gwh_browser_parent_class)->destroy (object); } static void gwh_browser_finalize (GObject *object) { GwhBrowser *self = GWH_BROWSER (object); if (self->priv->default_icon) { g_object_unref (self->priv->default_icon); } g_object_unref (self->priv->settings); g_object_unref (self->priv->statusbar); g_free (self->priv->hovered_link); G_OBJECT_CLASS (gwh_browser_parent_class)->finalize (object); } static void gwh_browser_constructed (GObject *object) { GwhBrowser *self = GWH_BROWSER (object); if (G_OBJECT_CLASS (gwh_browser_parent_class)->constructed) { G_OBJECT_CLASS (gwh_browser_parent_class)->constructed (object); } /* a bit ugly, fake notifications */ g_object_notify (G_OBJECT (self->priv->settings), "browser-last-uri"); g_object_notify (G_OBJECT (self->priv->settings), "browser-bookmarks"); g_object_notify (G_OBJECT (self->priv->settings), "browser-orientation"); g_object_notify (G_OBJECT (self->priv->settings), "inspector-window-geometry"); } static void gwh_browser_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { switch (prop_id) { case PROP_INSPECTOR_TRANSIENT_FOR: g_value_set_object (value, gwh_browser_get_inspector_transient_for (GWH_BROWSER (object))); break; case PROP_URI: g_value_set_string (value, gwh_browser_get_uri (GWH_BROWSER (object))); break; case PROP_ORIENTATION: g_value_set_enum (value, gtk_orientable_get_orientation (GTK_ORIENTABLE (GWH_BROWSER (object)->priv->paned))); break; case PROP_TOOLBAR: g_value_set_object (value, GWH_BROWSER (object)->priv->toolbar); break; case PROP_WEB_VIEW: g_value_set_object (value, GWH_BROWSER (object)->priv->web_view); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void gwh_browser_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { switch (prop_id) { case PROP_INSPECTOR_TRANSIENT_FOR: gwh_browser_set_inspector_transient_for (GWH_BROWSER (object), g_value_get_object (value)); break; case PROP_URI: gwh_browser_set_uri (GWH_BROWSER (object), g_value_get_string (value)); break; case PROP_ORIENTATION: gtk_orientable_set_orientation (GTK_ORIENTABLE (GWH_BROWSER (object)->priv->paned), g_value_get_enum (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void gwh_browser_show_all (GtkWidget *widget) { /* don't show_all() on this widget, it would show the cancel or reload * button */ gtk_widget_show (widget); } static void gwh_browser_class_init (GwhBrowserClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkObjectClass *gtkobject_class = GTK_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->finalize = gwh_browser_finalize; object_class->constructed = gwh_browser_constructed; object_class->get_property = gwh_browser_get_property; object_class->set_property = gwh_browser_set_property; gtkobject_class->destroy = gwh_browser_destroy; widget_class->show_all = gwh_browser_show_all; signals[POPULATE_POPUP] = g_signal_new ("populate-popup", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GwhBrowserClass, populate_popup), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GTK_TYPE_MENU); g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); g_object_class_install_property (object_class, PROP_INSPECTOR_TRANSIENT_FOR, g_param_spec_object ("inspector-transient-for", "Inspector transient for", "The parent window of the inspector when detached", GTK_TYPE_WINDOW, G_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_URI, g_param_spec_string ("uri", "URI", "The browser's URI", NULL, G_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_WEB_VIEW, g_param_spec_object ("web-view", "Web view", "The browser's web view", WEBKIT_TYPE_WEB_VIEW, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_TOOLBAR, g_param_spec_object ("toolbar", "Toolbar", "The browser's toolbar", GTK_TYPE_TOOLBAR, G_PARAM_READABLE)); g_type_class_add_private (klass, sizeof (GwhBrowserPrivate)); } /* a GtkEntryCompletionMatchFunc matching anywhere in the haystack */ static gboolean url_completion_match_func (GtkEntryCompletion *comp, const gchar *key, GtkTreeIter *iter, gpointer dummy) { GtkTreeModel *model = gtk_entry_completion_get_model (comp); gint column = gtk_entry_completion_get_text_column (comp); gchar *row = NULL; gboolean match = FALSE; gtk_tree_model_get (model, iter, column, &row, -1); if (row) { SETPTR (row, g_utf8_normalize (row, -1, G_NORMALIZE_DEFAULT)); SETPTR (row, g_utf8_casefold (row, -1)); match = strstr (row, key) != NULL; g_free (row); } return match; } static GtkWidget * create_toolbar (GwhBrowser *self) { GtkWidget *toolbar; GtkToolItem *item; GtkEntryCompletion *comp; toolbar = g_object_new (GTK_TYPE_TOOLBAR, "icon-size", GTK_ICON_SIZE_MENU, "toolbar-style", GTK_TOOLBAR_ICONS, NULL); self->priv->item_prev = gtk_tool_button_new_from_stock (GTK_STOCK_GO_BACK); gtk_tool_item_set_tooltip_text (self->priv->item_prev, _("Back")); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), self->priv->item_prev, -1); gtk_widget_show (GTK_WIDGET (self->priv->item_prev)); self->priv->item_next = gtk_tool_button_new_from_stock (GTK_STOCK_GO_FORWARD); gtk_tool_item_set_tooltip_text (self->priv->item_next, _("Forward")); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), self->priv->item_next, -1); gtk_widget_show (GTK_WIDGET (self->priv->item_next)); self->priv->item_cancel = gtk_tool_button_new_from_stock (GTK_STOCK_CANCEL); gtk_tool_item_set_tooltip_text (self->priv->item_cancel, _("Cancel loading")); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), self->priv->item_cancel, -1); /* don't show cancel */ self->priv->item_reload = gtk_tool_button_new_from_stock (GTK_STOCK_REFRESH); gtk_tool_item_set_tooltip_text (self->priv->item_reload, _("Reload current page")); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), self->priv->item_reload, -1); gtk_widget_show (GTK_WIDGET (self->priv->item_reload)); self->priv->url_combo = gtk_combo_box_text_new_with_entry (); item = gtk_tool_item_new (); gtk_tool_item_set_is_important (item, TRUE); gtk_container_add (GTK_CONTAINER (item), self->priv->url_combo); gtk_tool_item_set_expand (item, TRUE); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); gtk_widget_show_all (GTK_WIDGET (item)); self->priv->url_entry = gtk_bin_get_child (GTK_BIN (self->priv->url_combo)); set_location_icon (self, NULL); gtk_entry_set_icon_tooltip_text (GTK_ENTRY (self->priv->url_entry), GTK_ENTRY_ICON_PRIMARY, _("Website information and settings")); comp = gtk_entry_completion_new (); gtk_entry_completion_set_model (comp, gtk_combo_box_get_model (GTK_COMBO_BOX (self->priv->url_combo))); gtk_entry_completion_set_text_column (comp, gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (self->priv->url_combo))); gtk_entry_completion_set_match_func (comp, url_completion_match_func, NULL, NULL); gtk_entry_set_completion (GTK_ENTRY (self->priv->url_entry), comp); self->priv->item_inspector = gtk_toggle_tool_button_new_from_stock (GTK_STOCK_INFO); gtk_tool_button_set_label (GTK_TOOL_BUTTON (self->priv->item_inspector), _("Web inspector")); gtk_tool_item_set_tooltip_text (self->priv->item_inspector, _("Toggle web inspector")); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), self->priv->item_inspector, -1); gtk_widget_show (GTK_WIDGET (self->priv->item_inspector)); gtk_widget_set_sensitive (GTK_WIDGET (self->priv->item_prev), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (self->priv->item_next), FALSE); gtk_widget_set_sensitive (GTK_WIDGET (self->priv->item_cancel), FALSE); g_signal_connect_swapped (G_OBJECT (self->priv->item_prev), "clicked", G_CALLBACK (webkit_web_view_go_back), self->priv->web_view); g_signal_connect_swapped (G_OBJECT (self->priv->item_next), "clicked", G_CALLBACK (webkit_web_view_go_forward), self->priv->web_view); g_signal_connect_swapped (G_OBJECT (self->priv->item_cancel), "clicked", G_CALLBACK (webkit_web_view_stop_loading), self->priv->web_view); g_signal_connect_swapped (G_OBJECT (self->priv->item_reload), "clicked", G_CALLBACK (webkit_web_view_reload), self->priv->web_view); g_signal_connect (G_OBJECT (self->priv->item_inspector), "toggled", G_CALLBACK (on_item_inspector_toggled), self); g_signal_connect (G_OBJECT (self->priv->url_entry), "activate", G_CALLBACK (on_url_entry_activate), self); g_signal_connect (G_OBJECT (self->priv->url_entry), "icon-press", G_CALLBACK (on_url_entry_icon_press), self); g_signal_connect (G_OBJECT (self->priv->url_combo), "notify::active", G_CALLBACK (on_url_combo_active_notify), self); g_signal_connect (G_OBJECT (comp), "match-selected", G_CALLBACK (on_entry_completion_match_selected), self); return toolbar; } static GtkWidget * create_inspector_window (GwhBrowser *self) { gboolean skips_taskbar; gboolean window_type; g_object_get (self->priv->settings, "wm-secondary-windows-skip-taskbar", &skips_taskbar, "wm-secondary-windows-type", &window_type, NULL); self->priv->inspector_window_x = self->priv->inspector_window_y = 0; self->priv->inspector_window = g_object_new (GTK_TYPE_WINDOW, "type", GTK_WINDOW_TOPLEVEL, "skip-taskbar-hint", skips_taskbar, "type-hint", window_type, "title", _("Web inspector"), NULL); g_signal_connect (self->priv->inspector_window, "delete-event", G_CALLBACK (on_inspector_window_delete_event), self); g_signal_connect (self->priv->settings, "notify::wm-secondary-windows-skip-taskbar", G_CALLBACK (on_settings_wm_windows_skip_taskbar_notify), self); g_signal_connect (self->priv->settings, "notify::wm-secondary-windows-type", G_CALLBACK (on_settings_wm_windows_type_notify), self); return self->priv->inspector_window; } static guint get_statusbar_context_id (GtkStatusbar *statusbar) { static guint id = 0; if (id == 0) { id = gtk_statusbar_get_context_id (statusbar, "gwh-browser-hovered-link"); } return id; } static void on_web_view_hovering_over_link (WebKitWebView *view, gchar *title, gchar *uri, GwhBrowser *self) { GtkStatusbar *statusbar = GTK_STATUSBAR (self->priv->statusbar); if (self->priv->hovered_link) { gtk_statusbar_pop (statusbar, get_statusbar_context_id (statusbar)); g_free (self->priv->hovered_link); self->priv->hovered_link = NULL; } if (uri && *uri) { self->priv->hovered_link = g_strdup (uri); gtk_statusbar_push (statusbar, get_statusbar_context_id (statusbar), self->priv->hovered_link); } } static void on_web_view_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event, GwhBrowser *self) { if (self->priv->hovered_link) { GtkStatusbar *statusbar = GTK_STATUSBAR (self->priv->statusbar); gtk_statusbar_pop (statusbar, get_statusbar_context_id (statusbar)); } } static void on_web_view_enter_notify_event (GtkWidget *widget, GdkEventCrossing *event, GwhBrowser *self) { if (self->priv->hovered_link) { GtkStatusbar *statusbar = GTK_STATUSBAR (self->priv->statusbar); gtk_statusbar_push (statusbar, get_statusbar_context_id (statusbar), self->priv->hovered_link); } } static void on_web_view_realize (GtkWidget *widget, GwhBrowser *self) { gtk_widget_add_events (widget, GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK); } static void gwh_browser_init (GwhBrowser *self) { GtkWidget *scrolled; WebKitWebSettings *wkws; gboolean inspector_detached; self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GWH_TYPE_BROWSER, GwhBrowserPrivate); self->priv->default_icon = NULL; /* web view need to be created first because we use it in create_toolbar() */ self->priv->web_view = webkit_web_view_new (); wkws = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (self->priv->web_view)); g_object_set (wkws, "enable-developer-extras", TRUE, NULL); self->priv->settings = gwh_settings_get_default (); g_object_get (self->priv->settings, "inspector-detached", &inspector_detached, NULL); self->priv->toolbar = create_toolbar (self); self->priv->paned = gtk_vpaned_new (); scrolled = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (scrolled), self->priv->web_view); gtk_box_pack_start (GTK_BOX (self), self->priv->toolbar, FALSE, TRUE, 0); gtk_widget_show (self->priv->toolbar); gtk_box_pack_start (GTK_BOX (self), self->priv->paned, TRUE, TRUE, 0); gtk_paned_pack1 (GTK_PANED (self->priv->paned), scrolled, TRUE, TRUE); gtk_widget_show_all (self->priv->paned); self->priv->inspector_view = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (self->priv->inspector_view), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); self->priv->inspector_web_view = NULL; self->priv->inspector_window = create_inspector_window (self); gtk_container_add (GTK_CONTAINER (inspector_detached ? self->priv->inspector_window : self->priv->paned), self->priv->inspector_view); self->priv->statusbar = ui_lookup_widget (geany->main_widgets->window, "statusbar"); if (self->priv->statusbar) { g_object_ref (self->priv->statusbar); } else { /* in the unlikely case we can't get the Geany statusbar, fake one */ self->priv->statusbar = gtk_statusbar_new (); } self->priv->hovered_link = NULL; g_signal_connect (self, "notify::orientation", G_CALLBACK (on_orientation_notify), self); self->priv->inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW (self->priv->web_view)); g_signal_connect (self->priv->inspector, "inspect-web-view", G_CALLBACK (on_inspector_inspect_web_view), self); g_signal_connect (self->priv->inspector, "show-window", G_CALLBACK (on_inspector_show_window), self); g_signal_connect (self->priv->inspector, "close-window", G_CALLBACK (on_inspector_close_window), self); g_signal_connect (self->priv->inspector, "detach-window", G_CALLBACK (on_inspector_detach_window), self); g_signal_connect (self->priv->inspector, "attach-window", G_CALLBACK (on_inspector_attach_window), self); g_signal_connect (G_OBJECT (self->priv->web_view), "notify::progress", G_CALLBACK (on_web_view_progress_notify), self); g_signal_connect (G_OBJECT (self->priv->web_view), "notify::uri", G_CALLBACK (on_web_view_uri_notify), self); g_signal_connect (G_OBJECT (self->priv->web_view), "notify::load-status", G_CALLBACK (on_web_view_load_status_notify), self); g_signal_connect (G_OBJECT (self->priv->web_view), "notify::load-error", G_CALLBACK (on_web_view_load_error), self); g_signal_connect (G_OBJECT (self->priv->web_view), "notify::icon-uri", G_CALLBACK (on_web_view_icon_uri_notify), self); g_signal_connect (G_OBJECT (self->priv->web_view), "populate-popup", G_CALLBACK (on_web_view_populate_popup), self); g_signal_connect (G_OBJECT (self->priv->web_view), "scroll-event", G_CALLBACK (on_web_view_scroll_event), self); g_signal_connect (G_OBJECT (self->priv->web_view), "hovering-over-link", G_CALLBACK (on_web_view_hovering_over_link), self); g_signal_connect (G_OBJECT (self->priv->web_view), "leave-notify-event", G_CALLBACK (on_web_view_leave_notify_event), self); g_signal_connect (G_OBJECT (self->priv->web_view), "enter-notify-event", G_CALLBACK (on_web_view_enter_notify_event), self); g_signal_connect_after (self->priv->web_view, "realize", G_CALLBACK (on_web_view_realize), self); g_signal_connect (self->priv->web_view, "key-press-event", G_CALLBACK (gwh_keybindings_handle_event), self); g_signal_connect (self->priv->inspector_view, "key-press-event", G_CALLBACK (gwh_keybindings_handle_event), self); gtk_widget_grab_focus (self->priv->url_entry); g_signal_connect (self->priv->settings, "notify::browser-last-uri", G_CALLBACK (on_settings_browser_last_uri_notify), self); g_signal_connect (self->priv->settings, "notify::browser-bookmarks", G_CALLBACK (on_settings_browser_bookmarks_notify), self); g_signal_connect (self->priv->settings, "notify::browser-orientation", G_CALLBACK (on_settings_browser_orientation_notify), self); g_signal_connect (self->priv->settings, "notify::inspector-detached", G_CALLBACK (on_settings_inspector_detached_notify), self); g_signal_connect (self->priv->settings, "notify::inspector-window-geometry", G_CALLBACK (on_settings_inspector_window_geometry_notify), self); } /*----------------------------- Begin public API -----------------------------*/ GtkWidget * gwh_browser_new (void) { return g_object_new (GWH_TYPE_BROWSER, NULL); } void gwh_browser_set_uri (GwhBrowser *self, const gchar *uri) { gchar *real_uri; gchar *scheme; g_return_if_fail (GWH_IS_BROWSER (self)); g_return_if_fail (uri != NULL); real_uri = g_strdup (uri); scheme = g_uri_parse_scheme (real_uri); if (! scheme) { gchar *tmp; tmp = g_strconcat ("http://", uri, NULL); g_free (real_uri); real_uri = tmp; } g_free (scheme); if (g_strcmp0 (real_uri, gwh_browser_get_uri (self)) != 0) { webkit_web_view_open (WEBKIT_WEB_VIEW (self->priv->web_view), real_uri); g_object_notify (G_OBJECT (self), "uri"); } g_free (real_uri); } const gchar * gwh_browser_get_uri (GwhBrowser *self) { g_return_val_if_fail (GWH_IS_BROWSER (self), NULL); return webkit_web_view_get_uri (WEBKIT_WEB_VIEW (self->priv->web_view)); } GtkToolbar * gwh_browser_get_toolbar (GwhBrowser *self) { g_return_val_if_fail (GWH_IS_BROWSER (self), NULL); return GTK_TOOLBAR (self->priv->toolbar); } WebKitWebView * gwh_browser_get_web_view (GwhBrowser *self) { g_return_val_if_fail (GWH_IS_BROWSER (self), NULL); return WEBKIT_WEB_VIEW (self->priv->web_view); } void gwh_browser_reload (GwhBrowser *self) { g_return_if_fail (GWH_IS_BROWSER (self)); webkit_web_view_reload (WEBKIT_WEB_VIEW (self->priv->web_view)); } void gwh_browser_set_inspector_transient_for (GwhBrowser *self, GtkWindow *window) { g_return_if_fail (GWH_IS_BROWSER (self)); g_return_if_fail (window == NULL || GTK_IS_WINDOW (window)); gtk_window_set_transient_for (GTK_WINDOW (self->priv->inspector_window), window); } GtkWindow * gwh_browser_get_inspector_transient_for (GwhBrowser *self) { g_return_val_if_fail (GWH_IS_BROWSER (self), NULL); return gtk_window_get_transient_for (GTK_WINDOW (self->priv->inspector_window)); } void gwh_browser_toggle_inspector (GwhBrowser *self) { g_return_if_fail (GWH_IS_BROWSER (self)); inspector_set_visible (self, ! INSPECTOR_VISIBLE (self)); } gchar ** gwh_browser_get_bookmarks (GwhBrowser *self) { gchar **bookmarks = NULL; g_return_val_if_fail (GWH_IS_BROWSER (self), NULL); g_object_get (self->priv->settings, "browser-bookmarks", &bookmarks, NULL); return bookmarks; } static void gwh_browser_set_bookmarks (GwhBrowser *self, gchar **bookmarks) { g_object_set (self->priv->settings, "browser-bookmarks", bookmarks, NULL); } static gint strv_index (gchar **strv, const gchar *str) { g_return_val_if_fail (str != NULL, -1); if (strv) { gint idx; for (idx = 0; *strv; strv++, idx++) { if (strcmp (str, *strv) == 0) { return idx; } } } return -1; } gboolean gwh_browser_has_bookmark (GwhBrowser *self, const gchar *uri) { gchar **bookmarks = NULL; gboolean exists = FALSE; g_return_val_if_fail (GWH_IS_BROWSER (self), FALSE); g_return_val_if_fail (uri != NULL, FALSE); bookmarks = gwh_browser_get_bookmarks (self); exists = strv_index (bookmarks, uri) >= 0; g_strfreev (bookmarks); return exists; } static const gchar * uri_skip_scheme (const gchar *uri) { if (g_ascii_isalpha (*uri)) { do { uri++; } while (*uri == '+' || *uri == '-' || *uri == '.' || g_ascii_isalnum (*uri)); /* this is not strictly correct but good enough for what we do */ while (*uri == ':' || *uri == '/') uri++; } return uri; } static int sort_uris (gconstpointer a, gconstpointer b) { const gchar *uri1 = uri_skip_scheme (*(const gchar *const *) a); const gchar *uri2 = uri_skip_scheme (*(const gchar *const *) b); return g_ascii_strcasecmp (uri1, uri2); } void gwh_browser_add_bookmark (GwhBrowser *self, const gchar *uri) { gchar **bookmarks = NULL; g_return_if_fail (GWH_IS_BROWSER (self)); g_return_if_fail (uri != NULL); bookmarks = gwh_browser_get_bookmarks (self); if (strv_index (bookmarks, uri) < 0) { gsize length = bookmarks ? g_strv_length (bookmarks) : 0; bookmarks = g_realloc (bookmarks, (length + 2) * sizeof *bookmarks); bookmarks[length] = g_strdup (uri); bookmarks[length + 1] = NULL; /* it would be faster to insert directly at the right place but who cares */ qsort (bookmarks, length + 1, sizeof *bookmarks, sort_uris); gwh_browser_set_bookmarks (self, bookmarks); } g_strfreev (bookmarks); } void gwh_browser_remove_bookmark (GwhBrowser *self, const gchar *uri) { gchar **bookmarks = NULL; gint idx; g_return_if_fail (GWH_IS_BROWSER (self)); g_return_if_fail (uri != NULL); bookmarks = gwh_browser_get_bookmarks (self); idx = strv_index (bookmarks, uri); if (idx >= 0) { gsize length = g_strv_length (bookmarks); memmove (&bookmarks[idx], &bookmarks[idx + 1], (length - (gsize) idx) * sizeof *bookmarks); gwh_browser_set_bookmarks (self, bookmarks); } g_strfreev (bookmarks); } geany-plugins-1.27/webhelper/src/Makefile.in0000644000175000017500000011043412671261403021331 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = webhelper/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(geanypluginsdir)" LTLIBRARIES = $(geanyplugins_LTLIBRARIES) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) webhelper_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_1) am__objects_1 = webhelper_la-gwh-enum-types.lo am__objects_2 = am__objects_3 = webhelper_la-gwh-browser.lo \ webhelper_la-gwh-keybindings.lo webhelper_la-gwh-plugin.lo \ webhelper_la-gwh-settings.lo webhelper_la-gwh-utils.lo am_webhelper_la_OBJECTS = $(am__objects_1) $(am__objects_2) \ $(am__objects_3) $(am__objects_2) webhelper_la_OBJECTS = $(am_webhelper_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = webhelper_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(webhelper_la_CFLAGS) \ $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(webhelper_la_SOURCES) DIST_SOURCES = $(webhelper_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/cppcheck.mk \ $(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ @MINGW_FALSE@GP_PREFIX = $(prefix) @MINGW_TRUE@GP_PREFIX = . @MINGW_FALSE@GP_DATADIR = $(datadir) @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR) @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale @MINGW_FALSE@GP_DOCDIR = $(docdir) @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE) @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir) @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE) @MINGW_FALSE@GP_LIBDIR = $(libdir) @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir) @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE) LOCAL_AM_CFLAGS = \ -DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \ -DPREFIX=\""$(GP_PREFIX)"\" \ -DDOCDIR=\""$(GP_DOCDIR)"\" \ -DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \ -DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \ -DLIBDIR=\""$(GP_LIBDIR)"\" \ -DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \ -DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \ -DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \ -DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \ -DPLUGIN="\"$(plugin)\"" AM_CFLAGS = \ ${LOCAL_AM_CFLAGS} \ $(GEANY_CFLAGS) \ $(GP_CFLAGS) AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS) COMMONLIBS = \ $(GEANY_LIBS) \ $(INTLLIBS) plugin = webhelper geanyplugins_LTLIBRARIES = webhelper.la sources = gwh-browser.c \ gwh-keybindings.c \ gwh-plugin.c \ gwh-settings.c \ gwh-utils.c headers = gwh-browser.h \ gwh-keybindings.h \ gwh-plugin.h \ gwh-settings.h \ gwh-utils.h autogen_sources = gwh-enum-types.c autogen_headers = gwh-enum-types.h EXTRA_DIST = gwh-enum-types.c.tpl \ gwh-enum-types.h.tpl webhelper_la_SOURCES = $(autogen_sources) \ $(autogen_headers) \ $(sources) \ $(headers) webhelper_la_CPPFLAGS = $(AM_CPPFLAGS) \ -I$(srcdir) -I$(builddir) \ -DG_LOG_DOMAIN=\"WebHelper\" webhelper_la_CFLAGS = $(AM_CFLAGS) \ $(WEBHELPER_CFLAGS) webhelper_la_LIBADD = $(COMMONLIBS) \ $(WEBHELPER_LIBS) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign webhelper/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign webhelper/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES) @$(NORMAL_INSTALL) @list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \ } uninstall-geanypluginsLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \ done clean-geanypluginsLTLIBRARIES: -test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES) @list='$(geanyplugins_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } webhelper.la: $(webhelper_la_OBJECTS) $(webhelper_la_DEPENDENCIES) $(EXTRA_webhelper_la_DEPENDENCIES) $(AM_V_CCLD)$(webhelper_la_LINK) -rpath $(geanypluginsdir) $(webhelper_la_OBJECTS) $(webhelper_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/webhelper_la-gwh-browser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/webhelper_la-gwh-enum-types.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/webhelper_la-gwh-keybindings.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/webhelper_la-gwh-plugin.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/webhelper_la-gwh-settings.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/webhelper_la-gwh-utils.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< webhelper_la-gwh-enum-types.lo: gwh-enum-types.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -MT webhelper_la-gwh-enum-types.lo -MD -MP -MF $(DEPDIR)/webhelper_la-gwh-enum-types.Tpo -c -o webhelper_la-gwh-enum-types.lo `test -f 'gwh-enum-types.c' || echo '$(srcdir)/'`gwh-enum-types.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/webhelper_la-gwh-enum-types.Tpo $(DEPDIR)/webhelper_la-gwh-enum-types.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gwh-enum-types.c' object='webhelper_la-gwh-enum-types.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -c -o webhelper_la-gwh-enum-types.lo `test -f 'gwh-enum-types.c' || echo '$(srcdir)/'`gwh-enum-types.c webhelper_la-gwh-browser.lo: gwh-browser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -MT webhelper_la-gwh-browser.lo -MD -MP -MF $(DEPDIR)/webhelper_la-gwh-browser.Tpo -c -o webhelper_la-gwh-browser.lo `test -f 'gwh-browser.c' || echo '$(srcdir)/'`gwh-browser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/webhelper_la-gwh-browser.Tpo $(DEPDIR)/webhelper_la-gwh-browser.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gwh-browser.c' object='webhelper_la-gwh-browser.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -c -o webhelper_la-gwh-browser.lo `test -f 'gwh-browser.c' || echo '$(srcdir)/'`gwh-browser.c webhelper_la-gwh-keybindings.lo: gwh-keybindings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -MT webhelper_la-gwh-keybindings.lo -MD -MP -MF $(DEPDIR)/webhelper_la-gwh-keybindings.Tpo -c -o webhelper_la-gwh-keybindings.lo `test -f 'gwh-keybindings.c' || echo '$(srcdir)/'`gwh-keybindings.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/webhelper_la-gwh-keybindings.Tpo $(DEPDIR)/webhelper_la-gwh-keybindings.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gwh-keybindings.c' object='webhelper_la-gwh-keybindings.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -c -o webhelper_la-gwh-keybindings.lo `test -f 'gwh-keybindings.c' || echo '$(srcdir)/'`gwh-keybindings.c webhelper_la-gwh-plugin.lo: gwh-plugin.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -MT webhelper_la-gwh-plugin.lo -MD -MP -MF $(DEPDIR)/webhelper_la-gwh-plugin.Tpo -c -o webhelper_la-gwh-plugin.lo `test -f 'gwh-plugin.c' || echo '$(srcdir)/'`gwh-plugin.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/webhelper_la-gwh-plugin.Tpo $(DEPDIR)/webhelper_la-gwh-plugin.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gwh-plugin.c' object='webhelper_la-gwh-plugin.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -c -o webhelper_la-gwh-plugin.lo `test -f 'gwh-plugin.c' || echo '$(srcdir)/'`gwh-plugin.c webhelper_la-gwh-settings.lo: gwh-settings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -MT webhelper_la-gwh-settings.lo -MD -MP -MF $(DEPDIR)/webhelper_la-gwh-settings.Tpo -c -o webhelper_la-gwh-settings.lo `test -f 'gwh-settings.c' || echo '$(srcdir)/'`gwh-settings.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/webhelper_la-gwh-settings.Tpo $(DEPDIR)/webhelper_la-gwh-settings.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gwh-settings.c' object='webhelper_la-gwh-settings.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -c -o webhelper_la-gwh-settings.lo `test -f 'gwh-settings.c' || echo '$(srcdir)/'`gwh-settings.c webhelper_la-gwh-utils.lo: gwh-utils.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -MT webhelper_la-gwh-utils.lo -MD -MP -MF $(DEPDIR)/webhelper_la-gwh-utils.Tpo -c -o webhelper_la-gwh-utils.lo `test -f 'gwh-utils.c' || echo '$(srcdir)/'`gwh-utils.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/webhelper_la-gwh-utils.Tpo $(DEPDIR)/webhelper_la-gwh-utils.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gwh-utils.c' object='webhelper_la-gwh-utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(webhelper_la_CPPFLAGS) $(CPPFLAGS) $(webhelper_la_CFLAGS) $(CFLAGS) -c -o webhelper_la-gwh-utils.lo `test -f 'gwh-utils.c' || echo '$(srcdir)/'`gwh-utils.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @HAVE_CPPCHECK_FALSE@check-local: check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-local check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(geanypluginsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-geanypluginsLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-geanypluginsLTLIBRARIES .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \ clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \ cscopelist-am ctags ctags-am distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-geanypluginsLTLIBRARIES \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-geanypluginsLTLIBRARIES .PRECIOUS: Makefile # These are generated in $(srcdir) because they are part of the distribution, # and should anyway only be regenerated if the .tpl changes, which is a # developer thing ,so if should be harmless. $(srcdir)/gwh-enum-types.c: $(srcdir)/gwh-enum-types.c.tpl gwh-enum-types.h $(headers) $(AM_V_GEN)$(GLIB_MKENUMS) --template $< $(headers:%=$(srcdir)/%) > $@ $(srcdir)/gwh-enum-types.h: $(srcdir)/gwh-enum-types.h.tpl $(headers) $(AM_V_GEN)$(GLIB_MKENUMS) --template $< $(headers:%=$(srcdir)/%) > $@ @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir) @HAVE_CPPCHECK_TRUE@ $(CPPCHECK) \ @HAVE_CPPCHECK_TRUE@ -q --template gcc --error-exitcode=2 \ @HAVE_CPPCHECK_TRUE@ $(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \ @HAVE_CPPCHECK_TRUE@ $(srcdir) @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/webhelper/src/gwh-enum-types.h.tpl0000644000175000017500000000120412671261352023121 0ustar00frlanfrlan00000000000000/*** BEGIN file-header ***/ #ifndef H_GWH_ENUM_TYPES #define H_GWH_ENUM_TYPES #include /* include all headers that may introduce new enums */ #include "gwh-browser.h" #include "gwh-settings.h" #include "gwh-utils.h" G_BEGIN_DECLS /*** END file-header ***/ /*** BEGIN file-production ***/ /* enumerations from "@basename@" */ /*** END file-production ***/ /*** BEGIN value-header ***/ G_GNUC_INTERNAL GType @enum_name@_get_type (void) G_GNUC_CONST; #define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) /*** END value-header ***/ /*** BEGIN file-tail ***/ G_END_DECLS #endif /* guard */ /*** END file-tail ***/ geany-plugins-1.27/webhelper/src/gwh-keybindings.h0000644000175000017500000000275112671261352022533 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef H_GWH_KEYBINDINGS #define H_GWH_KEYBINDINGS #include #include #include #include G_BEGIN_DECLS enum { GWH_KB_TOGGLE_INSPECTOR, GWH_KB_SHOW_HIDE_SEPARATE_WINDOW, GWH_KB_TOGGLE_BOOKMARK, GWH_KB_COUNT }; G_GNUC_INTERNAL void gwh_keybindings_init (void); G_GNUC_INTERNAL void gwh_keybindings_cleanup (void); G_GNUC_INTERNAL GeanyKeyGroup *gwh_keybindings_get_group (void); G_GNUC_INTERNAL gboolean gwh_keybindings_handle_event (GtkWidget *widget G_GNUC_UNUSED, GdkEventKey *event, gpointer data G_GNUC_UNUSED); G_END_DECLS #endif /* guard */ geany-plugins-1.27/webhelper/src/Makefile.am0000644000175000017500000000315012671261352021317 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk plugin = webhelper geanyplugins_LTLIBRARIES = webhelper.la GLIB_MKENUMS = @GLIB_MKENUMS@ sources = gwh-browser.c \ gwh-keybindings.c \ gwh-plugin.c \ gwh-settings.c \ gwh-utils.c headers = gwh-browser.h \ gwh-keybindings.h \ gwh-plugin.h \ gwh-settings.h \ gwh-utils.h autogen_sources = gwh-enum-types.c autogen_headers = gwh-enum-types.h EXTRA_DIST = gwh-enum-types.c.tpl \ gwh-enum-types.h.tpl webhelper_la_SOURCES = $(autogen_sources) \ $(autogen_headers) \ $(sources) \ $(headers) webhelper_la_CPPFLAGS = $(AM_CPPFLAGS) \ -I$(srcdir) -I$(builddir) \ -DG_LOG_DOMAIN=\"WebHelper\" webhelper_la_CFLAGS = $(AM_CFLAGS) \ $(WEBHELPER_CFLAGS) webhelper_la_LIBADD = $(COMMONLIBS) \ $(WEBHELPER_LIBS) # These are generated in $(srcdir) because they are part of the distribution, # and should anyway only be regenerated if the .tpl changes, which is a # developer thing ,so if should be harmless. $(srcdir)/gwh-enum-types.c: $(srcdir)/gwh-enum-types.c.tpl gwh-enum-types.h $(headers) $(AM_V_GEN)$(GLIB_MKENUMS) --template $< $(headers:%=$(srcdir)/%) > $@ $(srcdir)/gwh-enum-types.h: $(srcdir)/gwh-enum-types.h.tpl $(headers) $(AM_V_GEN)$(GLIB_MKENUMS) --template $< $(headers:%=$(srcdir)/%) > $@ include $(top_srcdir)/build/cppcheck.mk geany-plugins-1.27/webhelper/src/gwh-enum-types.c0000644000175000017500000000332712671261352022326 0ustar00frlanfrlan00000000000000 /* Generated data (by glib-mkenums) */ #include "gwh-enum-types.h" #include /* enumerations from "gwh-browser.h" */ GType gwh_browser_position_get_type (void) { static GType etype = 0; if (G_UNLIKELY(etype == 0)) { static const GEnumValue values[] = { { GWH_BROWSER_POSITION_MESSAGE_WINDOW, "GWH_BROWSER_POSITION_MESSAGE_WINDOW", N_("message-window") }, { GWH_BROWSER_POSITION_SIDEBAR, "GWH_BROWSER_POSITION_SIDEBAR", N_("sidebar") }, { GWH_BROWSER_POSITION_SEPARATE_WINDOW, "GWH_BROWSER_POSITION_SEPARATE_WINDOW", N_("separate-window") }, { 0, NULL, NULL } }; etype = g_enum_register_static (g_intern_static_string ("GwhBrowserPosition"), values); } return etype; } /* enumerations from "gwh-settings.h" */ GType gwh_settings_notify_flags_get_type (void) { static GType etype = 0; if (G_UNLIKELY(etype == 0)) { static const GFlagsValue values[] = { { GWH_SETTINGS_NOTIFY_NONE, "GWH_SETTINGS_NOTIFY_NONE", N_("none") }, { GWH_SETTINGS_NOTIFY_ON_CONNEXION, "GWH_SETTINGS_NOTIFY_ON_CONNEXION", N_("on-connexion") }, { 0, NULL, NULL } }; etype = g_flags_register_static (g_intern_static_string ("GwhSettingsNotifyFlags"), values); } return etype; } /* enumerations from "gwh-utils.h" */ GType gwh_window_type_get_type (void) { static GType etype = 0; if (G_UNLIKELY(etype == 0)) { static const GEnumValue values[] = { { GWH_WINDOW_TYPE_NORMAL, "GWH_WINDOW_TYPE_NORMAL", N_("normal") }, { GWH_WINDOW_TYPE_UTILITY, "GWH_WINDOW_TYPE_UTILITY", N_("utility") }, { 0, NULL, NULL } }; etype = g_enum_register_static (g_intern_static_string ("GwhWindowType"), values); } return etype; } /* Generated data ends here */ geany-plugins-1.27/webhelper/src/gwh-plugin.h0000644000175000017500000000211312671261352021513 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef H_GWH_PLUGIN #define H_GWH_PLUGIN #include #include #include G_BEGIN_DECLS #define GWH_PLUGIN_NAME "Web Helper" #define GWH_PLUGIN_TARNAME "web-helper" #define GWH_PLUGIN_VERSION "0.2" extern GeanyPlugin *geany_plugin; extern GeanyData *geany_data; G_END_DECLS #endif /* guard */ geany-plugins-1.27/webhelper/src/gwh-settings.c0000644000175000017500000007053112671261352022061 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include "gwh-settings.h" #include "config.h" #include #include #include #include #include #include #if ! GTK_CHECK_VERSION (3, 0, 0) /* make gtk_adjustment_new() return a real GtkAdjustment, not a GtkObject */ # define gtk_adjustment_new(v, l, u, si, pi, ps) \ (GtkAdjustment *) (gtk_adjustment_new ((v), (l), (u), (si), (pi), (ps))) #endif struct _GwhSettingsPrivate { GPtrArray *prop_array; }; G_DEFINE_TYPE (GwhSettings, gwh_settings, G_TYPE_OBJECT) static void gwh_settings_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GwhSettings *self = GWH_SETTINGS (object); if (G_LIKELY (prop_id > 0 && prop_id <= self->priv->prop_array->len)) { GValue *prop_value; prop_value = g_ptr_array_index (self->priv->prop_array, prop_id - 1); g_value_copy (prop_value, value); } else { G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static void gwh_settings_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GwhSettings *self = GWH_SETTINGS (object); if (G_LIKELY (prop_id > 0 && prop_id <= self->priv->prop_array->len)) { GValue *prop_value; prop_value = g_ptr_array_index (self->priv->prop_array, prop_id - 1); g_value_copy (value, prop_value); } else { G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } } static GObject * gwh_settings_constructor (GType gtype, guint n_properties, GObjectConstructParam *properties) { static GObject *obj = NULL; if (G_UNLIKELY (! obj)) { obj = G_OBJECT_CLASS (gwh_settings_parent_class)->constructor (gtype, n_properties, properties); } /* reffing the object unconditionally will leak one ref (the first one), but * since we don't want the object to ever die, this is needed. the other * solution would be to force users to keep their reference all along, but * then if one drop its reference before somebody else get her one, the * settings would be implicitly "reset" to their default values */ return g_object_ref (obj); } static void free_prop_item (gpointer data, gpointer user_data) { g_value_unset (data); g_free (data); } static void gwh_settings_finalize (GObject *object) { GwhSettings *self = GWH_SETTINGS (object); g_ptr_array_foreach (self->priv->prop_array, free_prop_item, NULL); g_ptr_array_free (self->priv->prop_array, TRUE); self->priv->prop_array = NULL; G_OBJECT_CLASS (gwh_settings_parent_class)->finalize (object); } static void gwh_settings_class_init (GwhSettingsClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->constructor = gwh_settings_constructor; object_class->finalize = gwh_settings_finalize; object_class->get_property = gwh_settings_get_property; object_class->set_property = gwh_settings_set_property; g_type_class_add_private (klass, sizeof (GwhSettingsPrivate)); } static void gwh_settings_init (GwhSettings *self) { self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GWH_TYPE_SETTINGS, GwhSettingsPrivate); self->priv->prop_array = g_ptr_array_new (); } /*----------------------------- Begin public API -----------------------------*/ GwhSettings * gwh_settings_get_default (void) { return g_object_new (GWH_TYPE_SETTINGS, NULL); } static gboolean is_pspec_installed (GObject *obj, const GParamSpec *pspec) { GParamSpec **pspecs; guint n_props; guint i; gboolean installed = FALSE; pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (obj), &n_props); for (i = 0; ! installed && i < n_props; i++) { installed = (pspec->value_type == pspecs[i]->value_type && strcmp (pspec->name, pspecs[i]->name) == 0); } g_free (pspecs); return installed; } void gwh_settings_install_property (GwhSettings *self, GParamSpec *pspec) { GValue *value; g_return_if_fail (GWH_IS_SETTINGS (self)); g_return_if_fail (G_IS_PARAM_SPEC (pspec)); /* a bit hackish, but allows to install the same property twice because the * class will not be destroyed if the plugin gets reloaded. safe since the * object is a singleton that will never de destroyed, and the plugin is * resident, so the object is still valid after a reload. */ if (is_pspec_installed (G_OBJECT (self), pspec)) { return; } value = g_value_init (g_malloc0 (sizeof *value), pspec->value_type); switch (G_TYPE_FUNDAMENTAL (pspec->value_type)) { #define HANDLE_BASIC_TYPE(NAME, Name, name) \ case G_TYPE_##NAME: \ g_value_set_##name (value, ((GParamSpec##Name*)pspec)->default_value); \ break; HANDLE_BASIC_TYPE (BOOLEAN, Boolean, boolean) HANDLE_BASIC_TYPE (CHAR, Char, char) HANDLE_BASIC_TYPE (UCHAR, UChar, uchar) HANDLE_BASIC_TYPE (INT, Int, int) HANDLE_BASIC_TYPE (UINT, UInt, uint) HANDLE_BASIC_TYPE (LONG, Long, long) HANDLE_BASIC_TYPE (ULONG, ULong, ulong) HANDLE_BASIC_TYPE (INT64, Int64, int64) HANDLE_BASIC_TYPE (UINT64, UInt64, uint64) HANDLE_BASIC_TYPE (FLOAT, Float, float) HANDLE_BASIC_TYPE (DOUBLE, Double, double) HANDLE_BASIC_TYPE (ENUM, Enum, enum) HANDLE_BASIC_TYPE (FLAGS, Flags, flags) HANDLE_BASIC_TYPE (STRING, String, string) #undef HANDLE_BASIC_TYPE case G_TYPE_PARAM: case G_TYPE_BOXED: case G_TYPE_POINTER: case G_TYPE_OBJECT: /* nothing to do with these types, default GValue is fine since they have * no default value */ break; default: g_critical ("Unsupported property type \"%s\" for property \"%s\"", G_VALUE_TYPE_NAME (value), pspec->name); g_value_unset (value); g_free (value); return; } g_ptr_array_add (self->priv->prop_array, value); g_object_class_install_property (G_OBJECT_GET_CLASS (self), self->priv->prop_array->len, pspec); } static void get_key_and_group_from_property_name (const gchar *name, gchar **group, gchar **key) { const gchar *sep; sep = strchr (name, '-'); if (sep && sep[1] != 0) { *group = g_strndup (name, (gsize)(sep - name)); *key = g_strdup (&sep[1]); } else { *group = g_strdup ("general"); *key = g_strdup (name); } } static gboolean key_file_set_value (GKeyFile *kf, const gchar *name, const GValue *value, GError **error) { gboolean success = TRUE; gchar *group; gchar *key; get_key_and_group_from_property_name (name, &group, &key); switch (G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (value))) { case G_TYPE_BOOLEAN: g_key_file_set_boolean (kf, group, key, g_value_get_boolean (value)); break; case G_TYPE_ENUM: { GEnumClass *enum_class; GEnumValue *enum_value; gint val = g_value_get_enum (value); enum_class = g_type_class_ref (G_VALUE_TYPE (value)); enum_value = g_enum_get_value (enum_class, val); if (! enum_value) { g_set_error (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE, "Value \"%d\" is not valid for key \"%s::%s\"", val, group, key); } else { g_key_file_set_string (kf, group, key, enum_value->value_nick); } g_type_class_unref (enum_class); break; } case G_TYPE_INT: g_key_file_set_integer (kf, group, key, g_value_get_int (value)); break; case G_TYPE_STRING: g_key_file_set_string (kf, group, key, g_value_get_string (value)); break; case G_TYPE_BOXED: if (G_VALUE_HOLDS (value, G_TYPE_STRV)) { gchar **val = g_value_get_boxed (value); g_key_file_set_string_list (kf, group, key, (const gchar *const *) val, val ? g_strv_length (val) : 0); break; } /* fallthrough */ default: g_set_error (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE, "Unsupported setting type \"%s\" for setting \"%s::%s\"", G_VALUE_TYPE_NAME (value), group, key); success = FALSE; } g_free (group); g_free (key); return success; } gboolean gwh_settings_save_to_file (GwhSettings *self, const gchar *filename, GError **error) { GParamSpec **pspecs; guint n_props; guint i; gboolean success = TRUE; GKeyFile *key_file; g_return_val_if_fail (GWH_IS_SETTINGS (self), FALSE); g_return_val_if_fail (filename != NULL, FALSE); key_file = g_key_file_new (); g_key_file_load_from_file (key_file, filename, G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, NULL); pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (self), &n_props); for (i = 0; success && i < n_props; i++) { GValue value = {0}; g_value_init (&value, pspecs[i]->value_type); g_object_get_property (G_OBJECT (self), pspecs[i]->name, &value); success = key_file_set_value (key_file, pspecs[i]->name, &value, error); g_value_unset (&value); } g_free (pspecs); if (success) { gchar *data; gsize length; data = g_key_file_to_data (key_file, &length, error); if (! data) { success = FALSE; } else { success = g_file_set_contents (filename, data, length, error); g_free (data); } } g_key_file_free (key_file); return success; } static gboolean key_file_get_value (GKeyFile *kf, const gchar *name, GValue *value, GError **error) { GError *err = NULL; gchar *group; gchar *key; get_key_and_group_from_property_name (name, &group, &key); switch (G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (value))) { case G_TYPE_BOOLEAN: { gboolean val; val = g_key_file_get_boolean (kf, group, key, &err); if (! err) { g_value_set_boolean (value, val); } break; } case G_TYPE_ENUM: { gchar *str; GEnumClass *enum_class; GEnumValue *enum_value; enum_class = g_type_class_ref (G_VALUE_TYPE (value)); str = g_key_file_get_string (kf, group, key, &err); if (! err) { enum_value = g_enum_get_value_by_nick (enum_class, str); if (! enum_value) { g_set_error (&err, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE, "Value \"%s\" is not valid for key \"%s::%s\"", str, group, key); } else { g_value_set_enum (value, enum_value->value); } g_free (str); } g_type_class_unref (enum_class); break; } case G_TYPE_INT: { gint val; val = g_key_file_get_integer (kf, group, key, &err); if (! err) { g_value_set_int (value, val); } break; } case G_TYPE_STRING: { gchar *val; val = g_key_file_get_string (kf, group, key, &err); if (! err) { g_value_take_string (value, val); } break; } case G_TYPE_BOXED: if (G_VALUE_HOLDS (value, G_TYPE_STRV)) { gchar **val; val = g_key_file_get_string_list (kf, group, key, NULL, &err); if (! err) { g_value_take_boxed (value, val); } break; } /* fallthrough */ default: g_set_error (&err, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE, "Unsupported setting type \"%s\" for setting \"%s::%s\"", G_VALUE_TYPE_NAME (value), group, key); } if (err) { g_warning ("%s::%s loading failed: %s", group, key, err->message); g_propagate_error (error, err); } g_free (group); g_free (key); return err == NULL; } gboolean gwh_settings_load_from_file (GwhSettings *self, const gchar *filename, GError **error) { gboolean success = TRUE; GKeyFile *key_file; g_return_val_if_fail (GWH_IS_SETTINGS (self), FALSE); g_return_val_if_fail (filename != NULL, FALSE); key_file = g_key_file_new (); success = g_key_file_load_from_file (key_file, filename, 0, error); if (success) { GParamSpec **pspecs; guint n_props; guint i; pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (self), &n_props); for (i = 0; i < n_props; i++) { GValue value = {0}; g_value_init (&value, pspecs[i]->value_type); /* ignore the error since it's likely this one is simply missing and other * will be loaded without any problem */ if (key_file_get_value (key_file, pspecs[i]->name, &value, NULL)) { g_object_set_property (G_OBJECT (self), pspecs[i]->name, &value); } g_value_unset (&value); } g_free (pspecs); } g_key_file_free (key_file); return success; } /* display/edit widgets stuff */ /* * gwh_settings_widget__notify: * calls user's callback with appropriate arguments * gwh_settings_widget__notify_callback: * a callback connected to a signal on the widget. * calls gwh_settings_widget__notify * gwh_settings_widget__new: * creates the widget * gwh_settings_widget__sync: * syncs widget's value with its setting */ typedef struct _GwhSettingsWidgetNotifyData { GwhSettings *settings; GCallback callback; gpointer user_data; } GwhSettingsWidgetNotifyData; static void gwh_settings_widget_boolean_notify (GObject *tbutton, GwhSettingsWidgetNotifyData *data) { ((GwhSettingsWidgetBooleanNotify)data->callback) (data->settings, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (tbutton)), data->user_data); } #define gwh_settings_widget_boolean_notify_callback gwh_settings_widget_boolean_notify static GtkWidget * gwh_settings_widget_boolean_new (GwhSettings *self, const GValue *value, GParamSpec *pspec, gboolean *needs_label) { GtkWidget *widget; widget = gtk_check_button_new_with_label (g_param_spec_get_nick (pspec)); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), g_value_get_boolean (value)); *needs_label = FALSE; return widget; } static void gwh_settings_widget_boolean_sync (GwhSettings *self, GParamSpec *pspec, const GValue *old_value, GtkWidget *widget) { gboolean val = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); if (g_value_get_boolean (old_value) != val) { g_object_set (self, pspec->name, val, NULL); } } static void gwh_settings_widget_enum_notify (GObject *object, GwhSettingsWidgetNotifyData *data) { GtkTreeIter iter; GtkComboBox *cbox = GTK_COMBO_BOX (object); if (gtk_combo_box_get_active_iter (cbox, &iter)) { gint val; gtk_tree_model_get (gtk_combo_box_get_model (cbox), &iter, 0, &val, -1); ((GwhSettingsWidgetEnumNotify)data->callback) (data->settings, val, data->user_data); } } #define gwh_settings_widget_enum_notify_callback gwh_settings_widget_enum_notify static GtkWidget * gwh_settings_widget_enum_new (GwhSettings *self, const GValue *value, GParamSpec *pspec, gboolean *needs_label) { GtkWidget *widget; GEnumClass *enum_class; guint i; GtkListStore *store; GtkCellRenderer *renderer; gint active = 0; store = gtk_list_store_new (2, G_TYPE_INT, G_TYPE_STRING); enum_class = g_type_class_ref (G_VALUE_TYPE (value)); for (i = 0; i < enum_class->n_values; i++) { GtkTreeIter iter; gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, enum_class->values[i].value, 1, _(enum_class->values[i].value_nick), -1); if (g_value_get_enum (value) == enum_class->values[i].value) { active = i; } } g_type_class_unref (enum_class); widget = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (widget), renderer, TRUE); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (widget), renderer, "text", 1, NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (widget), active); *needs_label = TRUE; return widget; } static void gwh_settings_widget_enum_sync (GwhSettings *self, GParamSpec *pspec, const GValue *old_value, GtkWidget *widget) { GtkTreeIter iter; if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter)) { GtkTreeModel *model; gint val; model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget)); gtk_tree_model_get (model, &iter, 0, &val, -1); if (g_value_get_enum (old_value) != val) { g_object_set (self, pspec->name, val, NULL); } } } static void gwh_settings_widget_int_notify (GObject *spin, GwhSettingsWidgetNotifyData *data) { ((GwhSettingsWidgetIntNotify)data->callback) (data->settings, gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (spin)), data->user_data); } #define gwh_settings_widget_int_notify_callback gwh_settings_widget_int_notify static GtkWidget * gwh_settings_widget_int_new (GwhSettings *self, const GValue *value, GParamSpec *pspec, gboolean *needs_label) { GtkWidget *button; GtkAdjustment *adj; GParamSpecInt *pspec_int = G_PARAM_SPEC_INT (pspec); adj = gtk_adjustment_new ((gdouble)g_value_get_int (value), (gdouble)pspec_int->minimum, (gdouble)pspec_int->maximum, 1.0, 10.0, 0.0); button = gtk_spin_button_new (adj, 0.0, 0); *needs_label = TRUE; return button; } static void gwh_settings_widget_int_sync (GwhSettings *self, GParamSpec *pspec, const GValue *old_value, GtkWidget *widget) { gint val = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (widget)); if (g_value_get_int (old_value) != val) { g_object_set (self, pspec->name, val, NULL); } } static void gwh_settings_widget_string_notify (GObject *entry, GwhSettingsWidgetNotifyData *data) { ((GwhSettingsWidgetStringNotify)data->callback) (data->settings, gtk_entry_get_text (GTK_ENTRY (entry)), data->user_data); } static void gwh_settings_widget_string_notify_callback (GObject *object, GParamSpec *pspec, GwhSettingsWidgetNotifyData *data) { gwh_settings_widget_string_notify (object, data); } static GtkWidget * gwh_settings_widget_string_new (GwhSettings *self, const GValue *value, GParamSpec *pspec, gboolean *needs_label) { GtkWidget *widget; widget = gtk_entry_new (); gtk_entry_set_text (GTK_ENTRY (widget), g_value_get_string (value)); *needs_label = TRUE; return widget; } static void gwh_settings_widget_string_sync (GwhSettings *self, GParamSpec *pspec, const GValue *old_value, GtkWidget *widget) { const gchar *val = gtk_entry_get_text (GTK_ENTRY (widget)); const gchar *old_val = g_value_get_string (old_value); if (g_strcmp0 (old_val, val) != 0) { g_object_set (self, pspec->name, val, NULL); } } #define KEY_PSPEC "gwh-settings-configure-pspec" #define KEY_WIDGET "gwh-settings-configure-widget" /** * gwh_settings_widget_new_full: * @self: A GwhSettings object * @prop_name: the name of the setting for which create a widget * @setting_changed_callback: a callback to be called when the widget's value * changes, or %NULL. The type of the callback * is GwhSettingsWidget*Notify, depending of the * setting type * @user_data: user data to pass to @callback * @notify_flags: notification flags * * Creates a widgets to configure the value of a setting @prop_name. * This setting will not be changed automatically, you'll need to call * gwh_settings_widget_sync() when you want to synchronize the widget's value to * the setting. * * Returns: A #GtkWidget that displays and edit @prop_name. */ GtkWidget * gwh_settings_widget_new_full (GwhSettings *self, const gchar *prop_name, GCallback setting_changed_callback, gpointer user_data, GwhSettingsNotifyFlags notify_flags) { GtkWidget *widget = NULL; GParamSpec *pspec; GValue value = {0}; gboolean needs_label = FALSE; g_return_val_if_fail (GWH_IS_SETTINGS (self), NULL); pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (self), prop_name); g_return_val_if_fail (pspec != NULL, NULL); g_value_init (&value, pspec->value_type); g_object_get_property (G_OBJECT (self), prop_name, &value); switch (G_TYPE_FUNDAMENTAL (G_VALUE_TYPE (&value))) { #define HANDLE_TYPE(T, t, signal) \ case G_TYPE_##T: \ widget = gwh_settings_widget_##t##_new (self, &value, pspec, \ &needs_label); \ if (setting_changed_callback) { \ GwhSettingsWidgetNotifyData *data = g_malloc (sizeof *data); \ \ data->settings = self; \ data->callback = setting_changed_callback; \ data->user_data = user_data; \ g_signal_connect_data (widget, signal, \ G_CALLBACK (gwh_settings_widget_##t##_notify_callback),\ data, (GClosureNotify)g_free, 0); \ if (notify_flags & GWH_SETTINGS_NOTIFY_ON_CONNEXION) { \ gwh_settings_widget_##t##_notify (G_OBJECT (widget), data); \ } \ } \ break; HANDLE_TYPE (BOOLEAN, boolean, "toggled") HANDLE_TYPE (ENUM, enum, "changed") HANDLE_TYPE (INT, int, "value-changed") HANDLE_TYPE (STRING, string, "notify::text") #undef HANDLE_TYPE default: g_critical ("Unsupported property type \"%s\"", G_VALUE_TYPE_NAME (&value)); } if (widget) { g_object_set_data_full (G_OBJECT (widget), KEY_PSPEC, g_param_spec_ref (pspec), (GDestroyNotify)g_param_spec_unref); if (needs_label) { GtkWidget *box; gchar *label; box = gtk_hbox_new (FALSE, 6); label = g_strdup_printf (_("%s:"), g_param_spec_get_nick (pspec)); gtk_box_pack_start (GTK_BOX (box), gtk_label_new (label), FALSE, TRUE, 0); g_free (label); gtk_box_pack_start (GTK_BOX (box), widget, TRUE, TRUE, 0); g_object_set_data_full (G_OBJECT (box), KEY_WIDGET, g_object_ref (widget), g_object_unref); widget = box; } else { g_object_set_data_full (G_OBJECT (widget), KEY_WIDGET, g_object_ref (widget), g_object_unref); } gtk_widget_set_tooltip_text (widget, g_param_spec_get_blurb (pspec)); } return widget; } GtkWidget * gwh_settings_widget_new (GwhSettings *self, const gchar *prop_name) { return gwh_settings_widget_new_full (self, prop_name, NULL, NULL, 0); } static gboolean gwh_settings_widget_sync_internal (GwhSettings *self, GtkWidget *widget) { GParamSpec *pspec; GValue value = {0}; g_return_val_if_fail (G_IS_OBJECT (widget), FALSE); widget = g_object_get_data (G_OBJECT (widget), KEY_WIDGET); g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); pspec = g_object_get_data (G_OBJECT (widget), KEY_PSPEC); g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), FALSE); g_value_init (&value, pspec->value_type); g_object_get_property (G_OBJECT (self), pspec->name, &value); switch (G_TYPE_FUNDAMENTAL (pspec->value_type)) { #define HANDLE_TYPE(T, t) \ case G_TYPE_##T: \ gwh_settings_widget_##t##_sync (self, pspec, &value, widget); \ break; HANDLE_TYPE (BOOLEAN, boolean) HANDLE_TYPE (ENUM, enum) HANDLE_TYPE (INT, int) HANDLE_TYPE (STRING, string) #undef HANDLE_TYPE default: g_critical ("Unsupported property type \"%s\"", g_type_name (pspec->value_type)); } g_value_unset (&value); return TRUE; } /** * gwh_settings_widget_sync_v: * @self: A #GwhSettings object * @...: a %NULL-terminated list of widgets to sync * * Same as gwh_settings_widget_sync() but emits notifications only after all * widgets got synchronized. */ void gwh_settings_widget_sync_v (GwhSettings *self, ...) { GtkWidget *widget; va_list ap; g_return_if_fail (GWH_IS_SETTINGS (self)); g_object_freeze_notify (G_OBJECT (self)); va_start (ap, self); while ((widget = va_arg (ap, GtkWidget*))) { if (! gwh_settings_widget_sync_internal (self, widget)) { break; } } va_end (ap); g_object_thaw_notify (G_OBJECT (self)); } void gwh_settings_widget_sync (GwhSettings *self, GtkWidget *widget) { g_return_if_fail (GWH_IS_SETTINGS (self)); gwh_settings_widget_sync_internal (self, widget); } geany-plugins-1.27/webhelper/src/gwh-utils.c0000644000175000017500000001012112671261352021346 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include "gwh-utils.h" #include #include #include GdkPixbuf * gwh_pixbuf_new_from_uri (const gchar *uri, GError **error) { GdkPixbuf *pixbuf = NULL; GFile *file; GInputStream *stream; file = g_file_new_for_uri (uri); stream = G_INPUT_STREAM (g_file_read (file, NULL, error)); if (stream) { GdkPixbufLoader *loader; guchar buf[BUFSIZ]; gboolean success = TRUE; loader = gdk_pixbuf_loader_new (); while (success) { gssize n_read; n_read = g_input_stream_read (stream, buf, sizeof (buf), NULL, error); if (n_read < 0) { success = FALSE; } else { if (n_read > 0) { success = gdk_pixbuf_loader_write (loader, buf, (gsize)n_read, error); } if (success && (gsize)n_read < sizeof (buf)) { success = gdk_pixbuf_loader_close (loader, error); break; } } } if (success) { pixbuf = gdk_pixbuf_loader_get_pixbuf (loader); if (pixbuf) { g_object_ref (pixbuf); } else { g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "Unknown error"); } } g_object_unref (loader); g_object_unref (stream); } g_object_unref (file); return pixbuf; } /** * gwh_get_window_geometry: * @window: A #GtkWindow * @default_x: Default position on X if not computable * @default_y: Default position on Y if not computable * * Gets the XWindow-style geometry of a #GtkWindow * * Returns: A newly-allocated string representing the window geometry. */ gchar * gwh_get_window_geometry (GtkWindow *window, gint default_x, gint default_y) { gint width; gint height; gint x; gint y; gtk_window_get_size (window, &width, &height); if (gtk_widget_get_visible (GTK_WIDGET (window))) { gtk_window_get_position (window, &x, &y); } else { x = default_x; y = default_y; } return g_strdup_printf ("%dx%d%+d%+d", width, height, x, y); } /** * gwh_set_window_geometry: * @window: A #GtkWindow * @geometry: a XWindow-style geometry * @x_: (out): return location for the window's X coordinate * @y_: (out): return location for the window's Y coordinate * * Sets the geometry of a window from a XWindow-style geometry. */ void gwh_set_window_geometry (GtkWindow *window, const gchar *geometry, gint *x_, gint *y_) { gint width; gint height; gint x; gint y; gchar dummy; GdkWindowHints hints_mask = 0; g_return_if_fail (geometry != NULL); gtk_window_get_size (window, &width, &height); gtk_window_get_position (window, &x, &y); switch (sscanf (geometry, "%dx%d%d%d%c", &width, &height, &x, &y, &dummy)) { case 4: case 3: if (x_) *x_ = x; if (y_) *y_ = y; gtk_window_move (window, x, y); hints_mask |= GDK_HINT_USER_POS; /* fallthrough */ case 2: case 1: gtk_window_resize (window, width, height); hints_mask |= GDK_HINT_USER_SIZE; break; default: g_warning ("Invalid window geometry \"%s\"", geometry); } gtk_window_set_geometry_hints (window, NULL, NULL, hints_mask); } geany-plugins-1.27/webhelper/src/gwh-enum-types.c.tpl0000644000175000017500000000140012671261352023112 0ustar00frlanfrlan00000000000000/*** BEGIN file-header ***/ #include "gwh-enum-types.h" #include /*** END file-header ***/ /*** BEGIN file-production ***/ /* enumerations from "@basename@" */ /*** END file-production ***/ /*** BEGIN value-header ***/ GType @enum_name@_get_type (void) { static GType etype = 0; if (G_UNLIKELY(etype == 0)) { static const G@Type@Value values[] = { /*** END value-header ***/ /*** BEGIN value-production ***/ { @VALUENAME@, "@VALUENAME@", N_("@valuenick@") }, /*** END value-production ***/ /*** BEGIN value-tail ***/ { 0, NULL, NULL } }; etype = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); } return etype; } /*** END value-tail ***/ /*** BEGIN file-tail ***/ /*** END file-tail ***/ geany-plugins-1.27/webhelper/src/gwh-keybindings.c0000644000175000017500000000476412671261352022534 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include "gwh-keybindings.h" #include #include #include #include #include "gwh-plugin.h" static GeanyKeyGroup *G_key_group; void gwh_keybindings_init (void) { G_key_group = plugin_set_key_group (geany_plugin, "webhelper", GWH_KB_COUNT, NULL); } void gwh_keybindings_cleanup (void) { G_key_group = NULL; } GeanyKeyGroup * gwh_keybindings_get_group (void) { return G_key_group; } /** * ghw_keybindings_handle_event: * @widget: Unused, may be %NULL * @event: A GdkEventKey to handle * @data: Unused, may be %NULL * * Handles a GDK key event and calls corresponding keybindings callbacks. * This function is meant to be used as the callback for a * GtkWidget:key-press-event signal. * * Returns: Whether the event was handled or not */ gboolean gwh_keybindings_handle_event (GtkWidget *widget, GdkEventKey *event, gpointer data) { guint mods = event->state & gtk_accelerator_get_default_mod_mask (); gboolean handled = FALSE; guint keyval = event->keyval; guint i; if (event->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK)) { keyval = gdk_keyval_to_lower (keyval); } for (i = 0; ! handled && i < GWH_KB_COUNT; i++) { GeanyKeyBinding *kb; kb = keybindings_get_item (G_key_group, i); if (kb->key == keyval && kb->mods == mods) { if (kb->callback) { kb->callback (i); /* We can't handle key group callback since we can't acces key group * fields. However, we don't use it so it's not a real problem. */ /*} else if (G_key_group->callback) { G_key_group->callback (i);*/ } handled = TRUE; } } return handled; } geany-plugins-1.27/webhelper/src/gwh-settings.h0000644000175000017500000001117012671261352022060 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef H_GWH_SETTINGS #define H_GWH_SETTINGS #include #include #include #include G_BEGIN_DECLS #define GWH_TYPE_SETTINGS (gwh_settings_get_type ()) #define GWH_SETTINGS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GWH_TYPE_SETTINGS, GwhSettings)) #define GWH_SETTINGS_CLASS(ko) (G_TYPE_CHECK_CLASS_CAST ((k), GWH_TYPE_SETTINGS, GwhSettingsClass)) #define GWH_IS_SETTINGS(b) (G_TYPE_CHECK_INSTANCE_TYPE ((b), GWH_TYPE_SETTINGS)) #define GWH_IS_SETTINGS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GWH_TYPE_SETTINGS)) /** * GwhSettingsNotifyFlags: * @GWH_SETTINGS_NOTIFY_NONE: 0, no flags * @GWH_SETTINGS_NOTIFY_ON_CONNEXION: Call user callback just after widget * creation. * * Notification flags for gwh_settings_widget_new_full(). */ typedef enum _GwhSettingsNotifyFlags { GWH_SETTINGS_NOTIFY_NONE = 0, GWH_SETTINGS_NOTIFY_ON_CONNEXION = 1<<0 } GwhSettingsNotifyFlags; typedef struct _GwhSettings GwhSettings; typedef struct _GwhSettingsClass GwhSettingsClass; typedef struct _GwhSettingsPrivate GwhSettingsPrivate; typedef void (*GwhSettingsWidgetBooleanNotify) (GwhSettings *settings, gboolean value, gpointer data); typedef void (*GwhSettingsWidgetEnumNotify) (GwhSettings *settings, gint value, gpointer data); typedef void (*GwhSettingsWidgetIntNotify) (GwhSettings *settings, gint value, gpointer data); typedef void (*GwhSettingsWidgetStringNotify) (GwhSettings *settings, const gchar *value, gpointer data); struct _GwhSettings { GObject parent; GwhSettingsPrivate *priv; }; struct _GwhSettingsClass { GObjectClass parent_class; }; G_GNUC_INTERNAL GType gwh_settings_get_type (void) G_GNUC_CONST; G_GNUC_INTERNAL GwhSettings *gwh_settings_get_default (void); G_GNUC_INTERNAL void gwh_settings_install_property (GwhSettings *self, GParamSpec *pspec); G_GNUC_INTERNAL gboolean gwh_settings_save_to_file (GwhSettings *self, const gchar *filename, GError **error); G_GNUC_INTERNAL gboolean gwh_settings_load_from_file (GwhSettings *self, const gchar *filename, GError **error); G_GNUC_INTERNAL GtkWidget *gwh_settings_widget_new_full (GwhSettings *self, const gchar *prop_name, GCallback setting_changed_callback, gpointer user_data, GwhSettingsNotifyFlags notify_flags); G_GNUC_INTERNAL GtkWidget *gwh_settings_widget_new (GwhSettings *self, const gchar *prop_name); G_GNUC_INTERNAL void gwh_settings_widget_sync_v (GwhSettings *self, ...) G_GNUC_NULL_TERMINATED; G_GNUC_INTERNAL void gwh_settings_widget_sync (GwhSettings *self, GtkWidget *widget); G_END_DECLS #endif /* guard */ geany-plugins-1.27/webhelper/src/gwh-plugin.c0000644000175000017500000004427112671261352021521 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include "config.h" #include #include #include #include #include #include #include #include #include #include "gwh-utils.h" #include "gwh-browser.h" #include "gwh-settings.h" #include "gwh-plugin.h" #include "gwh-keybindings.h" #include "gwh-enum-types.h" GeanyPlugin *geany_plugin; GeanyData *geany_data; PLUGIN_VERSION_CHECK(224) PLUGIN_SET_TRANSLATABLE_INFO ( LOCALEDIR, GETTEXT_PACKAGE, _("Web helper"), _("Display a preview web page that gets updated upon document saving and " "provide web analysis and debugging tools (aka Web Inspector), all using " "WebKit."), GWH_PLUGIN_VERSION, "Colomban Wendling " ) enum { CONTAINER_NOTEBOOK, CONTAINER_WINDOW }; static GtkWidget *G_browser = NULL; static struct { guint type; GtkWidget *widget; /* only valid if type == CONTAINER_WINDOW */ gboolean visible; } G_container; static GwhSettings *G_settings = NULL; static void separate_window_set_visible (gboolean visible) { if (visible != G_container.visible) { gchar *geometry; G_container.visible = visible; if (visible) { gtk_widget_show (G_container.widget); g_object_get (G_settings, "browser-separate-window-geometry", &geometry, NULL); gwh_set_window_geometry (GTK_WINDOW (G_container.widget), geometry, NULL, NULL); g_free (geometry); } else { geometry = gwh_get_window_geometry (GTK_WINDOW (G_container.widget), 0, 0); g_object_set (G_settings, "browser-separate-window-geometry", geometry, NULL); g_free (geometry); gtk_widget_hide (G_container.widget); } } } static gboolean on_separate_window_delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) { /* never honor delete-event */ return TRUE; } static void on_separate_window_destroy (GtkWidget *widget, gpointer data) { gwh_browser_set_inspector_transient_for (GWH_BROWSER (G_browser), NULL); gtk_container_remove (GTK_CONTAINER (G_container.widget), G_browser); } static gboolean on_idle_widget_show (gpointer data) { separate_window_set_visible (TRUE); /* present back the Geany's window because it is very unlikely the user * expects the focus on our newly created window at this point, since we * either just loaded the plugin or activated a element from Geany's UI */ gtk_window_present (GTK_WINDOW (geany_data->main_widgets->window)); return FALSE; } static GtkWidget * create_separate_window (void) { GtkWidget *window; gboolean skips_taskbar; gboolean is_transient; gint window_type; g_object_get (G_settings, "wm-secondary-windows-skip-taskbar", &skips_taskbar, "wm-secondary-windows-are-transient", &is_transient, "wm-secondary-windows-type", &window_type, NULL); window = g_object_new (GTK_TYPE_WINDOW, "type", GTK_WINDOW_TOPLEVEL, "skip-taskbar-hint", skips_taskbar, "title", _("Web view"), "deletable", FALSE, "type-hint", window_type, NULL); g_signal_connect (window, "delete-event", G_CALLBACK (on_separate_window_delete_event), NULL); g_signal_connect (window, "destroy", G_CALLBACK (on_separate_window_destroy), NULL); gtk_container_add (GTK_CONTAINER (window), G_browser); if (is_transient) { gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (geany_data->main_widgets->window)); } else { GList *icons; icons = gtk_window_get_icon_list (GTK_WINDOW (geany_data->main_widgets->window)); gtk_window_set_icon_list (GTK_WINDOW (window), icons); g_list_free (icons); } gwh_browser_set_inspector_transient_for (GWH_BROWSER (G_browser), GTK_WINDOW (window)); return window; } static void attach_browser (void) { GwhBrowserPosition position; g_object_get (G_settings, "browser-position", &position, NULL); if (position == GWH_BROWSER_POSITION_SEPARATE_WINDOW) { G_container.type = CONTAINER_WINDOW; G_container.widget = create_separate_window (); /* seems that if a window is shown before it's transient parent, bad stuff * happend. so, show our window a little later. */ g_idle_add (on_idle_widget_show, G_container.widget); } else { G_container.type = CONTAINER_NOTEBOOK; if (position == GWH_BROWSER_POSITION_SIDEBAR) { G_container.widget = geany_data->main_widgets->sidebar_notebook; } else { G_container.widget = geany_data->main_widgets->message_window_notebook; } gtk_notebook_append_page (GTK_NOTEBOOK (G_container.widget), G_browser, gtk_label_new (_("Web preview"))); gwh_browser_set_inspector_transient_for (GWH_BROWSER (G_browser), GTK_WINDOW (geany_data->main_widgets->window)); } } static void detach_browser (void) { if (G_container.type == CONTAINER_WINDOW) { separate_window_set_visible (FALSE); /* saves the geometry */ gtk_widget_destroy (G_container.widget); } else { gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (G_browser)), G_browser); } } static void on_settings_browser_position_notify (GObject *object, GParamSpec *pspec, gpointer data) { g_object_ref (G_browser); detach_browser (); attach_browser (); g_object_unref (G_browser); } static void on_settings_windows_attrs_notify (GObject *object, GParamSpec *pspec, gpointer data) { /* recreate the window to apply the new attributes */ if (G_container.type == CONTAINER_WINDOW) { g_object_ref (G_browser); detach_browser (); attach_browser (); g_object_unref (G_browser); } } static void on_document_save (GObject *obj, GeanyDocument *doc, gpointer user_data) { gboolean auto_reload = FALSE; g_object_get (G_OBJECT (G_settings), "browser-auto-reload", &auto_reload, NULL); if (auto_reload) { gwh_browser_reload (GWH_BROWSER (G_browser)); } } static void on_item_auto_reload_toggled (GtkCheckMenuItem *item, gpointer dummy) { g_object_set (G_OBJECT (G_settings), "browser-auto-reload", gtk_check_menu_item_get_active (item), NULL); } static void on_browser_populate_popup (GwhBrowser *browser, GtkMenu *menu, gpointer dummy) { GtkWidget *item; gboolean auto_reload = FALSE; item = gtk_separator_menu_item_new (); gtk_widget_show (item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); g_object_get (G_OBJECT (G_settings), "browser-auto-reload", &auto_reload, NULL); item = gtk_check_menu_item_new_with_mnemonic (_("Reload upon document saving")); gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (item), auto_reload); gtk_widget_show (item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); g_signal_connect (item, "toggled", G_CALLBACK (on_item_auto_reload_toggled), NULL); } static void on_kb_toggle_inspector (guint key_id) { gwh_browser_toggle_inspector (GWH_BROWSER (G_browser)); } static void on_kb_show_hide_separate_window (guint key_id) { if (G_container.type == CONTAINER_WINDOW) { separate_window_set_visible (! G_container.visible); } } static void on_kb_toggle_bookmark (guint key_id) { const gchar *uri = gwh_browser_get_uri (GWH_BROWSER (G_browser)); if (gwh_browser_has_bookmark (GWH_BROWSER (G_browser), uri)) { gwh_browser_remove_bookmark (GWH_BROWSER (G_browser), uri); } else { gwh_browser_add_bookmark (GWH_BROWSER (G_browser), uri); } } static gchar * get_config_filename (void) { return g_build_filename (geany_data->app->configdir, "plugins", GWH_PLUGIN_TARNAME, GWH_PLUGIN_TARNAME".conf", NULL); } static void load_config (void) { gchar *path; GError *err = NULL; G_settings = gwh_settings_get_default (); gwh_settings_install_property (G_settings, g_param_spec_boolean ( "browser-auto-reload", _("Browser auto reload"), _("Whether the browser reloads itself upon document saving"), TRUE, G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_string ( "browser-last-uri", _("Browser last URI"), _("Last URI visited by the browser"), "about:blank", G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_boxed ( "browser-bookmarks", _("Bookmarks"), _("List of bookmarks"), G_TYPE_STRV, G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_enum ( "browser-orientation", _("Browser orientation"), _("Orientation of the browser widget"), GTK_TYPE_ORIENTATION, GTK_ORIENTATION_VERTICAL, G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_enum ( "browser-position", _("Browser position"), _("Position of the browser widget in Geany's UI"), GWH_TYPE_BROWSER_POSITION, GWH_BROWSER_POSITION_MESSAGE_WINDOW, G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_string ( "browser-separate-window-geometry", _("Browser separate window geometry"), _("Last geometry of the separated browser's window"), "400x300", G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_string ( "inspector-window-geometry", _("Inspector window geometry"), _("Last geometry of the inspector window"), "400x300", G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_boolean ( "inspector-detached", _("Inspector detached"), _("Whether the inspector is in a separate window or docked in the browser"), FALSE, G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_boolean ( "wm-secondary-windows-skip-taskbar", _("Secondary windows skip task bar"), _("Whether to tell the window manager not to show the secondary windows in the task bar"), TRUE, G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_boolean ( "wm-secondary-windows-are-transient", _("Secondary windows are transient"), _("Whether secondary windows are transient children of their parent"), TRUE, G_PARAM_READWRITE)); gwh_settings_install_property (G_settings, g_param_spec_enum ( "wm-secondary-windows-type", _("Secondary windows type"), _("The type of the secondary windows"), GWH_TYPE_WINDOW_TYPE, GWH_WINDOW_TYPE_NORMAL, G_PARAM_READWRITE)); path = get_config_filename (); if (! gwh_settings_load_from_file (G_settings, path, &err)) { g_warning ("Failed to load configuration: %s", err->message); g_error_free (err); } g_free (path); } static void save_config (void) { gchar *path; gchar *dirname; GError *err = NULL; path = get_config_filename (); dirname = g_path_get_dirname (path); utils_mkdir (dirname, TRUE); g_free (dirname); if (! gwh_settings_save_to_file (G_settings, path, &err)) { g_warning ("Failed to save configuration: %s", err->message); g_error_free (err); } g_free (path); g_object_unref (G_settings); G_settings = NULL; } void plugin_init (GeanyData *data) { /* even though it's not really a good idea to keep all the library we load * into memory, this is needed for webkit. first, without this we creash after * module unloading, and webkitgtk inserts static data into the GLib * (g_quark_from_static_string() for example) so it's not safe to remove it */ plugin_module_make_resident (geany_plugin); /* webkit uses threads but don't initialize the thread system */ if (! g_thread_supported ()) { g_thread_init (NULL); } load_config (); gwh_keybindings_init (); G_browser = gwh_browser_new (); g_signal_connect (G_browser, "populate-popup", G_CALLBACK (on_browser_populate_popup), NULL); attach_browser (); gtk_widget_show_all (G_browser); plugin_signal_connect (geany_plugin, G_OBJECT (G_settings), "notify::browser-position", FALSE, G_CALLBACK (on_settings_browser_position_notify), NULL); plugin_signal_connect (geany_plugin, G_OBJECT (G_settings), "notify::wm-secondary-windows-skip-taskbar", FALSE, G_CALLBACK (on_settings_windows_attrs_notify), NULL); plugin_signal_connect (geany_plugin, G_OBJECT (G_settings), "notify::wm-secondary-windows-are-transient", FALSE, G_CALLBACK (on_settings_windows_attrs_notify), NULL); plugin_signal_connect (geany_plugin, G_OBJECT (G_settings), "notify::wm-secondary-windows-type", FALSE, G_CALLBACK (on_settings_windows_attrs_notify), NULL); plugin_signal_connect (geany_plugin, NULL, "document-save", TRUE, G_CALLBACK (on_document_save), NULL); /* add keybindings */ keybindings_set_item (gwh_keybindings_get_group (), GWH_KB_TOGGLE_INSPECTOR, on_kb_toggle_inspector, GDK_F12, 0, "toggle_inspector", _("Toggle Web Inspector"), NULL); keybindings_set_item (gwh_keybindings_get_group (), GWH_KB_SHOW_HIDE_SEPARATE_WINDOW, on_kb_show_hide_separate_window, 0, 0, "show_hide_separate_window", _("Show/Hide Web View's Window"), NULL); keybindings_set_item (gwh_keybindings_get_group (), GWH_KB_TOGGLE_BOOKMARK, on_kb_toggle_bookmark, 0, 0, "toggle_bookmark", _("Toggle bookmark for the current website"), NULL); } void plugin_cleanup (void) { detach_browser (); gwh_keybindings_cleanup (); save_config (); } typedef struct _GwhConfigDialog GwhConfigDialog; struct _GwhConfigDialog { GtkWidget *browser_position; GtkWidget *browser_auto_reload; GtkWidget *secondary_windows_skip_taskbar; GtkWidget *secondary_windows_are_transient; GtkWidget *secondary_windows_type; }; static void on_configure_dialog_response (GtkDialog *dialog, gint response_id, GwhConfigDialog *cdialog) { switch (response_id) { case GTK_RESPONSE_ACCEPT: case GTK_RESPONSE_APPLY: case GTK_RESPONSE_OK: case GTK_RESPONSE_YES: { gwh_settings_widget_sync_v (G_settings, cdialog->browser_position, cdialog->browser_auto_reload, cdialog->secondary_windows_skip_taskbar, cdialog->secondary_windows_are_transient, cdialog->secondary_windows_type, NULL); break; } default: break; } if (response_id != GTK_RESPONSE_APPLY) { g_free (cdialog); } } GtkWidget * plugin_configure (GtkDialog *dialog) { GtkWidget *box1; GtkWidget *box; GtkWidget *alignment; GwhConfigDialog *cdialog; cdialog = g_malloc (sizeof *cdialog); /* Top-level box, containing the different frames */ box1 = gtk_vbox_new (FALSE, 12); /* Browser */ gtk_box_pack_start (GTK_BOX (box1), ui_frame_new_with_alignment (_("Browser"), &alignment), FALSE, FALSE, 0); box = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (alignment), box); /* browser position */ cdialog->browser_position = gwh_settings_widget_new (G_settings, "browser-position"); gtk_box_pack_start (GTK_BOX (box), cdialog->browser_position, FALSE, TRUE, 0); /* auto-reload */ cdialog->browser_auto_reload = gwh_settings_widget_new (G_settings, "browser-auto-reload"); gtk_box_pack_start (GTK_BOX (box), cdialog->browser_auto_reload, FALSE, TRUE, 0); /* Windows */ gtk_box_pack_start (GTK_BOX (box1), ui_frame_new_with_alignment (_("Windows"), &alignment), FALSE, FALSE, 0); box = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (alignment), box); /* skip taskbar */ cdialog->secondary_windows_skip_taskbar = gwh_settings_widget_new (G_settings, "wm-secondary-windows-skip-taskbar"); gtk_box_pack_start (GTK_BOX (box), cdialog->secondary_windows_skip_taskbar, FALSE, TRUE, 0); /* tranisent */ cdialog->secondary_windows_are_transient = gwh_settings_widget_new (G_settings, "wm-secondary-windows-are-transient"); gtk_box_pack_start (GTK_BOX (box), cdialog->secondary_windows_are_transient, FALSE, TRUE, 0); /* type */ cdialog->secondary_windows_type = gwh_settings_widget_new (G_settings, "wm-secondary-windows-type"); gtk_box_pack_start (GTK_BOX (box), cdialog->secondary_windows_type, FALSE, TRUE, 0); g_signal_connect (dialog, "response", G_CALLBACK (on_configure_dialog_response), cdialog); return box1; } geany-plugins-1.27/webhelper/src/gwh-browser.h0000644000175000017500000000700412671261352021704 0ustar00frlanfrlan00000000000000/* * * Copyright (C) 2010-2011 Colomban Wendling * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef H_GWH_BROWSER #define H_GWH_BROWSER #include #include #include G_BEGIN_DECLS #define GWH_TYPE_BROWSER (gwh_browser_get_type ()) #define GWH_BROWSER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GWH_TYPE_BROWSER, GwhBrowser)) #define GWH_BROWSER_CLASS(ko) (G_TYPE_CHECK_CLASS_CAST ((k), GWH_TYPE_BROWSER, GwhBrowserClass)) #define GWH_IS_BROWSER(b) (G_TYPE_CHECK_INSTANCE_TYPE ((b), GWH_TYPE_BROWSER)) #define GWH_IS_BROWSER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GWH_TYPE_BROWSER)) typedef enum { GWH_BROWSER_POSITION_MESSAGE_WINDOW, GWH_BROWSER_POSITION_SIDEBAR, GWH_BROWSER_POSITION_SEPARATE_WINDOW } GwhBrowserPosition; typedef struct _GwhBrowser GwhBrowser; typedef struct _GwhBrowserClass GwhBrowserClass; typedef struct _GwhBrowserPrivate GwhBrowserPrivate; struct _GwhBrowser { GtkVBox parent; GwhBrowserPrivate *priv; }; struct _GwhBrowserClass { GtkVBoxClass parent_class; void (*populate_popup) (GwhBrowser *browser, GtkMenu *menu); }; G_GNUC_INTERNAL GType gwh_browser_get_type (void) G_GNUC_CONST; G_GNUC_INTERNAL GtkWidget *gwh_browser_new (void); G_GNUC_INTERNAL void gwh_browser_set_uri (GwhBrowser *self, const gchar *uri); G_GNUC_INTERNAL const gchar *gwh_browser_get_uri (GwhBrowser *self); G_GNUC_INTERNAL GtkToolbar *gwh_browser_get_toolbar (GwhBrowser *self); G_GNUC_INTERNAL WebKitWebView *gwh_browser_get_web_view (GwhBrowser *self); G_GNUC_INTERNAL void gwh_browser_reload (GwhBrowser *self); G_GNUC_INTERNAL void gwh_browser_set_inspector_transient_for (GwhBrowser *self, GtkWindow *window); G_GNUC_INTERNAL GtkWindow *gwh_browser_get_inspector_transient_for (GwhBrowser *self); G_GNUC_INTERNAL void gwh_browser_toggle_inspector (GwhBrowser *self); G_GNUC_INTERNAL gchar **gwh_browser_get_bookmarks (GwhBrowser *self); G_GNUC_INTERNAL gboolean gwh_browser_has_bookmark (GwhBrowser *self, const gchar *uri); G_GNUC_INTERNAL void gwh_browser_add_bookmark (GwhBrowser *self, const gchar *uri); G_GNUC_INTERNAL void gwh_browser_remove_bookmark (GwhBrowser *self, const gchar *uri); G_END_DECLS #endif /* guard */ geany-plugins-1.27/webhelper/src/gwh-enum-types.h0000644000175000017500000000155312671261352022332 0ustar00frlanfrlan00000000000000 /* Generated data (by glib-mkenums) */ #ifndef H_GWH_ENUM_TYPES #define H_GWH_ENUM_TYPES #include /* include all headers that may introduce new enums */ #include "gwh-browser.h" #include "gwh-settings.h" #include "gwh-utils.h" G_BEGIN_DECLS /* enumerations from "gwh-browser.h" */ G_GNUC_INTERNAL GType gwh_browser_position_get_type (void) G_GNUC_CONST; #define GWH_TYPE_BROWSER_POSITION (gwh_browser_position_get_type ()) /* enumerations from "gwh-settings.h" */ G_GNUC_INTERNAL GType gwh_settings_notify_flags_get_type (void) G_GNUC_CONST; #define GWH_TYPE_SETTINGS_NOTIFY_FLAGS (gwh_settings_notify_flags_get_type ()) /* enumerations from "gwh-utils.h" */ G_GNUC_INTERNAL GType gwh_window_type_get_type (void) G_GNUC_CONST; #define GWH_TYPE_WINDOW_TYPE (gwh_window_type_get_type ()) G_END_DECLS #endif /* guard */ /* Generated data ends here */ geany-plugins-1.27/webhelper/README0000644000175000017500000000453012671261352017357 0ustar00frlanfrlan00000000000000========= WebHelper ========= .. contents:: About ===== WebHelper is a plugin for Geany that provides some web development facilities, such as a web page preview and some debugging tools (web inspector). Prominent features ------------------ * A basic web view, allowing to display any web page (using WebKit); * Possible automatic reloading of the web view upon document saving; * A web inspector/debugging tool for the web view's content (including a JavaScript console, a viewer and editor of processed HTML and CSS, a network usage analysis tool and many more, thanks to WebKit); * Basic bookmarks for quicker access to frequently used URL. Requirements ============ This plugin requires GTK+ (>= 2.16), GLib (>= 2.16), GIO (>= 2.18), GdkPixbuf (>= 2.0), WebKitGTK (>= 1.1.18), and obviously Geany (>= 0.20) to work. If you indent to build it yourself, you will need to get the development files of these libraries. You can find these packages at http://www.geany.org/, http://www.gtk.org/ and http://www.webkitgtk.org/. Installation ============ For detailed instructions, see the INSTALL file of the Geany-Plugins package this plugin is part of. Usage ===== When loaded into Geany, this plugins adds a web view in the message window (the default), the sidebar or in a separate window. You can find most of the features from this view. Bookmarks --------- To add a bookmark, you can click on the website's icon next to its URL and check the "Bookmark this website" item. You can alternatively use the configurable keybinding to toggle the bookmark for the current URL. Bookmarks are displayed in the drop-down menu of the URL bar, sorted alphabetically by domain. License ======= WebHelper is distributed under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. You should have received a copy of the GNU General Public License along with WebHelper. If not, see . Contact ======= You can email me at , and I may also be on the #geany channel on FreeNode, under the `b4n` nickname. Bug reports and feature requests -------------------------------- To report a bug or ask for a new feature, please use the Geany-Plugins tracker on GitHub: https://github.com/geany/geany-plugins/issues geany-plugins-1.27/aclocal.m40000644000175000017500000013173412671261376016377 0ustar00frlanfrlan00000000000000# generated automatically by aclocal 1.15 -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 2002-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.15], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR # Autoconf support for the Vala compiler # Copyright (C) 2008-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the Vala compiler exists in $PATH. If it is found, the # variable VALAC is set pointing to its absolute path. Otherwise, it is # simply set to 'valac'. # Optionally a minimum release number of the compiler can be requested. # If the ACTION-IF-FOUND parameter is given, it will be run if a proper # Vala compiler is found. # Similarly, if the ACTION-IF-FOUND is given, it will be run if no proper # Vala compiler is found. It defaults to simply print a warning about the # situation, but otherwise proceeding with the configuration. # # AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # -------------------------------------------------------------------------- AC_DEFUN([AM_PROG_VALAC], [AC_PATH_PROG([VALAC], [valac], [valac]) AS_IF([test "$VALAC" != valac && test -n "$1"], [AC_MSG_CHECKING([whether $VALAC is at least version $1]) am__vala_version=`$VALAC --version | sed 's/Vala *//'` AS_VERSION_COMPARE([$1], ["$am__vala_version"], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]) VALAC=valac])]) if test "$VALAC" = valac; then m4_default([$3], [AC_MSG_WARN([no proper vala compiler found]) AC_MSG_WARN([you will not be able to compile vala source files])]) else m4_default([$2], [:]) fi]) m4_include([geanypy/m4/ax_python_devel.m4]) m4_include([geanypy/m4/ax_python_library.m4]) m4_include([build/bundled/gpgme.m4]) m4_include([build/addons.m4]) m4_include([build/autoclose.m4]) m4_include([build/automark.m4]) m4_include([build/cflags.m4]) m4_include([build/codenav.m4]) m4_include([build/commander.m4]) m4_include([build/common.m4]) m4_include([build/cppcheck.m4]) m4_include([build/debugger.m4]) m4_include([build/defineformat.m4]) m4_include([build/devhelp.m4]) m4_include([build/expansions.m4]) m4_include([build/geany.m4]) m4_include([build/geanyctags.m4]) m4_include([build/geanydoc.m4]) m4_include([build/geanyextrasel.m4]) m4_include([build/geanygendoc.m4]) m4_include([build/geanyinsertnum.m4]) m4_include([build/geanylatex.m4]) m4_include([build/geanylipsum.m4]) m4_include([build/geanylua.m4]) m4_include([build/geanymacro.m4]) m4_include([build/geanyminiscript.m4]) m4_include([build/geanynumberedbookmarks.m4]) m4_include([build/geanypg.m4]) m4_include([build/geanyprj.m4]) m4_include([build/geanypy.m4]) m4_include([build/geanysendmail.m4]) m4_include([build/geanyvc.m4]) m4_include([build/geniuspaste.m4]) m4_include([build/git-changebar.m4]) m4_include([build/gtk.m4]) m4_include([build/i18n.m4]) m4_include([build/ldflags.m4]) m4_include([build/lineoperations.m4]) m4_include([build/markdown.m4]) m4_include([build/multiterm.m4]) m4_include([build/overview.m4]) m4_include([build/pairtaghighlighter.m4]) m4_include([build/pohelper.m4]) m4_include([build/pretty-printer.m4]) m4_include([build/projectorganizer.m4]) m4_include([build/scope.m4]) m4_include([build/shiftcolumn.m4]) m4_include([build/spellcheck.m4]) m4_include([build/status.m4]) m4_include([build/tableconvert.m4]) m4_include([build/treebrowser.m4]) m4_include([build/unittests.m4]) m4_include([build/updatechecker.m4]) m4_include([build/vala.m4]) m4_include([build/webhelper.m4]) m4_include([build/xmlsnippets.m4]) m4_include([build/cache/glib-gettext.m4]) m4_include([build/cache/intltool.m4]) m4_include([build/cache/libtool.m4]) m4_include([build/cache/ltoptions.m4]) m4_include([build/cache/ltsugar.m4]) m4_include([build/cache/ltversion.m4]) m4_include([build/cache/lt~obsolete.m4]) m4_include([build/cache/nls.m4]) m4_include([build/cache/pkg.m4]) geany-plugins-1.27/Makefile.in0000644000175000017500000010335012671261400016561 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @ENABLE_ADDONS_TRUE@am__append_1 = addons @ENABLE_AUTOCLOSE_TRUE@am__append_2 = autoclose @ENABLE_AUTOMARK_TRUE@am__append_3 = automark @ENABLE_CODENAV_TRUE@am__append_4 = codenav @ENABLE_COMMANDER_TRUE@am__append_5 = commander @ENABLE_DEBUGGER_TRUE@am__append_6 = debugger @ENABLE_DEFINEFORMAT_TRUE@am__append_7 = defineformat @ENABLE_DEVHELP_TRUE@am__append_8 = devhelp @ENABLE_GEANYCTAGS_TRUE@am__append_9 = geanyctags @ENABLE_GEANYDOC_TRUE@am__append_10 = geanydoc @ENABLE_GEANYEXTRASEL_TRUE@am__append_11 = geanyextrasel @ENABLE_GEANYGENDOC_TRUE@am__append_12 = geanygendoc @ENABLE_GEANYINSERTNUM_TRUE@am__append_13 = geanyinsertnum @ENABLE_GEANYLATEX_TRUE@am__append_14 = geanylatex @ENABLE_GEANYLIPSUM_TRUE@am__append_15 = geanylipsum @ENABLE_GEANYLUA_TRUE@am__append_16 = geanylua @ENABLE_GEANYMACRO_TRUE@am__append_17 = geanymacro @ENABLE_GEANYMINISCRIPT_TRUE@am__append_18 = geanyminiscript @ENABLE_GEANYNUMBEREDBOOKMARKS_TRUE@am__append_19 = geanynumberedbookmarks @ENABLE_GEANYPG_TRUE@am__append_20 = geanypg @ENABLE_GEANYPRJ_TRUE@am__append_21 = geanyprj @ENABLE_GEANYPY_TRUE@am__append_22 = geanypy @ENABLE_GEANYSENDMAIL_TRUE@am__append_23 = geanysendmail @ENABLE_GEANYVC_TRUE@am__append_24 = geanyvc @ENABLE_GENIUSPASTE_TRUE@am__append_25 = geniuspaste @ENABLE_GITCHANGEBAR_TRUE@am__append_26 = git-changebar @ENABLE_LINEOPERATIONS_TRUE@am__append_27 = lineoperations @ENABLE_MARKDOWN_TRUE@am__append_28 = markdown @ENABLE_MULTITERM_TRUE@am__append_29 = multiterm @ENABLE_OVERVIEW_TRUE@am__append_30 = overview @ENABLE_PAIRTAGHIGHLIGHTER_TRUE@am__append_31 = pairtaghighlighter @ENABLE_POHELPER_TRUE@am__append_32 = pohelper @ENABLE_PRETTY_PRINTER_TRUE@am__append_33 = pretty-printer @ENABLE_PROJECTORGANIZER_TRUE@am__append_34 = projectorganizer @ENABLE_SCOPE_TRUE@am__append_35 = scope @ENABLE_SHIFTCOLUMN_TRUE@am__append_36 = shiftcolumn @ENABLE_SPELLCHECK_TRUE@am__append_37 = spellcheck @ENABLE_TABLECONVERT_TRUE@am__append_38 = tableconvert @ENABLE_TREEBROWSER_TRUE@am__append_39 = treebrowser @ENABLE_UPDATECHECKER_TRUE@am__append_40 = updatechecker @ENABLE_WEBHELPER_TRUE@am__append_41 = webhelper @ENABLE_XMLSNIPPETS_TRUE@am__append_42 = xmlsnippets subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = po addons autoclose automark codenav commander debugger \ defineformat devhelp geanyctags geanydoc geanyextrasel \ geanygendoc geanyinsertnum geanylatex geanylipsum geanylua \ geanymacro geanyminiscript geanynumberedbookmarks geanypg \ geanyprj geanypy geanysendmail geanyvc geniuspaste \ git-changebar lineoperations markdown multiterm overview \ pairtaghighlighter pohelper pretty-printer projectorganizer \ scope shiftcolumn spellcheck tableconvert treebrowser \ updatechecker webhelper xmlsnippets am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in NEWS \ README compile config.guess config.sub install-sh ltmain.sh \ missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best DIST_TARGETS = dist-bzip2 dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I build/cache -I build -I build/bundled -I geanypy/m4 --install AM_DISTCHECK_CONFIGURE_FLAGS = --with-geany-libdir='$${libdir}' SUBDIRS = po $(am__append_1) $(am__append_2) $(am__append_3) \ $(am__append_4) $(am__append_5) $(am__append_6) \ $(am__append_7) $(am__append_8) $(am__append_9) \ $(am__append_10) $(am__append_11) $(am__append_12) \ $(am__append_13) $(am__append_14) $(am__append_15) \ $(am__append_16) $(am__append_17) $(am__append_18) \ $(am__append_19) $(am__append_20) $(am__append_21) \ $(am__append_22) $(am__append_23) $(am__append_24) \ $(am__append_25) $(am__append_26) $(am__append_27) \ $(am__append_28) $(am__append_29) $(am__append_30) \ $(am__append_31) $(am__append_32) $(am__append_33) \ $(am__append_34) $(am__append_35) $(am__append_36) \ $(am__append_37) $(am__append_38) $(am__append_39) \ $(am__append_40) $(am__append_41) $(am__append_42) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) all install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ dist-xz dist-zip distcheck distclean distclean-generic \ distclean-hdr distclean-libtool distclean-tags distcleancheck \ distdir distuninstallcheck dvi dvi-am html html-am info \ info-am install install-am install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/devhelp/0000755000175000017500000000000012671261442016147 5ustar00frlanfrlan00000000000000geany-plugins-1.27/devhelp/Makefile.in0000644000175000017500000006451112671261400020215 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = devhelp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindoc_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(plugindocdir)" DATA = $(dist_plugindoc_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/vars.auxfiles.mk \ $(top_srcdir)/build/vars.docs.mk AUTHORS COPYING ChangeLog \ INSTALL NEWS README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ plugindocdir = $(docdir)/$(plugin) htmldocdir = $(plugindocdir) plugindatadir = $(pkgdatadir)/$(plugin) pluginlibdir = $(pkglibdir)/$(plugin) examplesdir = $(plugindatadir) dist_plugindoc_DATA = \ README \ ChangeLog \ NEWS \ COPYING \ AUTHORS \ $(AUXFILES) EXTRA_DIST = SUBDIRS = devhelp src data plugin = devhelp all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign devhelp/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign devhelp/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_plugindocDATA: $(dist_plugindoc_DATA) @$(NORMAL_INSTALL) @list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(plugindocdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(plugindocdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindocdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindocdir)" || exit $$?; \ done uninstall-dist_plugindocDATA: @$(NORMAL_UNINSTALL) @list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(plugindocdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(plugindocdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dist_plugindocDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_plugindocDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_plugindocDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am \ uninstall-dist_plugindocDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/devhelp/devhelp/0000755000175000017500000000000012671261442017576 5ustar00frlanfrlan00000000000000geany-plugins-1.27/devhelp/devhelp/dh-window.h0000644000175000017500000000507412671261352021655 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2001-2002 Mikael Hallendal * Copyright (C) 2005 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_WINDOW_H__ #define __DH_WINDOW_H__ #include #include "dh-base.h" G_BEGIN_DECLS #define DH_TYPE_WINDOW (dh_window_get_type ()) #define DH_WINDOW(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), DH_TYPE_WINDOW, DhWindow)) #define DH_WINDOW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), DH_TYPE_WINDOW, DhWindowClass)) #define DH_IS_WINDOW(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), DH_TYPE_WINDOW)) #define DH_IS_WINDOW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), DH_TYPE_WINDOW)) #define DH_WINDOW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), DH_TYPE_WINDOW, DhWindowClass)) typedef struct _DhWindow DhWindow; typedef struct _DhWindowClass DhWindowClass; typedef struct _DhWindowPriv DhWindowPriv; typedef enum { DH_OPEN_LINK_NEW_WINDOW = 1 << 0, DH_OPEN_LINK_NEW_TAB = 1 << 1 } DhOpenLinkFlags; struct _DhWindow { GtkWindow parent_instance; DhWindowPriv *priv; }; struct _DhWindowClass { GtkWindowClass parent_class; /* Signals */ void (*open_link) (DhWindow *window, const char *location, DhOpenLinkFlags flags); }; GType dh_window_get_type (void) G_GNUC_CONST; GtkWidget *dh_window_new (DhBase *base); void dh_window_search (DhWindow *window, const gchar *str, const gchar *book_id); void dh_window_focus_search (DhWindow *window); void _dh_window_display_uri (DhWindow *window, const gchar *uri); G_END_DECLS #endif /* __DH_WINDOW_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-window.c0000644000175000017500000020661012671261352021647 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2001-2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* * Fullscreen mode code adapted from gedit * Copyright (C) 1998, 1999 Alex Roberts, Evan Lawrence * Copyright (C) 2000, 2001 Chema Celorio, Paolo Maggi * Copyright (C) 2002-2005 Paolo Maggi */ #include "config.h" #include #include #include #include #include #ifdef GDK_WINDOWING_QUARTZ #include #endif #include "dh-book-tree.h" #include "dh-book-manager.h" #include "dh-book.h" #include "dh-preferences.h" #include "dh-search.h" #include "dh-window.h" #include "dh-util.h" #include "dh-marshal.h" #include "dh-enum-types.h" #include "eggfindbar.h" #include "ige-conf.h" #define FULLSCREEN_ANIMATION_SPEED 4 struct _DhWindowPriv { DhBase *base; GtkWidget *main_box; GtkWidget *menu_box; GtkWidget *hpaned; GtkWidget *control_notebook; GtkWidget *book_tree; GtkWidget *search; GtkWidget *notebook; GtkWidget *vbox; GtkWidget *findbar; GtkWidget *fullscreen_controls; guint fullscreen_animation_timeout_id; gboolean fullscreen_animation_enter; GtkUIManager *manager; GtkActionGroup *action_group; DhLink *selected_search_link; guint find_source_id; }; enum { OPEN_LINK, LAST_SIGNAL }; static gint signals[LAST_SIGNAL] = { 0 }; static guint tab_accel_keys[] = { GDK_1, GDK_2, GDK_3, GDK_4, GDK_5, GDK_6, GDK_7, GDK_8, GDK_9, GDK_0 }; static const struct { gchar *name; int level; } zoom_levels[] = { { N_("50%"), 70 }, { N_("75%"), 84 }, { N_("100%"), 100 }, { N_("125%"), 119 }, { N_("150%"), 141 }, { N_("175%"), 168 }, { N_("200%"), 200 }, { N_("300%"), 283 }, { N_("400%"), 400 } }; #define ZOOM_MINIMAL (zoom_levels[0].level) #define ZOOM_MAXIMAL (zoom_levels[8].level) #define ZOOM_DEFAULT (zoom_levels[2].level) #if GTK_CHECK_VERSION (2,17,5) #define ERRORS_IN_INFOBAR #endif static void dh_window_class_init (DhWindowClass *klass); static void dh_window_init (DhWindow *window); static void window_populate (DhWindow *window); static void window_tree_link_selected_cb (GObject *ignored, DhLink *link, DhWindow *window); static void window_search_link_selected_cb (GObject *ignored, DhLink *link, DhWindow *window); static void window_check_history (DhWindow *window, WebKitWebView *web_view); static void window_web_view_tab_accel_cb (GtkAccelGroup *accel_group, GObject *object, guint key, GdkModifierType mod, DhWindow *window); static void window_find_search_changed_cb (GObject *object, GParamSpec *arg1, DhWindow *window); static void window_find_case_changed_cb (GObject *object, GParamSpec *arg1, DhWindow *window); static void window_find_previous_cb (GtkEntry *entry, DhWindow *window); static void window_find_next_cb (GtkEntry *entry, DhWindow *window); static void window_findbar_close_cb (GtkWidget *widget, DhWindow *window); static GtkWidget * window_new_tab_label (DhWindow *window, const gchar *label, const GtkWidget *parent); static int window_open_new_tab (DhWindow *window, const gchar *location, gboolean switch_focus); static WebKitWebView *window_get_active_web_view (DhWindow *window); #ifdef ERRORS_IN_INFOBAR static GtkWidget * window_get_active_info_bar (DhWindow *window); #endif static void window_update_title (DhWindow *window, WebKitWebView *web_view, const gchar *title); static void window_tab_set_title (DhWindow *window, WebKitWebView *web_view, const gchar *title); static void window_close_tab (DhWindow *window, gint page_num); G_DEFINE_TYPE (DhWindow, dh_window, GTK_TYPE_WINDOW); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, DH_TYPE_WINDOW, DhWindowPriv); static void window_activate_new_window (GtkAction *action, DhWindow *window) { DhWindowPriv *priv; GtkWidget *new_window; priv = window->priv; new_window = dh_base_new_window (priv->base); gtk_widget_show (new_window); } static void window_activate_new_tab (GtkAction *action, DhWindow *window) { window_open_new_tab (window, NULL, TRUE); } static void window_activate_print (GtkAction *action, DhWindow *window) { WebKitWebView *web_view; web_view = window_get_active_web_view (window); webkit_web_view_execute_script (web_view, "print();"); } static void window_close_tab (DhWindow *window, gint page_num) { DhWindowPriv *priv; gint pages; priv = window->priv; gtk_notebook_remove_page (GTK_NOTEBOOK (priv->notebook), page_num); pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook)); if (pages == 0) { gtk_widget_destroy (GTK_WIDGET (window)); } else if (pages == 1) { gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE); } } static void window_activate_close (GtkAction *action, DhWindow *window) { gint page_num; page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (window->priv->notebook)); window_close_tab (window, page_num); } static void window_activate_quit (GtkAction *action, DhWindow *window) { dh_base_quit (window->priv->base); } static void window_activate_copy (GtkAction *action, DhWindow *window) { GtkWidget *widget; DhWindowPriv *priv; priv = window->priv; widget = gtk_window_get_focus (GTK_WINDOW (window)); if (GTK_IS_EDITABLE (widget)) { gtk_editable_copy_clipboard (GTK_EDITABLE (widget)); } else if (GTK_IS_TREE_VIEW (widget) && gtk_widget_is_ancestor (widget, priv->search) && priv->selected_search_link) { GtkClipboard *clipboard; clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD); gtk_clipboard_set_text (clipboard, dh_link_get_name(priv->selected_search_link), -1); } else { WebKitWebView *web_view; web_view = window_get_active_web_view (window); webkit_web_view_copy_clipboard (web_view); } } static void window_activate_find (GtkAction *action, DhWindow *window) { DhWindowPriv *priv; WebKitWebView *web_view; priv = window->priv; web_view = window_get_active_web_view (window); gtk_widget_show (priv->findbar); gtk_widget_grab_focus (priv->findbar); webkit_web_view_set_highlight_text_matches (web_view, TRUE); } static int window_get_current_zoom_level_index (DhWindow *window) { WebKitWebView *web_view; float zoom_level; int zoom_level_as_int = ZOOM_DEFAULT; int i; web_view = window_get_active_web_view (window); if (web_view) { g_object_get (web_view, "zoom-level", &zoom_level, NULL); zoom_level_as_int = (int)(zoom_level*100); } for (i=0; zoom_levels[i].level != ZOOM_MAXIMAL; i++) { if (zoom_levels[i].level == zoom_level_as_int) return i; } return i; } static void window_update_zoom_actions_sensitiveness (DhWindow *window) { DhWindowPriv *priv; GtkAction *zoom_in, *zoom_out, *zoom_default; int zoom_level_idx; priv = window->priv; zoom_in = gtk_action_group_get_action (priv->action_group, "ZoomIn"); zoom_out = gtk_action_group_get_action (priv->action_group, "ZoomOut"); zoom_default = gtk_action_group_get_action (priv->action_group, "ZoomDefault"); zoom_level_idx = window_get_current_zoom_level_index (window); gtk_action_set_sensitive (zoom_in, zoom_levels[zoom_level_idx].level < ZOOM_MAXIMAL); gtk_action_set_sensitive (zoom_out, zoom_levels[zoom_level_idx].level > ZOOM_MINIMAL); gtk_action_set_sensitive (zoom_default, zoom_levels[zoom_level_idx].level != ZOOM_DEFAULT); } static void window_activate_zoom_in (GtkAction *action, DhWindow *window) { int zoom_level_idx; zoom_level_idx = window_get_current_zoom_level_index (window); if (zoom_levels[zoom_level_idx].level < ZOOM_MAXIMAL) { WebKitWebView *web_view; web_view = window_get_active_web_view (window); g_object_set (web_view, "zoom-level", (float)(zoom_levels[zoom_level_idx+1].level)/100, NULL); window_update_zoom_actions_sensitiveness (window); } } static void window_activate_zoom_out (GtkAction *action, DhWindow *window) { int zoom_level_idx; zoom_level_idx = window_get_current_zoom_level_index (window); if (zoom_levels[zoom_level_idx].level > ZOOM_MINIMAL) { WebKitWebView *web_view; web_view = window_get_active_web_view (window); g_object_set (web_view, "zoom-level", (float)(zoom_levels[zoom_level_idx-1].level)/100, NULL); window_update_zoom_actions_sensitiveness (window); } } static void window_activate_zoom_default (GtkAction *action, DhWindow *window) { WebKitWebView *web_view; web_view = window_get_active_web_view (window); g_object_set (web_view, "zoom-level", (float)(ZOOM_DEFAULT)/100, NULL); window_update_zoom_actions_sensitiveness (window); } static gboolean run_fullscreen_animation (gpointer data) { DhWindow *window = DH_WINDOW (data); GdkScreen *screen; GdkRectangle fs_rect; gint x, y; screen = gtk_window_get_screen (GTK_WINDOW (window)); gdk_screen_get_monitor_geometry (screen, gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (GTK_WIDGET (window))), &fs_rect); gtk_window_get_position (GTK_WINDOW (window->priv->fullscreen_controls), &x, &y); if (window->priv->fullscreen_animation_enter) { if (y == fs_rect.y) { window->priv->fullscreen_animation_timeout_id = 0; return FALSE; } else { gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls), x, y + 1); return TRUE; } } else { gint w, h; gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls), &w, &h); if (y == fs_rect.y - h + 1) { window->priv->fullscreen_animation_timeout_id = 0; return FALSE; } else { gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls), x, y - 1); return TRUE; } } } static void show_hide_fullscreen_toolbar (DhWindow *window, gboolean show, gint height) { GtkSettings *settings; gboolean enable_animations; settings = gtk_widget_get_settings (GTK_WIDGET (window)); g_object_get (G_OBJECT (settings), "gtk-enable-animations", &enable_animations, NULL); if (enable_animations) { window->priv->fullscreen_animation_enter = show; if (window->priv->fullscreen_animation_timeout_id == 0) { window->priv->fullscreen_animation_timeout_id = g_timeout_add (FULLSCREEN_ANIMATION_SPEED, (GSourceFunc) run_fullscreen_animation, window); } } else { GdkRectangle fs_rect; GdkScreen *screen; screen = gtk_window_get_screen (GTK_WINDOW (window)); gdk_screen_get_monitor_geometry (screen, gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (GTK_WIDGET (window))), &fs_rect); if (show) gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls), fs_rect.x, fs_rect.y); else gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls), fs_rect.x, fs_rect.y - height + 1); } } static gboolean on_fullscreen_controls_enter_notify_event (GtkWidget *widget, GdkEventCrossing *event, DhWindow *window) { show_hide_fullscreen_toolbar (window, TRUE, 0); return FALSE; } static gboolean on_fullscreen_controls_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event, DhWindow *window) { GdkDisplay *display; GdkScreen *screen; gint w, h; gint x, y; display = gdk_display_get_default (); screen = gtk_window_get_screen (GTK_WINDOW (window)); gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls), &w, &h); gdk_display_get_pointer (display, &screen, &x, &y, NULL); /* gtk seems to emit leave notify when clicking on tool items, * work around it by checking the coordinates */ if (y >= h) { show_hide_fullscreen_toolbar (window, FALSE, h); } return FALSE; } static gboolean window_is_fullscreen (DhWindow *window) { GdkWindowState state; g_return_val_if_fail (DH_IS_WINDOW (window), FALSE); #if GTK_CHECK_VERSION (2,14,0) state = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (window))); #else state = gdk_window_get_state (GTK_WIDGET (window)->window); #endif return state & GDK_WINDOW_STATE_FULLSCREEN; } static void window_fullscreen_controls_build (DhWindow *window) { GtkWidget *toolbar; GtkAction *action; DhWindowPriv *priv; priv = window->priv; if (priv->fullscreen_controls != NULL) return; priv->fullscreen_controls = gtk_window_new (GTK_WINDOW_POPUP); gtk_window_set_transient_for (GTK_WINDOW (priv->fullscreen_controls), GTK_WINDOW (window)); toolbar = gtk_ui_manager_get_widget (priv->manager, "/FullscreenToolBar"); gtk_container_add (GTK_CONTAINER (priv->fullscreen_controls), toolbar); action = gtk_action_group_get_action (priv->action_group, "LeaveFullscreen"); g_object_set (action, "is-important", TRUE, NULL); /* Set the toolbar style */ gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_BOTH_HORIZ); g_signal_connect (priv->fullscreen_controls, "enter-notify-event", G_CALLBACK (on_fullscreen_controls_enter_notify_event), window); g_signal_connect (priv->fullscreen_controls, "leave-notify-event", G_CALLBACK (on_fullscreen_controls_leave_notify_event), window); } static void window_fullscreen_controls_show (DhWindow *window) { GdkScreen *screen; GdkRectangle fs_rect; gint w, h; screen = gtk_window_get_screen (GTK_WINDOW (window)); gdk_screen_get_monitor_geometry (screen, gdk_screen_get_monitor_at_window ( screen, gtk_widget_get_window (GTK_WIDGET (window))), &fs_rect); gtk_window_get_size (GTK_WINDOW (window->priv->fullscreen_controls), &w, &h); gtk_window_resize (GTK_WINDOW (window->priv->fullscreen_controls), fs_rect.width, h); gtk_window_move (GTK_WINDOW (window->priv->fullscreen_controls), fs_rect.x, fs_rect.y - h + 1); gtk_widget_show_all (window->priv->fullscreen_controls); } static void window_fullscreen (DhWindow *window) { if (window_is_fullscreen (window)) return; gtk_window_fullscreen (GTK_WINDOW (window)); gtk_widget_hide (gtk_ui_manager_get_widget (window->priv->manager, "/MenuBar")); gtk_widget_hide (gtk_ui_manager_get_widget (window->priv->manager, "/Toolbar")); window_fullscreen_controls_build (window); window_fullscreen_controls_show (window); } static void window_unfullscreen (DhWindow *window) { if (! window_is_fullscreen (window)) return; gtk_window_unfullscreen (GTK_WINDOW (window)); gtk_widget_show (gtk_ui_manager_get_widget (window->priv->manager, "/MenuBar")); gtk_widget_show (gtk_ui_manager_get_widget (window->priv->manager, "/Toolbar")); gtk_widget_hide (window->priv->fullscreen_controls); } static void window_toggle_fullscreen_mode (GtkAction *action, DhWindow *window) { if (window_is_fullscreen (window)) { window_unfullscreen (window); } else { window_fullscreen (window); } } static void window_leave_fullscreen_mode (GtkAction *action, DhWindow *window) { GtkAction *view_action; view_action = gtk_action_group_get_action (window->priv->action_group, "ViewFullscreen"); g_signal_handlers_block_by_func (view_action, G_CALLBACK (window_toggle_fullscreen_mode), window); gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (view_action), FALSE); window_unfullscreen (window); g_signal_handlers_unblock_by_func (view_action, G_CALLBACK (window_toggle_fullscreen_mode), window); } static void window_activate_preferences (GtkAction *action, DhWindow *window) { dh_preferences_show_dialog (GTK_WINDOW (window)); } static void window_activate_back (GtkAction *action, DhWindow *window) { DhWindowPriv *priv; WebKitWebView *web_view; GtkWidget *frame; priv = window->priv; frame = gtk_notebook_get_nth_page ( GTK_NOTEBOOK (priv->notebook), gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook))); web_view = g_object_get_data (G_OBJECT (frame), "web_view"); webkit_web_view_go_back (web_view); } static void window_activate_forward (GtkAction *action, DhWindow *window) { DhWindowPriv *priv; WebKitWebView *web_view; GtkWidget *frame; priv = window->priv; frame = gtk_notebook_get_nth_page (GTK_NOTEBOOK (priv->notebook), gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)) ); web_view = g_object_get_data (G_OBJECT (frame), "web_view"); webkit_web_view_go_forward (web_view); } static void window_activate_show_contents (GtkAction *action, DhWindow *window) { DhWindowPriv *priv; priv = window->priv; gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->control_notebook), 0); gtk_widget_grab_focus (priv->book_tree); } static void window_activate_show_search (GtkAction *action, DhWindow *window) { DhWindowPriv *priv; priv = window->priv; gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->control_notebook), 1); gtk_widget_grab_focus (priv->search); } static void window_activate_about (GtkAction *action, DhWindow *window) { const gchar *authors[] = { "Mikael Hallendal ", "Richard Hult ", "Johan Dahlin ", "Ross Burton ", "Aleksander Morgado ", NULL }; const gchar **documenters = NULL; const gchar *translator_credits = _("translator_credits"); /* i18n: Please don't translate "Devhelp" (it's marked as translatable * for transliteration only) */ gtk_show_about_dialog (GTK_WINDOW (window), "name", _("Devhelp"), "version", PACKAGE_VERSION, "comments", _("A developers' help browser for GNOME"), "authors", authors, "documenters", documenters, "translator-credits", strcmp (translator_credits, "translator_credits") != 0 ? translator_credits : NULL, "website", "http://live.gnome.org/devhelp", "logo-icon-name", "devhelp", NULL); } static void window_open_link_cb (DhWindow *window, const char *location, DhOpenLinkFlags flags) { DhWindowPriv *priv; priv = window->priv; if (flags & DH_OPEN_LINK_NEW_TAB) { window_open_new_tab (window, location, FALSE); } else if (flags & DH_OPEN_LINK_NEW_WINDOW) { GtkWidget *new_window; new_window = dh_base_new_window (priv->base); gtk_widget_show (new_window); } } static const GtkActionEntry actions[] = { { "FileMenu", NULL, N_("_File"), NULL, NULL, NULL }, { "EditMenu", NULL, N_("_Edit"), NULL, NULL, NULL }, { "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL }, { "GoMenu", NULL, N_("_Go"), NULL, NULL, NULL }, { "HelpMenu", NULL, N_("_Help"), NULL, NULL, NULL }, /* File menu */ { "NewWindow", GTK_STOCK_NEW, N_("_New Window"), "N", NULL, G_CALLBACK (window_activate_new_window) }, { "NewTab", GTK_STOCK_NEW, N_("New _Tab"), "T", NULL, G_CALLBACK (window_activate_new_tab) }, { "Print", GTK_STOCK_PRINT, N_("_Print…"), "P", NULL, G_CALLBACK (window_activate_print) }, { "Close", GTK_STOCK_CLOSE, NULL, NULL, NULL, G_CALLBACK (window_activate_close) }, { "Quit", GTK_STOCK_QUIT, NULL, NULL, NULL, G_CALLBACK (window_activate_quit) }, /* Edit menu */ { "Copy", GTK_STOCK_COPY, NULL, "C", NULL, G_CALLBACK (window_activate_copy) }, { "Find", GTK_STOCK_FIND, NULL, "F", NULL, G_CALLBACK (window_activate_find) }, { "Find Next", GTK_STOCK_GO_FORWARD, N_("Find Next"), "G", NULL, G_CALLBACK (window_find_next_cb) }, { "Find Previous", GTK_STOCK_GO_BACK, N_("Find Previous"), "G", NULL, G_CALLBACK (window_find_previous_cb) }, { "Preferences", GTK_STOCK_PREFERENCES, NULL, NULL, NULL, G_CALLBACK (window_activate_preferences) }, /* Go menu */ { "Back", GTK_STOCK_GO_BACK, NULL, "Left", N_("Go to the previous page"), G_CALLBACK (window_activate_back) }, { "Forward", GTK_STOCK_GO_FORWARD, NULL, "Right", N_("Go to the next page"), G_CALLBACK (window_activate_forward) }, { "ShowContentsTab", NULL, N_("_Contents Tab"), "B", NULL, G_CALLBACK (window_activate_show_contents) }, { "ShowSearchTab", NULL, N_("_Search Tab"), "S", NULL, G_CALLBACK (window_activate_show_search) }, /* View menu */ { "ZoomIn", GTK_STOCK_ZOOM_IN, N_("_Larger Text"), "plus", N_("Increase the text size"), G_CALLBACK (window_activate_zoom_in) }, { "ZoomOut", GTK_STOCK_ZOOM_OUT, N_("S_maller Text"), "minus", N_("Decrease the text size"), G_CALLBACK (window_activate_zoom_out) }, { "ZoomDefault", GTK_STOCK_ZOOM_100, N_("_Normal Size"), "0", N_("Use the normal text size"), G_CALLBACK (window_activate_zoom_default) }, /* About menu */ { "About", GTK_STOCK_ABOUT, NULL, NULL, NULL, G_CALLBACK (window_activate_about) }, /* Fullscreen toolbar */ { "LeaveFullscreen", GTK_STOCK_LEAVE_FULLSCREEN, NULL, NULL, N_("Leave fullscreen mode"), G_CALLBACK (window_leave_fullscreen_mode) } }; static const GtkToggleActionEntry always_sensitive_toggle_menu_entries[] = { { "ViewFullscreen", GTK_STOCK_FULLSCREEN, NULL, "F11", N_("Display in full screen"), G_CALLBACK (window_toggle_fullscreen_mode), FALSE }, }; static const gchar* important_actions[] = { "Back", "Forward" }; static void window_finalize (GObject *object) { DhWindowPriv *priv = GET_PRIVATE (object); g_object_unref (priv->base); G_OBJECT_CLASS (dh_window_parent_class)->finalize (object); } static void dh_window_class_init (DhWindowClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = window_finalize; signals[OPEN_LINK] = g_signal_new ("open-link", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DhWindowClass, open_link), NULL, NULL, _dh_marshal_VOID__STRING_FLAGS, G_TYPE_NONE, 2, G_TYPE_STRING, DH_TYPE_OPEN_LINK_FLAGS); gtk_rc_parse_string ("style \"devhelp-tab-close-button-style\"\n" "{\n" "GtkWidget::focus-padding = 0\n" "GtkWidget::focus-line-width = 0\n" "xthickness = 0\n" "ythickness = 0\n" "}\n" "widget \"*.devhelp-tab-close-button\" " "style \"devhelp-tab-close-button-style\""); g_type_class_add_private (klass, sizeof (DhWindowPriv)); } static void dh_window_init (DhWindow *window) { DhWindowPriv *priv; GtkAction *action; GtkAccelGroup *accel_group; GClosure *closure; guint i; priv = GET_PRIVATE (window); window->priv = priv; priv->selected_search_link = NULL; priv->manager = gtk_ui_manager_new (); accel_group = gtk_ui_manager_get_accel_group (priv->manager); gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); priv->main_box = gtk_vbox_new (FALSE, 0); gtk_widget_show (priv->main_box); priv->menu_box = gtk_vbox_new (FALSE, 0); gtk_widget_show (priv->menu_box); gtk_container_set_border_width (GTK_CONTAINER (priv->menu_box), 0); gtk_box_pack_start (GTK_BOX (priv->main_box), priv->menu_box, FALSE, TRUE, 0); gtk_container_add (GTK_CONTAINER (window), priv->main_box); g_signal_connect (window, "open-link", G_CALLBACK (window_open_link_cb), window); priv->action_group = gtk_action_group_new ("MainWindow"); gtk_action_group_set_translation_domain (priv->action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (priv->action_group, actions, G_N_ELEMENTS (actions), window); gtk_action_group_add_toggle_actions (priv->action_group, always_sensitive_toggle_menu_entries, G_N_ELEMENTS (always_sensitive_toggle_menu_entries), window); for (i = 0; i < G_N_ELEMENTS (important_actions); i++) { action = gtk_action_group_get_action (priv->action_group, important_actions[i]); g_object_set (action, "is-important", TRUE, NULL); } gtk_ui_manager_insert_action_group (priv->manager, priv->action_group, 0); action = gtk_action_group_get_action (priv->action_group, "Back"); g_object_set (action, "sensitive", FALSE, NULL); action = gtk_action_group_get_action (priv->action_group, "Forward"); g_object_set (action, "sensitive", FALSE, NULL); action = gtk_action_group_get_action (priv->action_group, "ZoomIn"); /* Translators: This refers to text size */ g_object_set (action, "short_label", _("Larger"), NULL); action = gtk_action_group_get_action (priv->action_group, "ZoomOut"); /* Translators: This refers to text size */ g_object_set (action, "short_label", _("Smaller"), NULL); accel_group = gtk_accel_group_new (); gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); for (i = 0; i < G_N_ELEMENTS (tab_accel_keys); i++) { closure = g_cclosure_new (G_CALLBACK (window_web_view_tab_accel_cb), window, NULL); gtk_accel_group_connect (accel_group, tab_accel_keys[i], GDK_MOD1_MASK, 0, closure); } } /* The ugliest hack. When switching tabs, the selection and cursor is changed * for the tree view so the web_view content is changed. Block the signal during * switch. */ static void window_control_switch_page_cb (GtkWidget *notebook, gpointer page, guint page_num, DhWindow *window) { DhWindowPriv *priv; priv = window->priv; g_signal_handlers_block_by_func (priv->book_tree, window_tree_link_selected_cb, window); } static void window_control_after_switch_page_cb (GtkWidget *notebook, gpointer page, guint page_num, DhWindow *window) { DhWindowPriv *priv; priv = window->priv; g_signal_handlers_unblock_by_func (priv->book_tree, window_tree_link_selected_cb, window); } static void window_web_view_switch_page_cb (GtkNotebook *notebook, gpointer page, guint new_page_num, DhWindow *window) { DhWindowPriv *priv; GtkWidget *new_page; priv = window->priv; new_page = gtk_notebook_get_nth_page (notebook, new_page_num); if (new_page) { WebKitWebView *new_web_view; WebKitWebFrame *web_frame; const gchar *location; new_web_view = g_object_get_data (G_OBJECT (new_page), "web_view"); /* Sync the book tree. */ web_frame = webkit_web_view_get_main_frame (new_web_view); location = webkit_web_frame_get_uri (web_frame); if (location) { dh_book_tree_select_uri (DH_BOOK_TREE (priv->book_tree), location); } window_check_history (window, new_web_view); window_update_title (window, new_web_view, NULL); } else { /* i18n: Please don't translate "Devhelp" (it's marked as translatable * for transliteration only) */ gtk_window_set_title (GTK_WINDOW (window), _("Devhelp")); window_check_history (window, NULL); } } static void window_web_view_switch_page_after_cb (GtkNotebook *notebook, gpointer page, guint new_page_num, DhWindow *window) { window_update_zoom_actions_sensitiveness (window); } static void window_populate (DhWindow *window) { DhWindowPriv *priv; gchar *path; GtkWidget *book_tree_sw; DhBookManager *book_manager; GtkWidget *menubar; GtkWidget *toolbar; priv = window->priv; path = dh_util_build_data_filename ("devhelp", "ui", "window.ui", NULL); gtk_ui_manager_add_ui_from_file (priv->manager, path, NULL); g_free (path); gtk_ui_manager_ensure_update (priv->manager); menubar = gtk_ui_manager_get_widget (priv->manager, "/MenuBar"); gtk_box_pack_start (GTK_BOX (priv->menu_box), menubar, FALSE, FALSE, 0); toolbar = gtk_ui_manager_get_widget (priv->manager, "/Toolbar"); gtk_box_pack_start (GTK_BOX (priv->menu_box), toolbar, FALSE, FALSE, 0); #ifdef GDK_WINDOWING_QUARTZ { GtkWidget *widget; IgeMacMenuGroup *group; /* Hide toolbar labels. */ gtk_toolbar_set_style (GTK_TOOLBAR (toolbar), GTK_TOOLBAR_ICONS); /* Setup menubar. */ ige_mac_menu_set_menu_bar (GTK_MENU_SHELL (menubar)); gtk_widget_hide (menubar); widget = gtk_ui_manager_get_widget (priv->manager, "/MenuBar/FileMenu/Quit"); ige_mac_menu_set_quit_menu_item (GTK_MENU_ITEM (widget)); group = ige_mac_menu_add_app_menu_group (); widget = gtk_ui_manager_get_widget (priv->manager, "/MenuBar/HelpMenu/About"); ige_mac_menu_add_app_menu_item (group, GTK_MENU_ITEM (widget), /* i18n: please don't translate * "Devhelp", it's a name, not a * generic word. */ _("About Devhelp")); group = ige_mac_menu_add_app_menu_group (); widget = gtk_ui_manager_get_widget (priv->manager, "/MenuBar/EditMenu/Preferences"); ige_mac_menu_add_app_menu_item (group, GTK_MENU_ITEM (widget), _("Preferences…")); ige_mac_menu_set_global_key_handler_enabled (TRUE); } #endif priv->hpaned = gtk_hpaned_new (); gtk_box_pack_start (GTK_BOX (priv->main_box), priv->hpaned, TRUE, TRUE, 0); /* Search and contents notebook. */ priv->control_notebook = gtk_notebook_new (); gtk_paned_add1 (GTK_PANED (priv->hpaned), priv->control_notebook); g_signal_connect (priv->control_notebook, "switch-page", G_CALLBACK (window_control_switch_page_cb), window); g_signal_connect_after (priv->control_notebook, "switch-page", G_CALLBACK (window_control_after_switch_page_cb), window); book_tree_sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (book_tree_sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (book_tree_sw), GTK_SHADOW_IN); gtk_container_set_border_width (GTK_CONTAINER (book_tree_sw), 2); book_manager = dh_base_get_book_manager (priv->base); priv->book_tree = dh_book_tree_new (book_manager); gtk_container_add (GTK_CONTAINER (book_tree_sw), priv->book_tree); dh_util_state_set_notebook_page_name (book_tree_sw, "content"); gtk_notebook_append_page (GTK_NOTEBOOK (priv->control_notebook), book_tree_sw, gtk_label_new (_("Contents"))); g_signal_connect (priv->book_tree, "link-selected", G_CALLBACK (window_tree_link_selected_cb), window); priv->search = dh_search_new (book_manager); dh_util_state_set_notebook_page_name (priv->search, "search"); gtk_notebook_append_page (GTK_NOTEBOOK (priv->control_notebook), priv->search, gtk_label_new (_("Search"))); g_signal_connect (priv->search, "link-selected", G_CALLBACK (window_search_link_selected_cb), window); priv->vbox = gtk_vbox_new (FALSE, 0); gtk_paned_add2 (GTK_PANED (priv->hpaned), priv->vbox); /* HTML tabs notebook. */ priv->notebook = gtk_notebook_new (); gtk_container_set_border_width (GTK_CONTAINER (priv->notebook), 0); gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE); gtk_notebook_set_scrollable (GTK_NOTEBOOK (priv->notebook), TRUE); gtk_box_pack_start (GTK_BOX (priv->vbox), priv->notebook, TRUE, TRUE, 0); g_signal_connect (priv->notebook, "switch-page", G_CALLBACK (window_web_view_switch_page_cb), window); g_signal_connect_after (priv->notebook, "switch-page", G_CALLBACK (window_web_view_switch_page_after_cb), window); /* Create findbar. */ priv->findbar = egg_find_bar_new (); gtk_widget_set_no_show_all (priv->findbar, TRUE); gtk_box_pack_start (GTK_BOX (priv->vbox), priv->findbar, FALSE, FALSE, 0); g_signal_connect (priv->findbar, "notify::search-string", G_CALLBACK(window_find_search_changed_cb), window); g_signal_connect (priv->findbar, "notify::case-sensitive", G_CALLBACK (window_find_case_changed_cb), window); g_signal_connect (priv->findbar, "previous", G_CALLBACK (window_find_previous_cb), window); g_signal_connect (priv->findbar, "next", G_CALLBACK (window_find_next_cb), window); g_signal_connect (priv->findbar, "close", G_CALLBACK (window_findbar_close_cb), window); gtk_widget_show_all (priv->hpaned); window_update_zoom_actions_sensitiveness (window); window_open_new_tab (window, NULL, TRUE); } static gchar * find_library_equivalent (DhWindow *window, const gchar *uri) { DhWindowPriv *priv; gchar **components; GList *iter; DhLink *link; DhBookManager *book_manager; gchar *book_id; gchar *filename; gchar *local_uri = NULL; GList *books; components = g_strsplit (uri, "/", 0); book_id = components[4]; filename = components[6]; priv = window->priv; book_manager = dh_base_get_book_manager (priv->base); /* use list pointer to iterate */ for (books = dh_book_manager_get_books (book_manager); !local_uri && books; books = g_list_next (books)) { DhBook *book = DH_BOOK (books->data); for (iter = dh_book_get_keywords (book); iter; iter = g_list_next (iter)) { link = iter->data; if (g_strcmp0 (dh_link_get_book_id (link), book_id) != 0) { continue; } if (g_strcmp0 (dh_link_get_file_name (link), filename) != 0) { continue; } local_uri = dh_link_get_uri (link); break; } } g_strfreev (components); return local_uri; } static gboolean window_web_view_navigation_policy_decision_requested (WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequest *request, WebKitWebNavigationAction *navigation_action, WebKitWebPolicyDecision *policy_decision, DhWindow *window) { DhWindowPriv *priv; const char *uri; priv = window->priv; uri = webkit_network_request_get_uri (request); #ifdef ERRORS_IN_INFOBAR /* make sure to hide the info bar on page change */ gtk_widget_hide (window_get_active_info_bar (window)); #endif if (webkit_web_navigation_action_get_button (navigation_action) == 2) { /* middle click */ webkit_web_policy_decision_ignore (policy_decision); g_signal_emit (window, signals[OPEN_LINK], 0, uri, DH_OPEN_LINK_NEW_TAB); return TRUE; } if (strcmp (uri, "about:blank") == 0) { return FALSE; } if (strncmp (uri, "http://library.gnome.org/devel/", 31) == 0) { gchar *local_uri = find_library_equivalent (window, uri); if (local_uri) { webkit_web_policy_decision_ignore (policy_decision); _dh_window_display_uri (window, local_uri); g_free (local_uri); return TRUE; } } if (strncmp (uri, "file://", 7) != 0) { webkit_web_policy_decision_ignore (policy_decision); gtk_show_uri (NULL, uri, GDK_CURRENT_TIME, NULL); return TRUE; } if (web_view == window_get_active_web_view (window)) { dh_book_tree_select_uri (DH_BOOK_TREE (priv->book_tree), uri); window_check_history (window, web_view); } return FALSE; } static gboolean window_web_view_load_error_cb (WebKitWebView *web_view, WebKitWebFrame *frame, gchar *uri, gpointer *web_error, DhWindow *window) { #ifdef ERRORS_IN_INFOBAR GtkWidget *info_bar; GtkWidget *content_area; GtkWidget *message_label; GList *children; gchar *markup; info_bar = window_get_active_info_bar (window); markup = g_strdup_printf ("%s", _("Error opening the requested link.")); message_label = gtk_label_new (markup); gtk_misc_set_alignment (GTK_MISC (message_label), 0, 0.5); gtk_label_set_use_markup (GTK_LABEL (message_label), TRUE); content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (info_bar)); children = gtk_container_get_children (GTK_CONTAINER (content_area)); if (children) { gtk_container_remove (GTK_CONTAINER (content_area), children->data); g_list_free (children); } gtk_container_add (GTK_CONTAINER (content_area), message_label); gtk_widget_show (message_label); gtk_widget_show (info_bar); g_free (markup); return TRUE; #else return FALSE; #endif } static void window_tree_link_selected_cb (GObject *ignored, DhLink *link, DhWindow *window) { WebKitWebView *view; gchar *uri; view = window_get_active_web_view (window); uri = dh_link_get_uri (link); webkit_web_view_load_uri (view, uri); g_free (uri); window_check_history (window, view); } static void window_search_link_selected_cb (GObject *ignored, DhLink *link, DhWindow *window) { DhWindowPriv *priv; WebKitWebView *view; gchar *uri; priv = window->priv; priv->selected_search_link = link; view = window_get_active_web_view (window); uri = dh_link_get_uri (link); webkit_web_view_load_uri (view, uri); g_free (uri); window_check_history (window, view); } static void window_check_history (DhWindow *window, WebKitWebView *web_view) { DhWindowPriv *priv; GtkAction *action; priv = window->priv; action = gtk_action_group_get_action (priv->action_group, "Forward"); g_object_set (action, "sensitive", web_view ? webkit_web_view_can_go_forward (web_view) : FALSE, NULL); action = gtk_action_group_get_action (priv->action_group, "Back"); g_object_set (action, "sensitive", web_view ? webkit_web_view_can_go_back (web_view) : FALSE, NULL); } static void window_web_view_title_changed_cb (WebKitWebView *web_view, WebKitWebFrame *web_frame, const gchar *title, DhWindow *window) { if (web_view == window_get_active_web_view (window)) { window_update_title (window, web_view, title); } window_tab_set_title (window, web_view, title); } static gboolean window_web_view_button_press_event_cb (WebKitWebView *web_view, GdkEventButton *event, DhWindow *window) { if (event->button == 3) { return TRUE; } return FALSE; } static gboolean do_search (DhWindow *window) { DhWindowPriv *priv = window->priv; WebKitWebView *web_view; priv->find_source_id = 0; web_view = window_get_active_web_view (window); webkit_web_view_unmark_text_matches (web_view); webkit_web_view_mark_text_matches ( web_view, egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar)), egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar)), 0); webkit_web_view_set_highlight_text_matches (web_view, TRUE); webkit_web_view_search_text ( web_view, egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar)), egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar)), TRUE, TRUE); return FALSE; } static void window_find_search_changed_cb (GObject *object, GParamSpec *pspec, DhWindow *window) { DhWindowPriv *priv = window->priv; if (priv->find_source_id != 0) { g_source_remove (priv->find_source_id); priv->find_source_id = 0; } priv->find_source_id = g_timeout_add (300, (GSourceFunc)do_search, window); } static void window_find_case_changed_cb (GObject *object, GParamSpec *pspec, DhWindow *window) { DhWindowPriv *priv = window->priv;; WebKitWebView *view; const gchar *string; gboolean case_sensitive; view = window_get_active_web_view (window); string = egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar)); case_sensitive = egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar)); webkit_web_view_unmark_text_matches (view); webkit_web_view_mark_text_matches (view, string, case_sensitive, 0); webkit_web_view_set_highlight_text_matches (view, TRUE); } static void window_find_next_cb (GtkEntry *entry, DhWindow *window) { DhWindowPriv *priv = window->priv; WebKitWebView *view; const gchar *string; gboolean case_sensitive; view = window_get_active_web_view (window); gtk_widget_show (priv->findbar); string = egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar)); case_sensitive = egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar)); webkit_web_view_search_text (view, string, case_sensitive, TRUE, TRUE); } static void window_find_previous_cb (GtkEntry *entry, DhWindow *window) { DhWindowPriv *priv = window->priv; WebKitWebView *view; const gchar *string; gboolean case_sensitive; view = window_get_active_web_view (window); gtk_widget_show (priv->findbar); string = egg_find_bar_get_search_string (EGG_FIND_BAR (priv->findbar)); case_sensitive = egg_find_bar_get_case_sensitive (EGG_FIND_BAR (priv->findbar)); webkit_web_view_search_text (view, string, case_sensitive, FALSE, TRUE); } static void window_findbar_close_cb (GtkWidget *widget, DhWindow *window) { DhWindowPriv *priv = window->priv; WebKitWebView *view; view = window_get_active_web_view (window); gtk_widget_hide (priv->findbar); webkit_web_view_set_highlight_text_matches (view, FALSE); } #if 0 static void window_web_view_open_new_tab_cb (WebKitWebView *web_view, const gchar *location, DhWindow *window) { window_open_new_tab (window, location); } #endif static void window_web_view_tab_accel_cb (GtkAccelGroup *accel_group, GObject *object, guint key, GdkModifierType mod, DhWindow *window) { DhWindowPriv *priv; gint i, num; priv = window->priv; num = -1; for (i = 0; i < (gint) G_N_ELEMENTS (tab_accel_keys); i++) { if (tab_accel_keys[i] == key) { num = i; break; } } if (num != -1) { gtk_notebook_set_current_page ( GTK_NOTEBOOK (priv->notebook), num); } } static int window_open_new_tab (DhWindow *window, const gchar *location, gboolean switch_focus) { DhWindowPriv *priv; GtkWidget *view; GtkWidget *vbox; GtkWidget *scrolled_window; GtkWidget *label; gint num; #ifdef ERRORS_IN_INFOBAR GtkWidget *info_bar; #endif priv = window->priv; /* Prepare the web view */ view = webkit_web_view_new (); gtk_widget_show (view); dh_util_font_add_web_view (WEBKIT_WEB_VIEW (view)); #ifdef ERRORS_IN_INFOBAR /* Prepare the info bar */ info_bar = gtk_info_bar_new (); gtk_widget_set_no_show_all (info_bar, TRUE); gtk_info_bar_add_button (GTK_INFO_BAR (info_bar), GTK_STOCK_CLOSE, GTK_RESPONSE_OK); gtk_info_bar_set_message_type (GTK_INFO_BAR (info_bar), GTK_MESSAGE_ERROR); g_signal_connect (info_bar, "response", G_CALLBACK (gtk_widget_hide), NULL); #endif #if 0 /* Leave this in for now to make it easier to experiment. */ { WebKitWebSettings *settings; settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (view)); g_object_set (settings, "user-stylesheet-uri", "file://" DATADIR "/devhelp/devhelp.css", NULL); } #endif vbox = gtk_vbox_new (0, FALSE); gtk_widget_show (vbox); /* XXX: Really it would be much better to use real structures */ g_object_set_data (G_OBJECT (vbox), "web_view", view); #ifdef ERRORS_IN_INFOBAR g_object_set_data (G_OBJECT (vbox), "info_bar", info_bar); gtk_box_pack_start (GTK_BOX(vbox), info_bar, FALSE, TRUE, 0); #endif scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (scrolled_window), view); gtk_widget_show (scrolled_window); gtk_box_pack_start (GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0); label = window_new_tab_label (window, _("Empty Page"), vbox); gtk_widget_show_all (label); g_signal_connect (view, "title-changed", G_CALLBACK (window_web_view_title_changed_cb), window); g_signal_connect (view, "button-press-event", G_CALLBACK (window_web_view_button_press_event_cb), window); g_signal_connect (view, "navigation-policy-decision-requested", G_CALLBACK (window_web_view_navigation_policy_decision_requested), window); g_signal_connect (view, "load-error", G_CALLBACK (window_web_view_load_error_cb), window); num = gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), vbox, NULL); gtk_notebook_set_tab_label (GTK_NOTEBOOK (priv->notebook), vbox, label); if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook)) > 1) { gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), TRUE); } else { gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE); } if (location) { webkit_web_view_load_uri (WEBKIT_WEB_VIEW (view), location); } else { webkit_web_view_load_uri (WEBKIT_WEB_VIEW (view), "about:blank"); } if (switch_focus) { gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), num); } return num; } #ifndef GDK_WINDOWING_QUARTZ static void close_button_clicked_cb (GtkButton *button, DhWindow *window) { GtkWidget *parent_tab; gint pages; gint i; parent_tab = g_object_get_data (G_OBJECT (button), "parent_tab"); pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (window->priv->notebook)); for (i=0; ipriv->notebook), i) == parent_tab) { window_close_tab (window, i); break; } } } static void tab_label_style_set_cb (GtkWidget *hbox, GtkStyle *previous_style, gpointer user_data) { PangoFontMetrics *metrics; PangoContext *context; GtkWidget *button; GtkStyle *style; gint char_width; gint h, w; context = gtk_widget_get_pango_context (hbox); style = gtk_widget_get_style (hbox); metrics = pango_context_get_metrics (context, style->font_desc, pango_context_get_language (context)); char_width = pango_font_metrics_get_approximate_digit_width (metrics); pango_font_metrics_unref (metrics); gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (hbox), GTK_ICON_SIZE_MENU, &w, &h); gtk_widget_set_size_request (hbox, 15 * PANGO_PIXELS (char_width) + 2 * w, -1); button = g_object_get_data (G_OBJECT (hbox), "close-button"); gtk_widget_set_size_request (button, w + 2, h + 2); } #endif /* Don't create a close button on quartz, it looks very much out of * place. */ static GtkWidget* window_new_tab_label (DhWindow *window, const gchar *str, const GtkWidget *parent) { GtkWidget *label; #ifndef GDK_WINDOWING_QUARTZ GtkWidget *hbox; GtkWidget *close_button; GtkWidget *image; hbox = gtk_hbox_new (FALSE, 4); label = gtk_label_new (str); gtk_label_set_ellipsize (GTK_LABEL (label), PANGO_ELLIPSIZE_END); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); close_button = gtk_button_new (); gtk_button_set_relief (GTK_BUTTON (close_button), GTK_RELIEF_NONE); gtk_button_set_focus_on_click (GTK_BUTTON (close_button), FALSE); gtk_widget_set_name (close_button, "devhelp-tab-close-button"); g_object_set_data (G_OBJECT (close_button), "parent_tab", (gpointer) parent); image = gtk_image_new_from_stock (GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU); g_signal_connect (close_button, "clicked", G_CALLBACK (close_button_clicked_cb), window); gtk_container_add (GTK_CONTAINER (close_button), image); gtk_box_pack_start (GTK_BOX (hbox), close_button, FALSE, FALSE, 0); /* Set minimal size */ g_signal_connect (hbox, "style-set", G_CALLBACK (tab_label_style_set_cb), NULL); g_object_set_data (G_OBJECT (hbox), "label", label); g_object_set_data (G_OBJECT (hbox), "close-button", close_button); return hbox; #else label = gtk_label_new (str); g_object_set_data (G_OBJECT (label), "label", label); return label; #endif } static WebKitWebView * window_get_active_web_view (DhWindow *window) { DhWindowPriv *priv; gint page_num; GtkWidget *page; priv = window->priv; page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)); if (page_num == -1) { return NULL; } page = gtk_notebook_get_nth_page (GTK_NOTEBOOK (priv->notebook), page_num); return g_object_get_data (G_OBJECT (page), "web_view"); } #ifdef ERRORS_IN_INFOBAR static GtkWidget * window_get_active_info_bar (DhWindow *window) { DhWindowPriv *priv; gint page_num; GtkWidget *page; priv = window->priv; page_num = gtk_notebook_get_current_page (GTK_NOTEBOOK (priv->notebook)); if (page_num == -1) { return NULL; } page = gtk_notebook_get_nth_page (GTK_NOTEBOOK (priv->notebook), page_num); return g_object_get_data (G_OBJECT (page), "info_bar"); } #endif static void window_update_title (DhWindow *window, WebKitWebView *web_view, const gchar *web_view_title) { DhWindowPriv *priv; const gchar *book_title; priv = window->priv; if (!web_view_title) { WebKitWebFrame *web_frame; web_frame = webkit_web_view_get_main_frame (web_view); web_view_title = webkit_web_frame_get_title (web_frame); } if (web_view_title && *web_view_title == '\0') { web_view_title = NULL; } book_title = dh_book_tree_get_selected_book_title (DH_BOOK_TREE (priv->book_tree)); /* Don't use both titles if they are the same. */ if (book_title && web_view_title && strcmp (book_title, web_view_title) == 0) { web_view_title = NULL; } if (!book_title) { /* i18n: Please don't translate "Devhelp" (it's marked as translatable * for transliteration only) */ book_title = _("Devhelp"); } if (web_view_title) { gchar *full_title; full_title = g_strdup_printf ("%s - %s", book_title, web_view_title); gtk_window_set_title (GTK_WINDOW (window), full_title); g_free (full_title); } else { gtk_window_set_title (GTK_WINDOW (window), book_title); } } static void window_tab_set_title (DhWindow *window, WebKitWebView *web_view, const gchar *title) { DhWindowPriv *priv; gint num_pages, i; GtkWidget *page; GtkWidget *hbox; GtkWidget *label; GtkWidget *page_web_view; priv = window->priv; if (!title || title[0] == '\0') { title = _("Empty Page"); } num_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (priv->notebook)); for (i = 0; i < num_pages; i++) { page = gtk_notebook_get_nth_page ( GTK_NOTEBOOK (priv->notebook), i); page_web_view = g_object_get_data (G_OBJECT (page), "web_view"); /* The web_view widget is inside a frame. */ if (page_web_view == GTK_WIDGET (web_view)) { hbox = gtk_notebook_get_tab_label ( GTK_NOTEBOOK (priv->notebook), page); if (hbox) { label = g_object_get_data (G_OBJECT (hbox), "label"); gtk_label_set_text (GTK_LABEL (label), title); } break; } } } GtkWidget * dh_window_new (DhBase *base) { DhWindow *window; DhWindowPriv *priv; window = g_object_new (DH_TYPE_WINDOW, NULL); priv = window->priv; priv->base = g_object_ref (base); window_populate (window); gtk_window_set_icon_name (GTK_WINDOW (window), "devhelp"); dh_util_state_manage_window (GTK_WINDOW (window), "main/window"); dh_util_state_manage_paned (GTK_PANED (priv->hpaned), "main/paned"); dh_util_state_manage_notebook (GTK_NOTEBOOK (priv->control_notebook), "main/search_notebook", "content"); return GTK_WIDGET (window); } void dh_window_search (DhWindow *window, const gchar *str, const gchar *book_id) { DhWindowPriv *priv; g_return_if_fail (DH_IS_WINDOW (window)); priv = window->priv; gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->control_notebook), 1); dh_search_set_search_string (DH_SEARCH (priv->search), str, book_id); } void dh_window_focus_search (DhWindow *window) { DhWindowPriv *priv; g_return_if_fail (DH_IS_WINDOW (window)); priv = window->priv; gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->control_notebook), 1); gtk_widget_grab_focus (priv->search); } /* Only call this with a URI that is known to be in the docs. */ void _dh_window_display_uri (DhWindow *window, const gchar *uri) { DhWindowPriv *priv; WebKitWebView *web_view; g_return_if_fail (DH_IS_WINDOW (window)); g_return_if_fail (uri != NULL); priv = window->priv; web_view = window_get_active_web_view (window); webkit_web_view_load_uri (web_view, uri); dh_book_tree_select_uri (DH_BOOK_TREE (priv->book_tree), uri); } geany-plugins-1.27/devhelp/devhelp/Makefile.in0000644000175000017500000014143412671261401021645 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = devhelp/devhelp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = libdevhelp_2_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am__objects_1 = am_libdevhelp_2_la_OBJECTS = libdevhelp_2_la-dh-assistant.lo \ libdevhelp_2_la-dh-assistant-view.lo \ libdevhelp_2_la-dh-base.lo libdevhelp_2_la-dh-book.lo \ libdevhelp_2_la-dh-book-manager.lo \ libdevhelp_2_la-dh-book-tree.lo \ libdevhelp_2_la-dh-enum-types.lo libdevhelp_2_la-dh-error.lo \ libdevhelp_2_la-dh-keyword-model.lo libdevhelp_2_la-dh-link.lo \ libdevhelp_2_la-dh-marshal.lo libdevhelp_2_la-dh-parser.lo \ libdevhelp_2_la-dh-preferences.lo libdevhelp_2_la-dh-search.lo \ libdevhelp_2_la-dh-util.lo libdevhelp_2_la-dh-window.lo \ libdevhelp_2_la-eggfindbar.lo libdevhelp_2_la-ige-conf.lo \ libdevhelp_2_la-ige-conf-gconf.lo $(am__objects_1) libdevhelp_2_la_OBJECTS = $(am_libdevhelp_2_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libdevhelp_2_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(libdevhelp_2_la_CFLAGS) $(CFLAGS) $(libdevhelp_2_la_LDFLAGS) \ $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libdevhelp_2_la_SOURCES) DIST_SOURCES = $(libdevhelp_2_la_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libdevhelp-2.la dh_headers = \ dh-assistant.h \ dh-assistant-view.h \ dh-base.h \ dh-book-manager.h \ dh-book.h \ dh-book-tree.h \ dh-error.h \ dh-keyword-model.h \ dh-link.h \ dh-search.h \ dh-window.h BUILT_SOURCES = \ dh-marshal.h \ dh-marshal.c \ dh-enum-types.h \ dh-enum-types.c EXTRA_DIST = \ dh-marshal.list \ dh-enum-types.c.template \ dh-enum-types.h.template libdevhelp_2_la_SOURCES = \ dh-assistant.c \ dh-assistant-view.c \ dh-base.c \ dh-book.c \ dh-book-manager.c \ dh-book-tree.c \ dh-enum-types.c \ dh-enum-types.h \ dh-error.c \ dh-keyword-model.c \ dh-link.c \ dh-marshal.c \ dh-marshal.h \ dh-parser.c \ dh-parser.h \ dh-preferences.c \ dh-preferences.h \ dh-search.c \ dh-util.c \ dh-util.h \ dh-window.c \ eggfindbar.c \ eggfindbar.h \ ige-conf.c \ ige-conf-gconf.c \ ige-conf.h \ ige-conf-private.h \ $(dh_headers) libdevhelp_2_la_CPPFLAGS = \ -I$(top_srcdir) \ -DLOCALEDIR=\""$(datadir)/locale"\" \ -DDATADIR=\""$(datadir)"\" \ -DG_LOG_DOMAIN=\"Devhelp\" \ $(DEVHELP_CPPFLAGS) libdevhelp_2_la_CFLAGS = \ $(DEVHELP_CFLAGS) libdevhelp_2_la_LIBADD = \ $(DEVHELP_LIBS) libdevhelp_2_la_LDFLAGS = \ -no-undefined all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign devhelp/devhelp/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign devhelp/devhelp/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libdevhelp-2.la: $(libdevhelp_2_la_OBJECTS) $(libdevhelp_2_la_DEPENDENCIES) $(EXTRA_libdevhelp_2_la_DEPENDENCIES) $(AM_V_CCLD)$(libdevhelp_2_la_LINK) $(libdevhelp_2_la_OBJECTS) $(libdevhelp_2_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-assistant-view.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-assistant.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-base.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-book-manager.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-book-tree.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-book.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-enum-types.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-error.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-keyword-model.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-link.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-marshal.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-parser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-preferences.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-search.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-util.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-dh-window.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-eggfindbar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-ige-conf-gconf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdevhelp_2_la-ige-conf.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< libdevhelp_2_la-dh-assistant.lo: dh-assistant.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-assistant.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-assistant.Tpo -c -o libdevhelp_2_la-dh-assistant.lo `test -f 'dh-assistant.c' || echo '$(srcdir)/'`dh-assistant.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-assistant.Tpo $(DEPDIR)/libdevhelp_2_la-dh-assistant.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-assistant.c' object='libdevhelp_2_la-dh-assistant.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-assistant.lo `test -f 'dh-assistant.c' || echo '$(srcdir)/'`dh-assistant.c libdevhelp_2_la-dh-assistant-view.lo: dh-assistant-view.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-assistant-view.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-assistant-view.Tpo -c -o libdevhelp_2_la-dh-assistant-view.lo `test -f 'dh-assistant-view.c' || echo '$(srcdir)/'`dh-assistant-view.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-assistant-view.Tpo $(DEPDIR)/libdevhelp_2_la-dh-assistant-view.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-assistant-view.c' object='libdevhelp_2_la-dh-assistant-view.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-assistant-view.lo `test -f 'dh-assistant-view.c' || echo '$(srcdir)/'`dh-assistant-view.c libdevhelp_2_la-dh-base.lo: dh-base.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-base.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-base.Tpo -c -o libdevhelp_2_la-dh-base.lo `test -f 'dh-base.c' || echo '$(srcdir)/'`dh-base.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-base.Tpo $(DEPDIR)/libdevhelp_2_la-dh-base.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-base.c' object='libdevhelp_2_la-dh-base.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-base.lo `test -f 'dh-base.c' || echo '$(srcdir)/'`dh-base.c libdevhelp_2_la-dh-book.lo: dh-book.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-book.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-book.Tpo -c -o libdevhelp_2_la-dh-book.lo `test -f 'dh-book.c' || echo '$(srcdir)/'`dh-book.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-book.Tpo $(DEPDIR)/libdevhelp_2_la-dh-book.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-book.c' object='libdevhelp_2_la-dh-book.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-book.lo `test -f 'dh-book.c' || echo '$(srcdir)/'`dh-book.c libdevhelp_2_la-dh-book-manager.lo: dh-book-manager.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-book-manager.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-book-manager.Tpo -c -o libdevhelp_2_la-dh-book-manager.lo `test -f 'dh-book-manager.c' || echo '$(srcdir)/'`dh-book-manager.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-book-manager.Tpo $(DEPDIR)/libdevhelp_2_la-dh-book-manager.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-book-manager.c' object='libdevhelp_2_la-dh-book-manager.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-book-manager.lo `test -f 'dh-book-manager.c' || echo '$(srcdir)/'`dh-book-manager.c libdevhelp_2_la-dh-book-tree.lo: dh-book-tree.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-book-tree.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-book-tree.Tpo -c -o libdevhelp_2_la-dh-book-tree.lo `test -f 'dh-book-tree.c' || echo '$(srcdir)/'`dh-book-tree.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-book-tree.Tpo $(DEPDIR)/libdevhelp_2_la-dh-book-tree.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-book-tree.c' object='libdevhelp_2_la-dh-book-tree.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-book-tree.lo `test -f 'dh-book-tree.c' || echo '$(srcdir)/'`dh-book-tree.c libdevhelp_2_la-dh-enum-types.lo: dh-enum-types.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-enum-types.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-enum-types.Tpo -c -o libdevhelp_2_la-dh-enum-types.lo `test -f 'dh-enum-types.c' || echo '$(srcdir)/'`dh-enum-types.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-enum-types.Tpo $(DEPDIR)/libdevhelp_2_la-dh-enum-types.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-enum-types.c' object='libdevhelp_2_la-dh-enum-types.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-enum-types.lo `test -f 'dh-enum-types.c' || echo '$(srcdir)/'`dh-enum-types.c libdevhelp_2_la-dh-error.lo: dh-error.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-error.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-error.Tpo -c -o libdevhelp_2_la-dh-error.lo `test -f 'dh-error.c' || echo '$(srcdir)/'`dh-error.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-error.Tpo $(DEPDIR)/libdevhelp_2_la-dh-error.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-error.c' object='libdevhelp_2_la-dh-error.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-error.lo `test -f 'dh-error.c' || echo '$(srcdir)/'`dh-error.c libdevhelp_2_la-dh-keyword-model.lo: dh-keyword-model.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-keyword-model.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-keyword-model.Tpo -c -o libdevhelp_2_la-dh-keyword-model.lo `test -f 'dh-keyword-model.c' || echo '$(srcdir)/'`dh-keyword-model.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-keyword-model.Tpo $(DEPDIR)/libdevhelp_2_la-dh-keyword-model.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-keyword-model.c' object='libdevhelp_2_la-dh-keyword-model.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-keyword-model.lo `test -f 'dh-keyword-model.c' || echo '$(srcdir)/'`dh-keyword-model.c libdevhelp_2_la-dh-link.lo: dh-link.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-link.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-link.Tpo -c -o libdevhelp_2_la-dh-link.lo `test -f 'dh-link.c' || echo '$(srcdir)/'`dh-link.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-link.Tpo $(DEPDIR)/libdevhelp_2_la-dh-link.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-link.c' object='libdevhelp_2_la-dh-link.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-link.lo `test -f 'dh-link.c' || echo '$(srcdir)/'`dh-link.c libdevhelp_2_la-dh-marshal.lo: dh-marshal.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-marshal.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-marshal.Tpo -c -o libdevhelp_2_la-dh-marshal.lo `test -f 'dh-marshal.c' || echo '$(srcdir)/'`dh-marshal.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-marshal.Tpo $(DEPDIR)/libdevhelp_2_la-dh-marshal.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-marshal.c' object='libdevhelp_2_la-dh-marshal.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-marshal.lo `test -f 'dh-marshal.c' || echo '$(srcdir)/'`dh-marshal.c libdevhelp_2_la-dh-parser.lo: dh-parser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-parser.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-parser.Tpo -c -o libdevhelp_2_la-dh-parser.lo `test -f 'dh-parser.c' || echo '$(srcdir)/'`dh-parser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-parser.Tpo $(DEPDIR)/libdevhelp_2_la-dh-parser.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-parser.c' object='libdevhelp_2_la-dh-parser.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-parser.lo `test -f 'dh-parser.c' || echo '$(srcdir)/'`dh-parser.c libdevhelp_2_la-dh-preferences.lo: dh-preferences.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-preferences.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-preferences.Tpo -c -o libdevhelp_2_la-dh-preferences.lo `test -f 'dh-preferences.c' || echo '$(srcdir)/'`dh-preferences.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-preferences.Tpo $(DEPDIR)/libdevhelp_2_la-dh-preferences.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-preferences.c' object='libdevhelp_2_la-dh-preferences.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-preferences.lo `test -f 'dh-preferences.c' || echo '$(srcdir)/'`dh-preferences.c libdevhelp_2_la-dh-search.lo: dh-search.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-search.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-search.Tpo -c -o libdevhelp_2_la-dh-search.lo `test -f 'dh-search.c' || echo '$(srcdir)/'`dh-search.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-search.Tpo $(DEPDIR)/libdevhelp_2_la-dh-search.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-search.c' object='libdevhelp_2_la-dh-search.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-search.lo `test -f 'dh-search.c' || echo '$(srcdir)/'`dh-search.c libdevhelp_2_la-dh-util.lo: dh-util.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-util.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-util.Tpo -c -o libdevhelp_2_la-dh-util.lo `test -f 'dh-util.c' || echo '$(srcdir)/'`dh-util.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-util.Tpo $(DEPDIR)/libdevhelp_2_la-dh-util.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-util.c' object='libdevhelp_2_la-dh-util.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-util.lo `test -f 'dh-util.c' || echo '$(srcdir)/'`dh-util.c libdevhelp_2_la-dh-window.lo: dh-window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-dh-window.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-dh-window.Tpo -c -o libdevhelp_2_la-dh-window.lo `test -f 'dh-window.c' || echo '$(srcdir)/'`dh-window.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-dh-window.Tpo $(DEPDIR)/libdevhelp_2_la-dh-window.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dh-window.c' object='libdevhelp_2_la-dh-window.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-dh-window.lo `test -f 'dh-window.c' || echo '$(srcdir)/'`dh-window.c libdevhelp_2_la-eggfindbar.lo: eggfindbar.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-eggfindbar.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-eggfindbar.Tpo -c -o libdevhelp_2_la-eggfindbar.lo `test -f 'eggfindbar.c' || echo '$(srcdir)/'`eggfindbar.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-eggfindbar.Tpo $(DEPDIR)/libdevhelp_2_la-eggfindbar.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='eggfindbar.c' object='libdevhelp_2_la-eggfindbar.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-eggfindbar.lo `test -f 'eggfindbar.c' || echo '$(srcdir)/'`eggfindbar.c libdevhelp_2_la-ige-conf.lo: ige-conf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-ige-conf.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-ige-conf.Tpo -c -o libdevhelp_2_la-ige-conf.lo `test -f 'ige-conf.c' || echo '$(srcdir)/'`ige-conf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-ige-conf.Tpo $(DEPDIR)/libdevhelp_2_la-ige-conf.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ige-conf.c' object='libdevhelp_2_la-ige-conf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-ige-conf.lo `test -f 'ige-conf.c' || echo '$(srcdir)/'`ige-conf.c libdevhelp_2_la-ige-conf-gconf.lo: ige-conf-gconf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -MT libdevhelp_2_la-ige-conf-gconf.lo -MD -MP -MF $(DEPDIR)/libdevhelp_2_la-ige-conf-gconf.Tpo -c -o libdevhelp_2_la-ige-conf-gconf.lo `test -f 'ige-conf-gconf.c' || echo '$(srcdir)/'`ige-conf-gconf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libdevhelp_2_la-ige-conf-gconf.Tpo $(DEPDIR)/libdevhelp_2_la-ige-conf-gconf.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ige-conf-gconf.c' object='libdevhelp_2_la-ige-conf-gconf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libdevhelp_2_la_CPPFLAGS) $(CPPFLAGS) $(libdevhelp_2_la_CFLAGS) $(CFLAGS) -c -o libdevhelp_2_la-ige-conf-gconf.lo `test -f 'ige-conf-gconf.c' || echo '$(srcdir)/'`ige-conf-gconf.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am .PRECIOUS: Makefile dh-enum-types.h: dh-enum-types.h.template $(dh_headers) $(GLIB_MKENUMS) $(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template dh-enum-types.h.template $(dh_headers)) > $@ dh-enum-types.c: dh-enum-types.c.template $(dh_headers) $(GLIB_MKENUMS) $(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template dh-enum-types.c.template $(dh_headers)) > $@ dh-marshal.h: dh-marshal.list $(AM_V_GEN) $(GLIB_GENMARSHAL) $< --header --prefix=_dh_marshal dh-marshal.list > $@ dh-marshal.c: dh-marshal.list $(AM_V_GEN) echo "#include \"dh-marshal.h\"" > $@ && \ $(GLIB_GENMARSHAL) $< --body --prefix=_dh_marshal dh-marshal.list >> $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/devhelp/devhelp/dh-error.h0000644000175000017500000000236112671261352021473 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_ERROR_H__ #define __DH_ERROR_H__ #include G_BEGIN_DECLS #define DH_ERROR dh_error_quark () typedef enum { DH_ERROR_FILE_NOT_FOUND, DH_ERROR_MALFORMED_BOOK, DH_ERROR_INVALID_BOOK_TYPE, DH_ERROR_INTERNAL_ERROR } DhError; GQuark dh_error_quark (void) G_GNUC_CONST; G_END_DECLS #endif /* __DH_ERROR_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-assistant.c0000644000175000017500000000774212671261352022356 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include #include #include "dh-window.h" #include "dh-util.h" #include "dh-assistant-view.h" #include "dh-assistant.h" typedef struct { GtkWidget *main_box; GtkWidget *view; } DhAssistantPriv; static void dh_assistant_class_init (DhAssistantClass *klass); static void dh_assistant_init (DhAssistant *assistant); G_DEFINE_TYPE (DhAssistant, dh_assistant, GTK_TYPE_WINDOW); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, DH_TYPE_ASSISTANT, DhAssistantPriv) static gboolean assistant_key_press_event_cb (GtkWidget *widget, GdkEventKey *event, DhAssistant *assistant) { if (event->keyval == GDK_Escape) { gtk_widget_destroy (GTK_WIDGET (assistant)); return TRUE; } return FALSE; } static void dh_assistant_class_init (DhAssistantClass *klass) { g_type_class_add_private (klass, sizeof (DhAssistantPriv)); } static void dh_assistant_init (DhAssistant *assistant) { DhAssistantPriv *priv = GET_PRIVATE (assistant); GtkWidget *scrolled_window; priv->main_box = gtk_vbox_new (FALSE, 0); gtk_widget_show (priv->main_box); gtk_container_add (GTK_CONTAINER (assistant), priv->main_box); /* i18n: Please don't translate "Devhelp". */ gtk_window_set_title (GTK_WINDOW (assistant), _("Devhelp — Assistant")); gtk_window_set_icon_name (GTK_WINDOW (assistant), "devhelp"); priv->view = dh_assistant_view_new (); g_signal_connect (assistant, "key-press-event", G_CALLBACK (assistant_key_press_event_cb), assistant); scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (scrolled_window), priv->view); gtk_widget_show_all (scrolled_window); gtk_box_pack_start (GTK_BOX (priv->main_box), scrolled_window, TRUE, TRUE, 0); dh_util_state_manage_window (GTK_WINDOW (assistant), "assistant/window"); } GtkWidget * dh_assistant_new (DhBase *base) { GtkWidget *assistant; DhAssistantPriv *priv; assistant = g_object_new (DH_TYPE_ASSISTANT, NULL); priv = GET_PRIVATE (assistant); dh_assistant_view_set_base (DH_ASSISTANT_VIEW (priv->view), base); return assistant; } gboolean dh_assistant_search (DhAssistant *assistant, const gchar *str) { DhAssistantPriv *priv; g_return_val_if_fail (DH_IS_ASSISTANT (assistant), FALSE); g_return_val_if_fail (str != NULL, FALSE); priv = GET_PRIVATE (assistant); if (dh_assistant_view_search (DH_ASSISTANT_VIEW (priv->view), str)) { gtk_widget_show (GTK_WIDGET (assistant)); return TRUE; } return FALSE; } geany-plugins-1.27/devhelp/devhelp/dh-keyword-model.c0000644000175000017500000004225412671261352023124 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include "dh-link.h" #include "dh-book.h" #include "dh-keyword-model.h" struct _DhKeywordModelPriv { DhBookManager *book_manager; GList *keyword_words; gint keyword_words_length; gint stamp; }; #define G_LIST(x) ((GList *) x) #define MAX_HITS 100 static void dh_keyword_model_init (DhKeywordModel *list_store); static void dh_keyword_model_class_init (DhKeywordModelClass *class); static void dh_keyword_model_tree_model_init (GtkTreeModelIface *iface); G_DEFINE_TYPE_WITH_CODE (DhKeywordModel, dh_keyword_model, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, dh_keyword_model_tree_model_init)); static void keyword_model_dispose (GObject *object) { DhKeywordModel *model = DH_KEYWORD_MODEL (object); DhKeywordModelPriv *priv = model->priv; if (priv->book_manager) { g_object_unref (priv->book_manager); priv->book_manager = NULL; } G_OBJECT_CLASS (dh_keyword_model_parent_class)->dispose (object); } static void keyword_model_finalize (GObject *object) { DhKeywordModel *model = DH_KEYWORD_MODEL (object); DhKeywordModelPriv *priv = model->priv; g_list_free (priv->keyword_words); g_free (model->priv); G_OBJECT_CLASS (dh_keyword_model_parent_class)->finalize (object); } static void dh_keyword_model_class_init (DhKeywordModelClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass);; object_class->finalize = keyword_model_finalize; object_class->dispose = keyword_model_dispose; } static void dh_keyword_model_init (DhKeywordModel *model) { DhKeywordModelPriv *priv; priv = g_new0 (DhKeywordModelPriv, 1); model->priv = priv; do { priv->stamp = g_random_int (); } while (priv->stamp == 0); } static GtkTreeModelFlags keyword_model_get_flags (GtkTreeModel *tree_model) { return GTK_TREE_MODEL_ITERS_PERSIST | GTK_TREE_MODEL_LIST_ONLY; } static gint keyword_model_get_n_columns (GtkTreeModel *tree_model) { return DH_KEYWORD_MODEL_NUM_COLS; } static GType keyword_model_get_column_type (GtkTreeModel *tree_model, gint column) { switch (column) { case DH_KEYWORD_MODEL_COL_NAME: return G_TYPE_STRING; break; case DH_KEYWORD_MODEL_COL_LINK: return G_TYPE_POINTER; default: return G_TYPE_INVALID; } } static gboolean keyword_model_get_iter (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreePath *path) { DhKeywordModel *model; DhKeywordModelPriv *priv; GList *node; const gint *indices; model = DH_KEYWORD_MODEL (tree_model); priv = model->priv; indices = gtk_tree_path_get_indices (path); if (indices == NULL) { return FALSE; } if (indices[0] >= priv->keyword_words_length) { return FALSE; } node = g_list_nth (priv->keyword_words, indices[0]); iter->stamp = priv->stamp; iter->user_data = node; return TRUE; } static GtkTreePath * keyword_model_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter) { DhKeywordModel *model = DH_KEYWORD_MODEL (tree_model); DhKeywordModelPriv *priv; GtkTreePath *path; gint i = 0; g_return_val_if_fail (iter->stamp == model->priv->stamp, NULL); priv = model->priv; i = g_list_position (priv->keyword_words, iter->user_data); if (i < 0) { return NULL; } path = gtk_tree_path_new (); gtk_tree_path_append_index (path, i); return path; } static void keyword_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value) { DhLink *link; link = G_LIST (iter->user_data)->data; switch (column) { case DH_KEYWORD_MODEL_COL_NAME: g_value_init (value, G_TYPE_STRING); g_value_set_string (value, dh_link_get_name (link)); break; case DH_KEYWORD_MODEL_COL_LINK: g_value_init (value, G_TYPE_POINTER); g_value_set_pointer (value, link); break; default: g_warning ("Bad column %d requested", column); } } static gboolean keyword_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter) { DhKeywordModel *model = DH_KEYWORD_MODEL (tree_model); g_return_val_if_fail (model->priv->stamp == iter->stamp, FALSE); iter->user_data = G_LIST (iter->user_data)->next; return (iter->user_data != NULL); } static gboolean keyword_model_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent) { DhKeywordModelPriv *priv; priv = DH_KEYWORD_MODEL (tree_model)->priv; /* This is a list, nodes have no children. */ if (parent) { return FALSE; } /* But if parent == NULL we return the list itself as children of * the "root". */ if (priv->keyword_words) { iter->stamp = priv->stamp; iter->user_data = priv->keyword_words; return TRUE; } return FALSE; } static gboolean keyword_model_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter) { return FALSE; } static gint keyword_model_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter) { DhKeywordModelPriv *priv; priv = DH_KEYWORD_MODEL (tree_model)->priv; if (iter == NULL) { return priv->keyword_words_length; } g_return_val_if_fail (priv->stamp == iter->stamp, -1); return 0; } static gboolean keyword_model_iter_nth_child (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent, gint n) { DhKeywordModelPriv *priv; GList *child; priv = DH_KEYWORD_MODEL (tree_model)->priv; if (parent) { return FALSE; } child = g_list_nth (priv->keyword_words, n); if (child) { iter->stamp = priv->stamp; iter->user_data = child; return TRUE; } return FALSE; } static gboolean keyword_model_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *child) { return FALSE; } static void dh_keyword_model_tree_model_init (GtkTreeModelIface *iface) { iface->get_flags = keyword_model_get_flags; iface->get_n_columns = keyword_model_get_n_columns; iface->get_column_type = keyword_model_get_column_type; iface->get_iter = keyword_model_get_iter; iface->get_path = keyword_model_get_path; iface->get_value = keyword_model_get_value; iface->iter_next = keyword_model_iter_next; iface->iter_children = keyword_model_iter_children; iface->iter_has_child = keyword_model_iter_has_child; iface->iter_n_children = keyword_model_iter_n_children; iface->iter_nth_child = keyword_model_iter_nth_child; iface->iter_parent = keyword_model_iter_parent; } DhKeywordModel * dh_keyword_model_new (void) { DhKeywordModel *model; model = g_object_new (DH_TYPE_KEYWORD_MODEL, NULL); return model; } void dh_keyword_model_set_words (DhKeywordModel *model, DhBookManager *book_manager) { g_return_if_fail (DH_IS_KEYWORD_MODEL (model)); model->priv->book_manager = g_object_ref (book_manager); } static GList * keyword_model_search (DhKeywordModel *model, const gchar *string, gchar **stringv, const gchar *book_id, gboolean case_sensitive, DhLink **exact_link) { DhKeywordModelPriv *priv; GList *new_list = NULL, *b; gint hits = 0; gchar *page_id = NULL; gchar *page_filename_prefix = NULL; priv = model->priv; /* The search string may be prefixed by a page:foobar qualifier, it * will be matched against the filenames of the hits to limit the * search to pages whose filename is prefixed by "foobar. */ if (stringv && g_str_has_prefix(stringv[0], "page:")) { page_id = stringv[0] + 5; page_filename_prefix = g_strdup_printf("%s.", page_id); stringv++; } for (b = dh_book_manager_get_books (priv->book_manager); b && hits < MAX_HITS; b = g_list_next (b)) { DhBook *book; GList *l; book = DH_BOOK (b->data); for (l = dh_book_get_keywords (book); l && hits < MAX_HITS; l = g_list_next (l)) { DhLink *link; gboolean found; gchar *name; link = l->data; found = FALSE; if (book_id && dh_link_get_book_id (link) && strcmp (dh_link_get_book_id (link), book_id) != 0) { continue; } if (page_id && (dh_link_get_link_type (link) != DH_LINK_TYPE_PAGE && !g_str_has_prefix (dh_link_get_file_name (link), page_filename_prefix))) { continue; } if (!case_sensitive) { name = g_ascii_strdown (dh_link_get_name (link), -1); } else { name = g_strdup (dh_link_get_name (link)); } if (!found) { gint i; if (stringv[0] == NULL) { /* means only a page was specified, no keyword */ if (g_strrstr (dh_link_get_name(link), page_id)) found = TRUE; } else { found = TRUE; for (i = 0; stringv[i] != NULL; i++) { if (!g_strrstr (name, stringv[i])) { found = FALSE; break; } } } } g_free (name); if (found) { /* Include in the new list. */ new_list = g_list_prepend (new_list, link); hits++; if (!*exact_link && dh_link_get_name (link) && ( (dh_link_get_link_type (link) == DH_LINK_TYPE_PAGE && page_id && strcmp (dh_link_get_name (link), page_id) == 0) || (strcmp (dh_link_get_name (link), string) == 0))) { *exact_link = link; } } } } g_free (page_filename_prefix); return g_list_sort (new_list, dh_link_compare); } DhLink * dh_keyword_model_filter (DhKeywordModel *model, const gchar *string, const gchar *book_id) { DhKeywordModelPriv *priv; GList *new_list = NULL; gint old_length; DhLink *exact_link = NULL; gint hits; gint i; GtkTreePath *path; GtkTreeIter iter; g_return_val_if_fail (DH_IS_KEYWORD_MODEL (model), NULL); g_return_val_if_fail (string != NULL, NULL); priv = model->priv; /* Do the minimum amount of work: call update on all rows that are * kept and remove the rest. */ old_length = priv->keyword_words_length; new_list = NULL; hits = 0; if (string[0] != '\0') { gchar **stringv; gboolean case_sensitive; stringv = g_strsplit (string, " ", -1); case_sensitive = FALSE; /* Search for any parameters and position search cursor to * the next element in the search string. */ for (i = 0; stringv[i] != NULL; i++) { gchar *lower; /* Searches are case sensitive when any uppercase * letter is used in the search terms, matching vim * smartcase behaviour. */ lower = g_ascii_strdown (stringv[i], -1); if (strcmp (lower, stringv[i]) != 0) { case_sensitive = TRUE; g_free (lower); break; } g_free (lower); } new_list = keyword_model_search (model, string, stringv, book_id, case_sensitive, &exact_link); hits = g_list_length (new_list); g_strfreev (stringv); } /* Update the list of hits. */ g_list_free (priv->keyword_words); priv->keyword_words = new_list; priv->keyword_words_length = hits; /* Update model: rows 0 -> hits. */ for (i = 0; i < hits; ++i) { path = gtk_tree_path_new (); gtk_tree_path_append_index (path, i); keyword_model_get_iter (GTK_TREE_MODEL (model), &iter, path); gtk_tree_model_row_changed (GTK_TREE_MODEL (model), path, &iter); gtk_tree_path_free (path); } if (old_length > hits) { /* Update model: remove rows hits -> old_length. */ for (i = old_length - 1; i >= hits; i--) { path = gtk_tree_path_new (); gtk_tree_path_append_index (path, i); gtk_tree_model_row_deleted (GTK_TREE_MODEL (model), path); gtk_tree_path_free (path); } } else if (old_length < hits) { /* Update model: add rows old_length -> hits. */ for (i = old_length; i < hits; i++) { path = gtk_tree_path_new (); gtk_tree_path_append_index (path, i); keyword_model_get_iter (GTK_TREE_MODEL (model), &iter, path); gtk_tree_model_row_inserted (GTK_TREE_MODEL (model), path, &iter); gtk_tree_path_free (path); } } if (hits == 1) { return priv->keyword_words->data; } return exact_link; } geany-plugins-1.27/devhelp/devhelp/eggfindbar.c0000644000175000017500000005262012671261352022037 0ustar00frlanfrlan00000000000000/* Copyright (C) 2004 Red Hat, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include #include #include "eggfindbar.h" struct _EggFindBarPrivate { gchar *search_string; GtkToolItem *next_button; GtkToolItem *previous_button; GtkToolItem *status_separator; GtkToolItem *status_item; GtkToolItem *case_button; GtkWidget *find_entry; GtkWidget *status_label; gulong set_focus_handler; guint case_sensitive : 1; }; #define EGG_FIND_BAR_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EGG_TYPE_FIND_BAR, EggFindBarPrivate)) enum { PROP_0, PROP_SEARCH_STRING, PROP_CASE_SENSITIVE }; static void egg_find_bar_finalize (GObject *object); static void egg_find_bar_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); static void egg_find_bar_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); static void egg_find_bar_show (GtkWidget *widget); static void egg_find_bar_hide (GtkWidget *widget); static void egg_find_bar_grab_focus (GtkWidget *widget); G_DEFINE_TYPE (EggFindBar, egg_find_bar, GTK_TYPE_TOOLBAR); enum { NEXT, PREVIOUS, CLOSE, SCROLL, LAST_SIGNAL }; static guint find_bar_signals[LAST_SIGNAL] = { 0 }; static void egg_find_bar_class_init (EggFindBarClass *klass) { GObjectClass *object_class; GtkWidgetClass *widget_class; GtkBindingSet *binding_set; egg_find_bar_parent_class = g_type_class_peek_parent (klass); object_class = (GObjectClass *)klass; widget_class = (GtkWidgetClass *)klass; object_class->set_property = egg_find_bar_set_property; object_class->get_property = egg_find_bar_get_property; object_class->finalize = egg_find_bar_finalize; widget_class->show = egg_find_bar_show; widget_class->hide = egg_find_bar_hide; widget_class->grab_focus = egg_find_bar_grab_focus; find_bar_signals[NEXT] = g_signal_new ("next", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (EggFindBarClass, next), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); find_bar_signals[PREVIOUS] = g_signal_new ("previous", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (EggFindBarClass, previous), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); find_bar_signals[CLOSE] = g_signal_new ("close", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EggFindBarClass, close), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); find_bar_signals[SCROLL] = g_signal_new ("scroll", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (EggFindBarClass, scroll), NULL, NULL, g_cclosure_marshal_VOID__ENUM, G_TYPE_NONE, 1, GTK_TYPE_SCROLL_TYPE); /** * EggFindBar:search_string: * * The current string to search for. NULL or empty string * both mean no current string. * */ g_object_class_install_property (object_class, PROP_SEARCH_STRING, g_param_spec_string ("search_string", ("Search string"), ("The name of the string to be found"), NULL, G_PARAM_READWRITE)); /** * EggFindBar:case_sensitive: * * TRUE for a case sensitive search. * */ g_object_class_install_property (object_class, PROP_CASE_SENSITIVE, g_param_spec_boolean ("case_sensitive", ("Case sensitive"), ("TRUE for a case sensitive search"), FALSE, G_PARAM_READWRITE)); /* Style properties */ gtk_widget_class_install_style_property (widget_class, g_param_spec_boxed ("all_matches_color", ("Highlight color"), ("Color of highlight for all matches"), GDK_TYPE_COLOR, G_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, g_param_spec_boxed ("current_match_color", ("Current color"), ("Color of highlight for the current match"), GDK_TYPE_COLOR, G_PARAM_READABLE)); g_type_class_add_private (object_class, sizeof (EggFindBarPrivate)); binding_set = gtk_binding_set_by_class (klass); gtk_binding_entry_add_signal (binding_set, GDK_Escape, 0, "close", 0); gtk_binding_entry_add_signal (binding_set, GDK_Up, 0, "scroll", 1, GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_BACKWARD); gtk_binding_entry_add_signal (binding_set, GDK_Down, 0, "scroll", 1, GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_FORWARD); gtk_binding_entry_add_signal (binding_set, GDK_Page_Up, 0, "scroll", 1, GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_BACKWARD); gtk_binding_entry_add_signal (binding_set, GDK_KP_Page_Up, 0, "scroll", 1, GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_BACKWARD); gtk_binding_entry_add_signal (binding_set, GDK_Page_Down, 0, "scroll", 1, GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_FORWARD); gtk_binding_entry_add_signal (binding_set, GDK_KP_Page_Down, 0, "scroll", 1, GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_FORWARD); } static void egg_find_bar_emit_next (EggFindBar *find_bar) { g_signal_emit (find_bar, find_bar_signals[NEXT], 0); } static void egg_find_bar_emit_previous (EggFindBar *find_bar) { g_signal_emit (find_bar, find_bar_signals[PREVIOUS], 0); } static void next_clicked_callback (GtkButton *button, void *data) { EggFindBar *find_bar = EGG_FIND_BAR (data); egg_find_bar_emit_next (find_bar); } static void previous_clicked_callback (GtkButton *button, void *data) { EggFindBar *find_bar = EGG_FIND_BAR (data); egg_find_bar_emit_previous (find_bar); } static void case_sensitive_toggled_callback (GtkCheckButton *button, void *data) { EggFindBar *find_bar = EGG_FIND_BAR (data); egg_find_bar_set_case_sensitive (find_bar, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button))); } static void entry_activate_callback (GtkEntry *entry, void *data) { EggFindBar *find_bar = EGG_FIND_BAR (data); if (find_bar->priv->search_string != NULL) egg_find_bar_emit_next (find_bar); } static void entry_changed_callback (GtkEntry *entry, void *data) { EggFindBar *find_bar = EGG_FIND_BAR (data); char *text; /* paranoid strdup because set_search_string() sets * the entry text */ text = g_strdup (gtk_entry_get_text (entry)); egg_find_bar_set_search_string (find_bar, text); g_free (text); } static void set_focus_cb (GtkWidget *window, GtkWidget *widget, EggFindBar *bar) { GtkWidget *wbar = GTK_WIDGET (bar); while (widget != NULL && widget != wbar) { widget = gtk_widget_get_parent (widget); } /* if widget == bar, the new focus widget is in the bar, so we * don't deactivate. */ if (widget != wbar) { g_signal_emit (bar, find_bar_signals[CLOSE], 0); } } static void egg_find_bar_init (EggFindBar *find_bar) { EggFindBarPrivate *priv; GtkWidget *label; GtkWidget *alignment; GtkWidget *box; GtkToolItem *item; GtkWidget *arrow; /* Data */ priv = EGG_FIND_BAR_GET_PRIVATE (find_bar); find_bar->priv = priv; priv->search_string = NULL; gtk_toolbar_set_style (GTK_TOOLBAR (find_bar), GTK_TOOLBAR_BOTH_HORIZ); /* Find: |_____| */ item = gtk_tool_item_new (); box = gtk_hbox_new (FALSE, 12); alignment = gtk_alignment_new (0.0, 0.5, 1.0, 0.0); gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 2, 2); label = gtk_label_new_with_mnemonic (_("Find:")); priv->find_entry = gtk_entry_new (); gtk_entry_set_width_chars (GTK_ENTRY (priv->find_entry), 32); gtk_entry_set_max_length (GTK_ENTRY (priv->find_entry), 512); gtk_label_set_mnemonic_widget (GTK_LABEL (label), priv->find_entry); /* Prev */ arrow = gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_NONE); priv->previous_button = gtk_tool_button_new (arrow, Q_("Find Previous")); gtk_tool_item_set_is_important (priv->previous_button, TRUE); #if GTK_CHECK_VERSION (2, 11, 5) gtk_widget_set_tooltip_text (GTK_WIDGET (priv->previous_button), _("Find previous occurrence of the search string")); #else gtk_tool_item_set_tooltip (priv->previous_button, GTK_TOOLBAR (find_bar)->tooltips, _("Find previous occurrence of the search string"), NULL); #endif /* Next */ arrow = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_NONE); priv->next_button = gtk_tool_button_new (arrow, Q_("Find Next")); gtk_tool_item_set_is_important (priv->next_button, TRUE); #if GTK_CHECK_VERSION (2, 11, 5) gtk_widget_set_tooltip_text (GTK_WIDGET (priv->next_button), _("Find next occurrence of the search string")); #else gtk_tool_item_set_tooltip (priv->next_button, GTK_TOOLBAR (find_bar)->tooltips, _("Find next occurrence of the search string"), NULL); #endif /* Separator*/ priv->status_separator = gtk_separator_tool_item_new(); /* Case button */ priv->case_button = gtk_toggle_tool_button_new (); g_object_set (G_OBJECT (priv->case_button), "label", _("C_ase Sensitive"), NULL); gtk_tool_item_set_is_important (priv->case_button, TRUE); #if GTK_CHECK_VERSION (2, 11, 5) gtk_widget_set_tooltip_text (GTK_WIDGET (priv->case_button), _("Toggle case sensitive search")); #else gtk_tool_item_set_tooltip (priv->case_button, GTK_TOOLBAR (find_bar)->tooltips, _("Toggle case sensitive search"), NULL); #endif /* Status */ priv->status_item = gtk_tool_item_new(); gtk_tool_item_set_expand (priv->status_item, TRUE); priv->status_label = gtk_label_new (NULL); gtk_label_set_ellipsize (GTK_LABEL (priv->status_label), PANGO_ELLIPSIZE_END); gtk_misc_set_alignment (GTK_MISC (priv->status_label), 0.0, 0.5); g_signal_connect (priv->find_entry, "changed", G_CALLBACK (entry_changed_callback), find_bar); g_signal_connect (priv->find_entry, "activate", G_CALLBACK (entry_activate_callback), find_bar); g_signal_connect (priv->next_button, "clicked", G_CALLBACK (next_clicked_callback), find_bar); g_signal_connect (priv->previous_button, "clicked", G_CALLBACK (previous_clicked_callback), find_bar); g_signal_connect (priv->case_button, "toggled", G_CALLBACK (case_sensitive_toggled_callback), find_bar); gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box), priv->find_entry, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (alignment), box); gtk_container_add (GTK_CONTAINER (item), alignment); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), item, -1); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->previous_button, -1); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->next_button, -1); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->case_button, -1); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->status_separator, -1); gtk_container_add (GTK_CONTAINER (priv->status_item), priv->status_label); gtk_toolbar_insert (GTK_TOOLBAR (find_bar), priv->status_item, -1); /* don't show status separator/label until they are set */ gtk_widget_show_all (GTK_WIDGET (item)); gtk_widget_show_all (GTK_WIDGET (priv->next_button)); gtk_widget_show_all (GTK_WIDGET (priv->previous_button)); gtk_widget_show (priv->status_label); } static void egg_find_bar_finalize (GObject *object) { EggFindBar *find_bar = EGG_FIND_BAR (object); EggFindBarPrivate *priv = (EggFindBarPrivate *)find_bar->priv; g_free (priv->search_string); G_OBJECT_CLASS (egg_find_bar_parent_class)->finalize (object); } static void egg_find_bar_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EggFindBar *find_bar = EGG_FIND_BAR (object); switch (prop_id) { case PROP_SEARCH_STRING: egg_find_bar_set_search_string (find_bar, g_value_get_string (value)); break; case PROP_CASE_SENSITIVE: egg_find_bar_set_case_sensitive (find_bar, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void egg_find_bar_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EggFindBar *find_bar = EGG_FIND_BAR (object); EggFindBarPrivate *priv = (EggFindBarPrivate *)find_bar->priv; switch (prop_id) { case PROP_SEARCH_STRING: g_value_set_string (value, priv->search_string); break; case PROP_CASE_SENSITIVE: g_value_set_boolean (value, priv->case_sensitive); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } static void egg_find_bar_show (GtkWidget *widget) { EggFindBar *bar = EGG_FIND_BAR (widget); EggFindBarPrivate *priv = bar->priv; GTK_WIDGET_CLASS (egg_find_bar_parent_class)->show (widget); if (priv->set_focus_handler == 0) { GtkWidget *toplevel; toplevel = gtk_widget_get_toplevel (widget); priv->set_focus_handler = g_signal_connect (toplevel, "set-focus", G_CALLBACK (set_focus_cb), bar); } } static void egg_find_bar_hide (GtkWidget *widget) { EggFindBar *bar = EGG_FIND_BAR (widget); EggFindBarPrivate *priv = bar->priv; if (priv->set_focus_handler != 0) { GtkWidget *toplevel; toplevel = gtk_widget_get_toplevel (widget); g_signal_handlers_disconnect_by_func (toplevel, (void (*)) G_CALLBACK (set_focus_cb), bar); priv->set_focus_handler = 0; } GTK_WIDGET_CLASS (egg_find_bar_parent_class)->hide (widget); } static void egg_find_bar_grab_focus (GtkWidget *widget) { EggFindBar *find_bar = EGG_FIND_BAR (widget); EggFindBarPrivate *priv = find_bar->priv; gtk_widget_grab_focus (priv->find_entry); } /** * egg_find_bar_new: * * Creates a new #EggFindBar. * * Returns: a newly created #EggFindBar * * Since: 2.6 */ GtkWidget * egg_find_bar_new (void) { EggFindBar *find_bar; find_bar = g_object_new (EGG_TYPE_FIND_BAR, NULL); return GTK_WIDGET (find_bar); } /** * egg_find_bar_set_search_string: * * Sets the string that should be found/highlighted in the document. * Empty string is converted to NULL. * * Since: 2.6 */ void egg_find_bar_set_search_string (EggFindBar *find_bar, const char *search_string) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; g_object_freeze_notify (G_OBJECT (find_bar)); if (priv->search_string != search_string) { char *old; old = priv->search_string; if (search_string && *search_string == '\0') search_string = NULL; /* Only update if the string has changed; setting the entry * will emit changed on the entry which will re-enter * this function, but we'll handle that fine with this * short-circuit. */ if ((old && search_string == NULL) || (old == NULL && search_string) || (old && search_string && strcmp (old, search_string) != 0)) { gboolean not_empty; priv->search_string = g_strdup (search_string); g_free (old); gtk_entry_set_text (GTK_ENTRY (priv->find_entry), priv->search_string ? priv->search_string : ""); not_empty = (search_string == NULL) ? FALSE : TRUE; gtk_widget_set_sensitive (GTK_WIDGET (find_bar->priv->next_button), not_empty); gtk_widget_set_sensitive (GTK_WIDGET (find_bar->priv->previous_button), not_empty); g_object_notify (G_OBJECT (find_bar), "search_string"); } } g_object_thaw_notify (G_OBJECT (find_bar)); } /** * egg_find_bar_get_search_string: * * Gets the string that should be found/highlighted in the document. * * Returns: the string * * Since: 2.6 */ const char* egg_find_bar_get_search_string (EggFindBar *find_bar) { EggFindBarPrivate *priv; g_return_val_if_fail (EGG_IS_FIND_BAR (find_bar), NULL); priv = find_bar->priv; return priv->search_string ? priv->search_string : ""; } /** * egg_find_bar_set_case_sensitive: * * Sets whether the search is case sensitive * * Since: 2.6 */ void egg_find_bar_set_case_sensitive (EggFindBar *find_bar, gboolean case_sensitive) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; g_object_freeze_notify (G_OBJECT (find_bar)); case_sensitive = case_sensitive != FALSE; if (priv->case_sensitive != case_sensitive) { priv->case_sensitive = case_sensitive; gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->case_button), priv->case_sensitive); g_object_notify (G_OBJECT (find_bar), "case_sensitive"); } g_object_thaw_notify (G_OBJECT (find_bar)); } /** * egg_find_bar_get_case_sensitive: * * Gets whether the search is case sensitive * * Returns: TRUE if it's case sensitive * * Since: 2.6 */ gboolean egg_find_bar_get_case_sensitive (EggFindBar *find_bar) { EggFindBarPrivate *priv; g_return_val_if_fail (EGG_IS_FIND_BAR (find_bar), FALSE); priv = (EggFindBarPrivate *)find_bar->priv; return priv->case_sensitive; } static void get_style_color (EggFindBar *find_bar, const char *style_prop_name, GdkColor *color) { GdkColor *style_color; gtk_widget_ensure_style (GTK_WIDGET (find_bar)); gtk_widget_style_get (GTK_WIDGET (find_bar), "color", &style_color, NULL); if (style_color) { *color = *style_color; gdk_color_free (style_color); } } /** * egg_find_bar_get_all_matches_color: * * Gets the color to use to highlight all the * known matches. * * Since: 2.6 */ void egg_find_bar_get_all_matches_color (EggFindBar *find_bar, GdkColor *color) { GdkColor found_color = { 0, 0, 0, 0x0f0f }; get_style_color (find_bar, "all_matches_color", &found_color); *color = found_color; } /** * egg_find_bar_get_current_match_color: * * Gets the color to use to highlight the match * we're currently on. * * Since: 2.6 */ void egg_find_bar_get_current_match_color (EggFindBar *find_bar, GdkColor *color) { GdkColor found_color = { 0, 0, 0, 0xffff }; get_style_color (find_bar, "current_match_color", &found_color); *color = found_color; } /** * egg_find_bar_set_status_text: * * Sets some text to display if there's space; typical text would * be something like "5 results on this page" or "No results" * * @text: the text to display * * Since: 2.6 */ void egg_find_bar_set_status_text (EggFindBar *find_bar, const char *text) { EggFindBarPrivate *priv; g_return_if_fail (EGG_IS_FIND_BAR (find_bar)); priv = (EggFindBarPrivate *)find_bar->priv; gtk_label_set_text (GTK_LABEL (priv->status_label), text); g_object_set (priv->status_separator, "visible", text != NULL && *text != '\0', NULL); g_object_set (priv->status_item, "visible", text != NULL && *text !='\0', NULL); } geany-plugins-1.27/devhelp/devhelp/dh-search.c0000644000175000017500000005677012671261352021617 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2001-2003 CodeFactory AB * Copyright (C) 2001-2003 Mikael Hallendal * Copyright (C) 2005-2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include #include #include "dh-marshal.h" #include "dh-keyword-model.h" #include "dh-search.h" #include "dh-preferences.h" #include "dh-base.h" #include "dh-util.h" #include "dh-book-manager.h" #include "dh-book.h" typedef struct { DhKeywordModel *model; DhBookManager *book_manager; DhLink *selected_link; GtkWidget *book_combo; GtkWidget *entry; GtkWidget *hitlist; GCompletion *completion; guint idle_complete; guint idle_filter; } DhSearchPriv; static void dh_search_init (DhSearch *search); static void dh_search_class_init (DhSearchClass *klass); static void search_grab_focus (GtkWidget *widget); static void search_selection_changed_cb (GtkTreeSelection *selection, DhSearch *content); static gboolean search_tree_button_press_cb (GtkTreeView *view, GdkEventButton *event, DhSearch *search); static gboolean search_entry_key_press_event_cb (GtkEntry *entry, GdkEventKey *event, DhSearch *search); static void search_combo_changed_cb (GtkComboBox *combo, DhSearch *search); static void search_entry_changed_cb (GtkEntry *entry, DhSearch *search); static void search_entry_activated_cb (GtkEntry *entry, DhSearch *search); static void search_entry_text_inserted_cb (GtkEntry *entry, const gchar *text, gint length, gint *position, DhSearch *search); static gboolean search_complete_idle (DhSearch *search); static gboolean search_filter_idle (DhSearch *search); static const gchar *search_complete_func (DhLink *link); enum { LINK_SELECTED, LAST_SIGNAL }; G_DEFINE_TYPE (DhSearch, dh_search, GTK_TYPE_VBOX); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, DH_TYPE_SEARCH, DhSearchPriv); static gint signals[LAST_SIGNAL] = { 0 }; static void search_finalize (GObject *object) { DhSearchPriv *priv; priv = GET_PRIVATE (object); g_completion_free (priv->completion); g_object_unref (priv->book_manager); G_OBJECT_CLASS (dh_search_parent_class)->finalize (object); } static void dh_search_class_init (DhSearchClass *klass) { GObjectClass *object_class = (GObjectClass *) klass;; GtkWidgetClass *widget_class = (GtkWidgetClass *) klass;; object_class->finalize = search_finalize; widget_class->grab_focus = search_grab_focus; signals[LINK_SELECTED] = g_signal_new ("link_selected", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DhSearchClass, link_selected), NULL, NULL, _dh_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); g_type_class_add_private (klass, sizeof (DhSearchPriv)); } static void dh_search_init (DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); priv->completion = g_completion_new ( (GCompletionFunc) search_complete_func); priv->hitlist = gtk_tree_view_new (); priv->model = dh_keyword_model_new (); gtk_tree_view_set_model (GTK_TREE_VIEW (priv->hitlist), GTK_TREE_MODEL (priv->model)); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (priv->hitlist), FALSE); gtk_box_set_spacing (GTK_BOX (search), 4); } static void search_grab_focus (GtkWidget *widget) { DhSearchPriv *priv = GET_PRIVATE (widget); gtk_widget_grab_focus (priv->entry); } static void search_selection_changed_cb (GtkTreeSelection *selection, DhSearch *search) { DhSearchPriv *priv; GtkTreeIter iter; priv = GET_PRIVATE (search); if (gtk_tree_selection_get_selected (selection, NULL, &iter)) { DhLink *link; gtk_tree_model_get (GTK_TREE_MODEL (priv->model), &iter, DH_KEYWORD_MODEL_COL_LINK, &link, -1); if (link != priv->selected_link) { priv->selected_link = link; g_signal_emit (search, signals[LINK_SELECTED], 0, link); } } } /* Make it possible to jump back to the currently selected item, useful when the * html view has been scrolled away. */ static gboolean search_tree_button_press_cb (GtkTreeView *view, GdkEventButton *event, DhSearch *search) { GtkTreePath *path; GtkTreeIter iter; DhSearchPriv *priv; DhLink *link; priv = GET_PRIVATE (search); gtk_tree_view_get_path_at_pos (view, event->x, event->y, &path, NULL, NULL, NULL); if (!path) { return FALSE; } gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->model), &iter, path); gtk_tree_path_free (path); gtk_tree_model_get (GTK_TREE_MODEL (priv->model), &iter, DH_KEYWORD_MODEL_COL_LINK, &link, -1); priv->selected_link = link; g_signal_emit (search, signals[LINK_SELECTED], 0, link); /* Always return FALSE so the tree view gets the event and can update * the selection etc. */ return FALSE; } static gboolean search_entry_key_press_event_cb (GtkEntry *entry, GdkEventKey *event, DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); if (event->keyval == GDK_Tab) { if (event->state & GDK_CONTROL_MASK) { gtk_widget_grab_focus (priv->hitlist); } else { gtk_editable_set_position (GTK_EDITABLE (entry), -1); gtk_editable_select_region (GTK_EDITABLE (entry), -1, -1); } return TRUE; } if (event->keyval == GDK_Return || event->keyval == GDK_KP_Enter) { GtkTreeIter iter; DhLink *link; gchar *name; /* Get the first entry found. */ if (gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->model), &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (priv->model), &iter, DH_KEYWORD_MODEL_COL_LINK, &link, DH_KEYWORD_MODEL_COL_NAME, &name, -1); gtk_entry_set_text (GTK_ENTRY (entry), name); g_free (name); gtk_editable_set_position (GTK_EDITABLE (entry), -1); gtk_editable_select_region (GTK_EDITABLE (entry), -1, -1); g_signal_emit (search, signals[LINK_SELECTED], 0, link); return TRUE; } } return FALSE; } static void search_combo_set_active_id (DhSearch *search, const gchar *book_id) { DhSearchPriv *priv = GET_PRIVATE (search); GtkTreeIter iter; GtkTreeModel *model; gboolean has_next; g_signal_handlers_block_by_func (priv->book_combo, search_combo_changed_cb, search); if (book_id != NULL) { model = gtk_combo_box_get_model (GTK_COMBO_BOX (priv->book_combo)); has_next = gtk_tree_model_get_iter_first (model, &iter); while (has_next) { gchar *id; gtk_tree_model_get (model, &iter, 1, &id, -1); if (id && strcmp (book_id, id) == 0) { g_free (id); gtk_combo_box_set_active_iter (GTK_COMBO_BOX (priv->book_combo), &iter); break; } g_free (id); has_next = gtk_tree_model_iter_next (model, &iter); } } else { gtk_combo_box_set_active (GTK_COMBO_BOX (priv->book_combo), 0); } g_signal_handlers_unblock_by_func (priv->book_combo, search_combo_changed_cb, search); } static gchar * search_combo_get_active_id (DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); GtkTreeIter iter; GtkTreeModel *model; gchar *id; if (!gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->book_combo), &iter)) { return NULL; } model = gtk_combo_box_get_model (GTK_COMBO_BOX (priv->book_combo)); gtk_tree_model_get (model, &iter, 1, &id, -1); return id; } static void search_combo_changed_cb (GtkComboBox *combo, DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); if (!priv->idle_filter) { priv->idle_filter = g_idle_add ((GSourceFunc) search_filter_idle, search); } } static void search_entry_changed_cb (GtkEntry *entry, DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); if (!priv->idle_filter) { priv->idle_filter = g_idle_add ((GSourceFunc) search_filter_idle, search); } } static void search_entry_activated_cb (GtkEntry *entry, DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); gchar *id; const gchar *str; id = search_combo_get_active_id (search); str = gtk_entry_get_text (GTK_ENTRY (priv->entry)); dh_keyword_model_filter (priv->model, str, id); g_free (id); } static void search_entry_text_inserted_cb (GtkEntry *entry, const gchar *text, gint length, gint *position, DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); if (!priv->idle_complete) { priv->idle_complete = g_idle_add ((GSourceFunc) search_complete_idle, search); } } static gboolean search_complete_idle (DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); const gchar *str; gchar *completed = NULL; gsize length; str = gtk_entry_get_text (GTK_ENTRY (priv->entry)); g_completion_complete (priv->completion, str, &completed); if (completed) { length = strlen (str); gtk_entry_set_text (GTK_ENTRY (priv->entry), completed); gtk_editable_set_position (GTK_EDITABLE (priv->entry), length); gtk_editable_select_region (GTK_EDITABLE (priv->entry), length, -1); g_free (completed); } priv->idle_complete = 0; return FALSE; } static gboolean search_filter_idle (DhSearch *search) { DhSearchPriv *priv = GET_PRIVATE (search); const gchar *str; gchar *id; DhLink *link; str = gtk_entry_get_text (GTK_ENTRY (priv->entry)); id = search_combo_get_active_id (search); link = dh_keyword_model_filter (priv->model, str, id); g_free (id); priv->idle_filter = 0; if (link) { g_signal_emit (search, signals[LINK_SELECTED], 0, link); } return FALSE; } static const gchar * search_complete_func (DhLink *link) { return dh_link_get_name (link); } static void search_cell_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { DhLink *link; PangoStyle style; gtk_tree_model_get (tree_model, iter, DH_KEYWORD_MODEL_COL_LINK, &link, -1); style = PANGO_STYLE_NORMAL; if (dh_link_get_flags (link) & DH_LINK_FLAGS_DEPRECATED) { style |= PANGO_STYLE_ITALIC; } g_object_set (cell, "text", dh_link_get_name (link), "style", style, NULL); } static gboolean search_combo_row_separator_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { char *label; char *link; gboolean result; gtk_tree_model_get (model, iter, 0, &label, 1, &link, -1); result = (link == NULL && label == NULL); g_free (label); g_free (link); return result; } static void search_combo_populate (DhSearch *search) { DhSearchPriv *priv; GtkListStore *store; GtkTreeIter iter; GList *l; priv = GET_PRIVATE (search); store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (priv->book_combo))); gtk_list_store_clear (store); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, _("All books"), 1, NULL, -1); /* Add a separator */ gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, NULL, 1, NULL, -1); for (l = dh_book_manager_get_books (priv->book_manager); l; l = g_list_next (l)) { DhBook *book = DH_BOOK (l->data); GNode *node; node = dh_book_get_tree (book); if (node) { DhLink *link; link = node->data; gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, dh_link_get_name (link), 1, dh_link_get_book_id (link), -1); } } gtk_combo_box_set_active (GTK_COMBO_BOX (priv->book_combo), 0); } static void search_combo_create (DhSearch *search) { GtkListStore *store; GtkCellRenderer *cell; DhSearchPriv *priv; priv = GET_PRIVATE (search); store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); priv->book_combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store)); g_object_unref (store); search_combo_populate (search); gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (priv->book_combo), search_combo_row_separator_func, NULL, NULL); cell = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->book_combo), cell, TRUE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (priv->book_combo), cell, "text", 0); } static void completion_add_items (DhSearch *search) { DhSearchPriv *priv; GList *l; priv = GET_PRIVATE (search); for (l = dh_book_manager_get_books (priv->book_manager); l; l = g_list_next (l)) { DhBook *book = DH_BOOK (l->data); GList *keywords; keywords = dh_book_get_keywords(book); if (keywords) { g_completion_add_items (priv->completion, keywords); } } } static void book_manager_disabled_book_list_changed_cb (DhBookManager *book_manager, gpointer user_data) { DhSearch *search = user_data; search_combo_populate (search); } GtkWidget * dh_search_new (DhBookManager *book_manager) { DhSearch *search; DhSearchPriv *priv; GtkTreeSelection *selection; GtkWidget *list_sw; GtkWidget *hbox; GtkWidget *book_label; GtkCellRenderer *cell; search = g_object_new (DH_TYPE_SEARCH, NULL); priv = GET_PRIVATE (search); priv->book_manager = g_object_ref (book_manager); g_signal_connect (priv->book_manager, "disabled-book-list-updated", G_CALLBACK (book_manager_disabled_book_list_changed_cb), search); gtk_container_set_border_width (GTK_CONTAINER (search), 2); search_combo_create (search); g_signal_connect (priv->book_combo, "changed", G_CALLBACK (search_combo_changed_cb), search); book_label = gtk_label_new_with_mnemonic (_("Search in:")); gtk_label_set_mnemonic_widget (GTK_LABEL (book_label), priv->book_combo); hbox = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox), book_label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), priv->book_combo, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (search), hbox, FALSE, FALSE, 0); /* Setup the keyword box. */ priv->entry = gtk_entry_new (); g_signal_connect (priv->entry, "key-press-event", G_CALLBACK (search_entry_key_press_event_cb), search); g_signal_connect (priv->hitlist, "button-press-event", G_CALLBACK (search_tree_button_press_cb), search); g_signal_connect (priv->entry, "changed", G_CALLBACK (search_entry_changed_cb), search); g_signal_connect (priv->entry, "activate", G_CALLBACK (search_entry_activated_cb), search); g_signal_connect (priv->entry, "insert-text", G_CALLBACK (search_entry_text_inserted_cb), search); gtk_box_pack_start (GTK_BOX (search), priv->entry, FALSE, FALSE, 0); /* Setup the hitlist */ list_sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (list_sw), GTK_SHADOW_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (list_sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); cell = gtk_cell_renderer_text_new (); g_object_set (cell, "ellipsize", PANGO_ELLIPSIZE_END, NULL); gtk_tree_view_insert_column_with_data_func ( GTK_TREE_VIEW (priv->hitlist), -1, NULL, cell, search_cell_data_func, search, NULL); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (priv->hitlist), FALSE); gtk_tree_view_set_search_column (GTK_TREE_VIEW (priv->hitlist), DH_KEYWORD_MODEL_COL_NAME); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->hitlist)); g_signal_connect (selection, "changed", G_CALLBACK (search_selection_changed_cb), search); gtk_container_add (GTK_CONTAINER (list_sw), priv->hitlist); gtk_box_pack_end (GTK_BOX (search), list_sw, TRUE, TRUE, 0); completion_add_items (search); dh_keyword_model_set_words (priv->model, book_manager); gtk_widget_show_all (GTK_WIDGET (search)); return GTK_WIDGET (search); } void dh_search_set_search_string (DhSearch *search, const gchar *str, const gchar *book_id) { DhSearchPriv *priv; g_return_if_fail (DH_IS_SEARCH (search)); priv = GET_PRIVATE (search); g_signal_handlers_block_by_func (priv->entry, search_entry_changed_cb, search); gtk_entry_set_text (GTK_ENTRY (priv->entry), str); gtk_editable_set_position (GTK_EDITABLE (priv->entry), -1); gtk_editable_select_region (GTK_EDITABLE (priv->entry), -1, -1); g_signal_handlers_unblock_by_func (priv->entry, search_entry_changed_cb, search); search_combo_set_active_id (search, book_id); if (!priv->idle_filter) { priv->idle_filter = g_idle_add ((GSourceFunc) search_filter_idle, search); } } geany-plugins-1.27/devhelp/devhelp/dh-keyword-model.h0000644000175000017500000000512212671261352023122 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_KEYWORD_MODEL_H__ #define __DH_KEYWORD_MODEL_H__ #include #include "dh-link.h" #include "dh-book-manager.h" G_BEGIN_DECLS #define DH_TYPE_KEYWORD_MODEL (dh_keyword_model_get_type ()) #define DH_KEYWORD_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DH_TYPE_KEYWORD_MODEL, DhKeywordModel)) #define DH_KEYWORD_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DH_TYPE_KEYWORD_MODEL, DhKeywordModelClass)) #define DH_IS_KEYWORD_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DH_TYPE_KEYWORD_MODEL)) #define DH_IS_KEYWORD_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DH_TYPE_KEYWORD_MODEL)) #define DH_KEYWORD_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DH_TYPE_KEYWORD_MODEL, DhKeywordModelClass)) typedef struct _DhKeywordModel DhKeywordModel; typedef struct _DhKeywordModelClass DhKeywordModelClass; typedef struct _DhKeywordModelPriv DhKeywordModelPriv; struct _DhKeywordModel { GObject parent_instance; DhKeywordModelPriv *priv; }; struct _DhKeywordModelClass { GObjectClass parent_class; }; enum { DH_KEYWORD_MODEL_COL_NAME, DH_KEYWORD_MODEL_COL_LINK, DH_KEYWORD_MODEL_NUM_COLS }; GType dh_keyword_model_get_type (void); DhKeywordModel *dh_keyword_model_new (void); void dh_keyword_model_set_words (DhKeywordModel *model, DhBookManager *book_manager); DhLink * dh_keyword_model_filter (DhKeywordModel *model, const gchar *string, const gchar *book_id); G_END_DECLS #endif /* __DH_KEYWORD_MODEL_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-parser.h0000644000175000017500000000232712671261352021640 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2003 CodeFactory AB * Copyright (C) 2003 Mikael Hallendal * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_PARSER_H__ #define __DH_PARSER_H__ #include G_BEGIN_DECLS gboolean dh_parser_read_file (const gchar *path, GNode **book_tree, GList **keywords, GError **error); G_END_DECLS #endif /* __DH_PARSER_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-book-manager.h0000644000175000017500000000460512671261352022707 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2010 Lanedo GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_BOOK_MANAGER_H__ #define __DH_BOOK_MANAGER_H__ #include #include "dh-book.h" G_BEGIN_DECLS typedef struct _DhBookManager DhBookManager; typedef struct _DhBookManagerClass DhBookManagerClass; #define DH_TYPE_BOOK_MANAGER (dh_book_manager_get_type ()) #define DH_BOOK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), DH_TYPE_BOOK_MANAGER, DhBookManager)) #define DH_BOOK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), DH_TYPE_BOOK_MANAGER, DhBookManagerClass)) #define DH_IS_BOOK_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), DH_TYPE_BOOK_MANAGER)) #define DH_IS_BOOK_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), DH_TYPE_BOOK_MANAGER)) #define DH_BOOK_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), DH_TYPE_BOOK_MANAGER, DhBookManagerClass)) struct _DhBookManager { GObject parent_instance; }; struct _DhBookManagerClass { GObjectClass parent_class; /* Signals */ void (* disabled_book_list_updated) (DhBookManager *book_manager); }; GType dh_book_manager_get_type (void) G_GNUC_CONST; DhBookManager *dh_book_manager_new (void); void dh_book_manager_populate (DhBookManager *book_manager); GList *dh_book_manager_get_books (DhBookManager *book_manager); DhBook *dh_book_manager_get_book_by_name (DhBookManager *book_manager, const gchar *name); void dh_book_manager_update (DhBookManager *book_manager); G_END_DECLS #endif /* __DH_BOOK_MANAGER_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-enum-types.h0000644000175000017500000000135512671261352022452 0ustar00frlanfrlan00000000000000 /* Generated data (by glib-mkenums) */ #ifndef __DH_ENUM_TYPES_H__ #define __DH_ENUM_TYPES_H__ #include G_BEGIN_DECLS /* Enumerations from "dh-error.h" */ #define DH_TYPE_ERROR (dh_error_get_type()) GType dh_error_get_type (void) G_GNUC_CONST; /* Enumerations from "dh-link.h" */ #define DH_TYPE_LINK_TYPE (dh_link_type_get_type()) GType dh_link_type_get_type (void) G_GNUC_CONST; #define DH_TYPE_LINK_FLAGS (dh_link_flags_get_type()) GType dh_link_flags_get_type (void) G_GNUC_CONST; /* Enumerations from "dh-window.h" */ #define DH_TYPE_OPEN_LINK_FLAGS (dh_open_link_flags_get_type()) GType dh_open_link_flags_get_type (void) G_GNUC_CONST; G_END_DECLS #endif /* __DH_ENUM_TYPES_H__ */ /* Generated data ends here */ geany-plugins-1.27/devhelp/devhelp/dh-assistant-view.c0000644000175000017500000003474012671261352023324 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2008 Imendio AB * Copyright (C) 2008 Sven Herzberg * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ #include "config.h" #include #include #include #include "dh-assistant-view.h" #include "dh-link.h" #include "dh-util.h" #include "dh-book-manager.h" #include "dh-book.h" #include "dh-window.h" typedef struct { DhBase *base; DhLink *link; gchar *current_search; gboolean snippet_loaded; } DhAssistantViewPriv; G_DEFINE_TYPE (DhAssistantView, dh_assistant_view, WEBKIT_TYPE_WEB_VIEW); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, DH_TYPE_ASSISTANT_VIEW, DhAssistantViewPriv) static void view_finalize (GObject *object) { DhAssistantViewPriv *priv = GET_PRIVATE (object); if (priv->link) { g_object_unref (priv->link); } if (priv->base) { g_object_unref (priv->base); } g_free (priv->current_search); G_OBJECT_CLASS (dh_assistant_view_parent_class)->finalize (object); } static WebKitNavigationResponse assistant_navigation_requested (WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequest *request) { DhAssistantViewPriv *priv; const gchar *uri; priv = GET_PRIVATE (web_view); uri = webkit_network_request_get_uri (request); if (strcmp (uri, "about:blank") == 0) { return WEBKIT_NAVIGATION_RESPONSE_ACCEPT; } else if (! priv->snippet_loaded) { priv->snippet_loaded = TRUE; return WEBKIT_NAVIGATION_RESPONSE_ACCEPT; } else if (g_str_has_prefix (uri, "file://")) { GtkWidget *window; window = dh_base_get_window (priv->base); _dh_window_display_uri (DH_WINDOW (window), uri); } return WEBKIT_NAVIGATION_RESPONSE_IGNORE; } static gboolean assistant_button_press_event (GtkWidget *widget, GdkEventButton *event) { /* Block webkit's builtin context menu. */ if (event->button != 1) { return TRUE; } return GTK_WIDGET_CLASS (dh_assistant_view_parent_class)->button_press_event (widget, event); } static void dh_assistant_view_class_init (DhAssistantViewClass* klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); WebKitWebViewClass *web_view_class = WEBKIT_WEB_VIEW_CLASS (klass); object_class->finalize = view_finalize; widget_class->button_press_event = assistant_button_press_event; web_view_class->navigation_requested = assistant_navigation_requested; g_type_class_add_private (klass, sizeof (DhAssistantViewPriv)); } static void dh_assistant_view_init (DhAssistantView *view) { } DhBase* dh_assistant_view_get_base (DhAssistantView *view) { DhAssistantViewPriv *priv; g_return_val_if_fail (DH_IS_ASSISTANT_VIEW (view), NULL); priv = GET_PRIVATE (view); return priv->base; } GtkWidget* dh_assistant_view_new (void) { return g_object_new (DH_TYPE_ASSISTANT_VIEW, NULL); } static const gchar * find_in_buffer (const gchar *buffer, const gchar *key, gsize length, gsize key_length) { gsize m = 0; gsize i = 0; while (i < length) { if (key[m] == buffer[i]) { m++; if (m == key_length) { return buffer + i - m + 1; } } else { m = 0; } i++; } return NULL; } /** * dh_assistant_view_set_link: * @view: an devhelp assistant view * @link: the #DhLink * * Open @link in the assistant view, if %NULL the view will be blanked. * * Return value: %TRUE if the requested link is open, %FALSE otherwise. **/ gboolean dh_assistant_view_set_link (DhAssistantView *view, DhLink *link) { DhAssistantViewPriv *priv; gchar *uri; const gchar *anchor; gchar *filename; GMappedFile *file; const gchar *contents; gsize length; gchar *key; gsize key_length; gsize offset = 0; const gchar *start; const gchar *end; g_return_val_if_fail (DH_IS_ASSISTANT_VIEW (view), FALSE); priv = GET_PRIVATE (view); if (priv->link == link) { return TRUE; } if (priv->link) { dh_link_unref (priv->link); priv->link = NULL; } if (link) { link = dh_link_ref (link); } else { webkit_web_view_load_uri (WEBKIT_WEB_VIEW (view), "about:blank"); return TRUE; } uri = dh_link_get_uri (link); anchor = strrchr (uri, '#'); if (anchor) { filename = g_strndup (uri, anchor - uri); anchor++; g_free (uri); } else { g_free (uri); return FALSE; } if (g_str_has_prefix (filename, "file://")) offset = 7; file = g_mapped_file_new (filename + offset, FALSE, NULL); if (!file) { g_free (filename); return FALSE; } contents = g_mapped_file_get_contents (file); length = g_mapped_file_get_length (file); key = g_strdup_printf (""; start = find_in_buffer (start, start_key, length, strlen (start_key)); end_key = "
      buf) { name[-1] = '\n'; } } stylesheet = dh_util_build_data_filename ("devhelp", "assistant", "assistant.css", NULL); javascript = dh_util_build_data_filename ("devhelp", "assistant", "assistant.js", NULL); html = g_strdup_printf ( "" "" "" "" "" "" "" "
      %s %s
      " "
      %s
      " "" "", stylesheet, javascript, function, dh_link_get_type_as_string (link), dh_link_get_uri (link), dh_link_get_name (link), _("Book:"), dh_link_get_book_name (link), buf); g_free (buf); g_free (stylesheet); g_free (javascript); priv->snippet_loaded = FALSE; webkit_web_view_load_string ( WEBKIT_WEB_VIEW (view), html, "text/html", NULL, filename); g_free (html); } else { webkit_web_view_load_uri (WEBKIT_WEB_VIEW (view), "about:blank"); } #if GLIB_CHECK_VERSION(2,21,3) g_mapped_file_unref (file); #else g_mapped_file_free (file); #endif g_free (filename); return TRUE; } gboolean dh_assistant_view_search (DhAssistantView *view, const gchar *str) { DhAssistantViewPriv *priv; const gchar *name; DhLink *link; DhLink *exact_link; DhLink *prefix_link; DhBookManager *book_manager; GList *books; g_return_val_if_fail (DH_IS_ASSISTANT_VIEW (view), FALSE); g_return_val_if_fail (str, FALSE); priv = GET_PRIVATE (view); /* Filter out very short strings. */ if (strlen (str) < 4) { return FALSE; } if (priv->current_search && strcmp (priv->current_search, str) == 0) { return FALSE; } g_free (priv->current_search); priv->current_search = g_strdup (str); book_manager = dh_base_get_book_manager (dh_assistant_view_get_base (view)); prefix_link = NULL; exact_link = NULL; for (books = dh_book_manager_get_books (book_manager); !exact_link && books; books = g_list_next (books)) { GList *l; for (l = dh_book_get_keywords (DH_BOOK (books->data)); l && exact_link == NULL; l = l->next) { DhLinkType type; link = l->data; type = dh_link_get_link_type (link); if (type == DH_LINK_TYPE_BOOK || type == DH_LINK_TYPE_PAGE || type == DH_LINK_TYPE_KEYWORD) { continue; } name = dh_link_get_name (link); if (strcmp (name, str) == 0) { exact_link = link; } else if (g_str_has_prefix (name, str)) { /* Prefer shorter prefix matches. */ if (!prefix_link) { prefix_link = link; } else if (strlen (dh_link_get_name (prefix_link)) > strlen (name)) { prefix_link = link; } } } } if (exact_link) { /*g_print ("exact hit: '%s' '%s'\n", exact_link->name, str);*/ dh_assistant_view_set_link (view, exact_link); } else if (prefix_link) { /*g_print ("prefix hit: '%s' '%s'\n", prefix_link->name, str);*/ dh_assistant_view_set_link (view, prefix_link); } else { /*g_print ("no hit\n");*/ /*assistant_view_set_link (view, NULL);*/ return FALSE; } return TRUE; } void dh_assistant_view_set_base (DhAssistantView *view, DhBase *base) { DhAssistantViewPriv *priv; g_return_if_fail (DH_IS_ASSISTANT_VIEW (view)); g_return_if_fail (DH_IS_BASE (base)); priv = GET_PRIVATE (view); priv->base = g_object_ref (base); } geany-plugins-1.27/devhelp/devhelp/ige-conf-private.h0000644000175000017500000000335112671261352023110 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __IGE_CONF_PRIVATE_H__ #define __IGE_CONF_PRIVATE_H__ #include #include "ige-conf.h" G_BEGIN_DECLS typedef enum { IGE_CONF_TYPE_INT, IGE_CONF_TYPE_BOOLEAN, IGE_CONF_TYPE_STRING } IgeConfType; typedef struct { IgeConfType type; gchar *key; gchar *value; } IgeConfDefaultItem; GList * _ige_conf_defaults_read_file (const gchar *path, GError **error); void _ige_conf_defaults_free_list (GList *defaults); gchar * _ige_conf_defaults_get_root (GList *defaults); const gchar *_ige_conf_defaults_get_string (GList *defaults, const gchar *key); gint _ige_conf_defaults_get_int (GList *defaults, const gchar *key); gboolean _ige_conf_defaults_get_bool (GList *defaults, const gchar *key); G_END_DECLS #endif /* __IGE_CONF_PRIVATE_H__ */ geany-plugins-1.27/devhelp/devhelp/ige-conf-gconf.c0000644000175000017500000002324212671261352022526 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include "ige-conf-private.h" typedef struct { GConfClient *gconf_client; GList *defaults; } IgeConfPriv; typedef struct { IgeConf *conf; IgeConfNotifyFunc func; gpointer user_data; } IgeConfNotifyData; G_DEFINE_TYPE (IgeConf, ige_conf, G_TYPE_OBJECT); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, IGE_TYPE_CONF, IgeConfPriv); static IgeConf *global_conf = NULL; static void conf_finalize (GObject *object) { IgeConfPriv *priv; priv = GET_PRIVATE (object); /* FIXME: Remove added dirs. gconf_client_remove_dir (priv->gconf_client, CONF_PATH, NULL); */ g_object_unref (priv->gconf_client); _ige_conf_defaults_free_list (priv->defaults); G_OBJECT_CLASS (ige_conf_parent_class)->finalize (object); } static void ige_conf_class_init (IgeConfClass *class) { GObjectClass *object_class; object_class = G_OBJECT_CLASS (class); object_class->finalize = conf_finalize; g_type_class_add_private (object_class, sizeof (IgeConfPriv)); } static void ige_conf_init (IgeConf *conf) { IgeConfPriv *priv; priv = GET_PRIVATE (conf); priv->gconf_client = gconf_client_get_default (); } IgeConf * ige_conf_get (void) { if (!global_conf) { global_conf = g_object_new (IGE_TYPE_CONF, NULL); } return global_conf; } void ige_conf_add_defaults (IgeConf *conf, const gchar *path) { IgeConfPriv *priv = GET_PRIVATE (conf); gchar *root; priv->defaults = _ige_conf_defaults_read_file (path, NULL); root = _ige_conf_defaults_get_root (priv->defaults); gconf_client_add_dir (priv->gconf_client, root, GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); g_free (root); } static GConfEntry * conf_get_entry (IgeConf *conf, const gchar *key) { IgeConfPriv *priv; priv = GET_PRIVATE (conf); return gconf_client_get_entry (priv->gconf_client, key, NULL, TRUE, NULL); } gboolean ige_conf_set_int (IgeConf *conf, const gchar *key, gint value) { IgeConfPriv *priv; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); priv = GET_PRIVATE (conf); return gconf_client_set_int (priv->gconf_client, key, value, NULL); } gboolean ige_conf_get_int (IgeConf *conf, const gchar *key, gint *value) { IgeConfPriv *priv; GConfEntry *entry; gboolean got_value = FALSE; *value = 0; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); g_return_val_if_fail (value != NULL, FALSE); priv = GET_PRIVATE (conf); entry = conf_get_entry (conf, key); if (entry) { GConfValue *v; v = gconf_entry_get_value (entry); if (v) { *value = gconf_value_get_int (v); got_value = TRUE; } } gconf_entry_free (entry); if (!got_value) { *value = _ige_conf_defaults_get_int (priv->defaults, key); } return TRUE; } gboolean ige_conf_set_bool (IgeConf *conf, const gchar *key, gboolean value) { IgeConfPriv *priv; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); priv = GET_PRIVATE (conf); return gconf_client_set_bool (priv->gconf_client, key, value, NULL); } gboolean ige_conf_get_bool (IgeConf *conf, const gchar *key, gboolean *value) { IgeConfPriv *priv; GConfEntry *entry; gboolean got_value = FALSE; *value = 0; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); g_return_val_if_fail (value != NULL, FALSE); priv = GET_PRIVATE (conf); entry = conf_get_entry (conf, key); if (entry) { GConfValue *v; v = gconf_entry_get_value (entry); if (v) { *value = gconf_value_get_bool (v); got_value = TRUE; } } gconf_entry_free (entry); if (!got_value) { *value = _ige_conf_defaults_get_bool (priv->defaults, key); } return TRUE; } gboolean ige_conf_set_string (IgeConf *conf, const gchar *key, const gchar *value) { IgeConfPriv *priv; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); priv = GET_PRIVATE (conf); return gconf_client_set_string (priv->gconf_client, key, value, NULL); } gboolean ige_conf_get_string (IgeConf *conf, const gchar *key, gchar **value) { IgeConfPriv *priv; GError *error = NULL; *value = NULL; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); priv = GET_PRIVATE (conf); *value = gconf_client_get_string (priv->gconf_client, key, &error); if (error) { g_error_free (error); return FALSE; } if (*value == NULL) { *value = g_strdup (_ige_conf_defaults_get_string (priv->defaults, key)); } return TRUE; } gboolean ige_conf_set_string_list (IgeConf *conf, const gchar *key, GSList *value) { IgeConfPriv *priv; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); priv = GET_PRIVATE (conf); return gconf_client_set_list (priv->gconf_client, key, GCONF_VALUE_STRING, value, NULL); } gboolean ige_conf_get_string_list (IgeConf *conf, const gchar *key, GSList **value) { IgeConfPriv *priv; GError *error = NULL; *value = NULL; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); priv = GET_PRIVATE (conf); *value = gconf_client_get_list (priv->gconf_client, key, GCONF_VALUE_STRING, &error); if (error) { g_error_free (error); return FALSE; } return TRUE; } static void conf_notify_data_free (IgeConfNotifyData *data) { g_object_unref (data->conf); g_slice_free (IgeConfNotifyData, data); } static void conf_notify_func (GConfClient *client, guint id, GConfEntry *entry, gpointer user_data) { IgeConfNotifyData *data; data = user_data; data->func (data->conf, gconf_entry_get_key (entry), data->user_data); } guint ige_conf_notify_add (IgeConf *conf, const gchar *key, IgeConfNotifyFunc func, gpointer user_data) { IgeConfPriv *priv; guint id; IgeConfNotifyData *data; g_return_val_if_fail (IGE_IS_CONF (conf), 0); priv = GET_PRIVATE (conf); data = g_slice_new (IgeConfNotifyData); data->func = func; data->user_data = user_data; data->conf = g_object_ref (conf); id = gconf_client_notify_add (priv->gconf_client, key, conf_notify_func, data, (GFreeFunc) conf_notify_data_free, NULL); return id; } gboolean ige_conf_notify_remove (IgeConf *conf, guint id) { IgeConfPriv *priv; g_return_val_if_fail (IGE_IS_CONF (conf), FALSE); priv = GET_PRIVATE (conf); gconf_client_notify_remove (priv->gconf_client, id); return TRUE; } geany-plugins-1.27/devhelp/devhelp/dh-util.c0000644000175000017500000005532512671261352021322 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2001 Mikael Hallendal * Copyright (C) 2004,2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include #ifdef GDK_WINDOWING_QUARTZ #include #endif #include "ige-conf.h" #include "dh-util.h" static GList *views; static GtkBuilder * get_builder_file (const gchar *filename, const gchar *root, const gchar *domain, const gchar *first_required_widget, va_list args) { GtkBuilder *builder; const char *name; GObject **object_ptr; builder = gtk_builder_new (); if (!gtk_builder_add_from_file (builder, filename, NULL)) { g_warning ("Couldn't find necessary UI file '%s'", filename); g_object_unref (builder); return NULL; } for (name = first_required_widget; name; name = va_arg (args, char *)) { object_ptr = va_arg (args, void *); *object_ptr = gtk_builder_get_object (builder, name); if (!*object_ptr) { g_warning ("UI file '%s' is missing widget '%s'.", filename, name); continue; } } return builder; } GtkBuilder * dh_util_builder_get_file (const gchar *filename, const gchar *root, const gchar *domain, const gchar *first_required_widget, ...) { va_list args; GtkBuilder *builder; va_start (args, first_required_widget); builder = get_builder_file (filename, root, domain, first_required_widget, args); va_end (args); return builder; } void dh_util_builder_connect (GtkBuilder *builder, gpointer user_data, gchar *first_widget, ...) { va_list args; const gchar *name; const gchar *signal; GObject *object; gpointer *callback; va_start (args, first_widget); for (name = first_widget; name; name = va_arg (args, char *)) { signal = va_arg (args, void *); callback = va_arg (args, void *); object = gtk_builder_get_object (builder, name); if (!object) { g_warning ("UI file is missing widget '%s', aborting", name); continue; } g_signal_connect (object, signal, G_CALLBACK (callback), user_data); } va_end (args); } #ifdef GDK_WINDOWING_QUARTZ static gchar * cf_string_to_utf8 (CFStringRef str) { CFIndex len; gchar *ret; len = CFStringGetMaximumSizeForEncoding (CFStringGetLength (str), kCFStringEncodingUTF8) + 1; ret = g_malloc (len); ret[len] = '\0'; if (CFStringGetCString (str, ret, len, kCFStringEncodingUTF8)) return ret; g_free (ret); return NULL; } static gchar * util_get_mac_data_dir (void) { const gchar *env; CFBundleRef cf_bundle; UInt32 type; UInt32 creator; CFURLRef cf_url; CFStringRef cf_string; gchar *ret, *tmp; /* The environment variable overrides all. */ env = g_getenv ("DEVHELP_DATADIR"); if (env) { return g_strdup (env); } cf_bundle = CFBundleGetMainBundle (); if (!cf_bundle) { return NULL; } /* Only point into the bundle if it's an application. */ CFBundleGetPackageInfo (cf_bundle, &type, &creator); if (type != 'APPL') { return NULL; } cf_url = CFBundleCopyBundleURL (cf_bundle); cf_string = CFURLCopyFileSystemPath (cf_url, kCFURLPOSIXPathStyle); ret = cf_string_to_utf8 (cf_string); CFRelease (cf_string); CFRelease (cf_url); tmp = g_build_filename (ret, "Contents", "Resources", NULL); g_free (ret); return tmp; } #endif gchar * dh_util_build_data_filename (const gchar *first_part, ...) { gchar *datadir = NULL; va_list args; const gchar *part; gchar **strv; gint i; gchar *ret; va_start (args, first_part); #ifdef GDK_WINDOWING_QUARTZ datadir = util_get_mac_data_dir (); #endif if (datadir == NULL) { datadir = g_strdup (DATADIR); } /* 2 = 1 initial component + terminating NULL element. */ strv = g_malloc (sizeof (gchar *) * 2); strv[0] = (gchar *) datadir; i = 1; for (part = first_part; part; part = va_arg (args, char *), i++) { /* +2 = 1 new element + terminating NULL element. */ strv = g_realloc (strv, sizeof (gchar*) * (i + 2)); strv[i] = (gchar *) part; } strv[i] = NULL; ret = g_build_filenamev (strv); g_free (strv); g_free (datadir); va_end (args); return ret; } typedef struct { gchar *name; guint timeout_id; } DhUtilStateItem; static void util_state_item_free (DhUtilStateItem *item) { g_free (item->name); if (item->timeout_id) { g_source_remove (item->timeout_id); } g_slice_free (DhUtilStateItem, item); } static void util_state_setup_widget (GtkWidget *widget, const gchar *name) { DhUtilStateItem *item; item = g_slice_new0 (DhUtilStateItem); item->name = g_strdup (name); g_object_set_data_full (G_OBJECT (widget), "dh-util-state", item, (GDestroyNotify) util_state_item_free); } static gchar * util_state_get_key (const gchar *name, const gchar *key) { return g_strdup_printf ("/apps/devhelp/state/%s/%s", name, key); } static void util_state_schedule_save (GtkWidget *widget, GSourceFunc func) { DhUtilStateItem *item; item = g_object_get_data (G_OBJECT (widget), "dh-util-state"); if (item->timeout_id) { g_source_remove (item->timeout_id); } item->timeout_id = g_timeout_add (500, func, widget); } static void util_state_save_window (GtkWindow *window, const gchar *name) { gchar *key; GdkWindowState state; gboolean maximized; gint width, height; gint x, y; #if GTK_CHECK_VERSION (2,14,0) state = gdk_window_get_state (gtk_widget_get_window (GTK_WIDGET (window))); #else state = gdk_window_get_state (GTK_WIDGET (window)->window); #endif if (state & GDK_WINDOW_STATE_MAXIMIZED) { maximized = TRUE; } else { maximized = FALSE; } key = util_state_get_key (name, "maximized"); ige_conf_set_bool (ige_conf_get (), key, maximized); g_free (key); /* If maximized don't save the size and position. */ if (maximized) { return; } gtk_window_get_size (GTK_WINDOW (window), &width, &height); key = util_state_get_key (name, "width"); ige_conf_set_int (ige_conf_get (), key, width); g_free (key); key = util_state_get_key (name, "height"); ige_conf_set_int (ige_conf_get (), key, height); g_free (key); gtk_window_get_position (GTK_WINDOW (window), &x, &y); key = util_state_get_key (name, "x_position"); ige_conf_set_int (ige_conf_get (), key, x); g_free (key); key = util_state_get_key (name, "y_position"); ige_conf_set_int (ige_conf_get (), key, y); g_free (key); } static void util_state_restore_window (GtkWindow *window, const gchar *name) { gchar *key; gboolean maximized; gint width, height; gint x, y; GdkScreen *screen; gint max_width, max_height; key = util_state_get_key (name, "width"); ige_conf_get_int (ige_conf_get (), key, &width); g_free (key); key = util_state_get_key (name, "height"); ige_conf_get_int (ige_conf_get (), key, &height); g_free (key); key = util_state_get_key (name, "x_position"); ige_conf_get_int (ige_conf_get (), key, &x); g_free (key); key = util_state_get_key (name, "y_position"); ige_conf_get_int (ige_conf_get (), key, &y); g_free (key); if (width > 1 && height > 1) { screen = gtk_widget_get_screen (GTK_WIDGET (window)); max_width = gdk_screen_get_width (screen); max_height = gdk_screen_get_height (screen); width = CLAMP (width, 0, max_width); height = CLAMP (height, 0, max_height); x = CLAMP (x, 0, max_width - width); y = CLAMP (y, 0, max_height - height); gtk_window_set_default_size (window, width, height); } gtk_window_move (window, x, y); key = util_state_get_key (name, "maximized"); ige_conf_get_bool (ige_conf_get (), key, &maximized); g_free (key); if (maximized) { gtk_window_maximize (window); } } static gboolean util_state_window_timeout_cb (gpointer window) { DhUtilStateItem *item; item = g_object_get_data (window, "dh-util-state"); if (item) { item->timeout_id = 0; util_state_save_window (window, item->name); } return FALSE; } static gboolean util_state_window_configure_event_cb (GtkWidget *window, GdkEventConfigure *event, gpointer user_data) { util_state_schedule_save (window, util_state_window_timeout_cb); return FALSE; } static gboolean util_state_paned_timeout_cb (gpointer paned) { DhUtilStateItem *item; item = g_object_get_data (paned, "dh-util-state"); if (item) { gchar *key; item->timeout_id = 0; key = util_state_get_key (item->name, "position"); ige_conf_set_int (ige_conf_get (), key, gtk_paned_get_position (paned)); g_free (key); } return FALSE; } static gboolean util_state_paned_changed_cb (GtkWidget *paned, gpointer user_data) { util_state_schedule_save (paned, util_state_paned_timeout_cb); return FALSE; } void dh_util_state_manage_window (GtkWindow *window, const gchar *name) { util_state_setup_widget (GTK_WIDGET (window), name); g_signal_connect (window, "configure-event", G_CALLBACK (util_state_window_configure_event_cb), NULL); util_state_restore_window (window, name); } void dh_util_state_manage_paned (GtkPaned *paned, const gchar *name) { gchar *key; gint position; util_state_setup_widget (GTK_WIDGET (paned), name); key = util_state_get_key (name, "position"); if (ige_conf_get_int (ige_conf_get (), key, &position)) { gtk_paned_set_position (paned, position); } g_free (key); g_signal_connect (paned, "notify::position", G_CALLBACK (util_state_paned_changed_cb), NULL); } GSList * dh_util_state_load_books_disabled (void) { gchar *key; GSList *books_disabled = NULL; key = util_state_get_key ("main/contents", "books_disabled"); ige_conf_get_string_list (ige_conf_get (), key, &books_disabled); g_free(key); return books_disabled; } void dh_util_state_store_books_disabled (GSList *books_disabled) { gchar *key; key = util_state_get_key ("main/contents", "books_disabled"); ige_conf_set_string_list (ige_conf_get (), key, books_disabled); g_free(key); } static gboolean util_state_notebook_timeout_cb (gpointer notebook) { DhUtilStateItem *item; item = g_object_get_data (notebook, "dh-util-state"); if (item) { GtkWidget *page; const gchar *page_name; item->timeout_id = 0; page = gtk_notebook_get_nth_page ( notebook, gtk_notebook_get_current_page (notebook)); page_name = dh_util_state_get_notebook_page_name (page); if (page_name) { gchar *key; key = util_state_get_key (item->name, "selected_tab"); ige_conf_set_string (ige_conf_get (), key, page_name); g_free (key); } } return FALSE; } static void util_state_notebook_switch_page_cb (GtkWidget *notebook, gpointer page, guint page_num, gpointer user_data) { util_state_schedule_save (notebook, util_state_notebook_timeout_cb); } void dh_util_state_set_notebook_page_name (GtkWidget *page, const gchar *page_name) { g_object_set_data_full (G_OBJECT (page), "dh-util-state-tab-name", g_strdup (page_name), g_free); } const gchar * dh_util_state_get_notebook_page_name (GtkWidget *page) { return g_object_get_data (G_OBJECT (page), "dh-util-state-tab-name"); } void dh_util_state_manage_notebook (GtkNotebook *notebook, const gchar *name, const gchar *default_tab) { gchar *key; gchar *tab; gint i; util_state_setup_widget (GTK_WIDGET (notebook), name); key = util_state_get_key (name, "selected_tab"); if (!ige_conf_get_string (ige_conf_get (), key, &tab)) { tab = g_strdup (default_tab); } g_free (key); for (i = 0; i < gtk_notebook_get_n_pages (notebook); i++) { GtkWidget *page; const gchar *page_name; page = gtk_notebook_get_nth_page (notebook, i); page_name = dh_util_state_get_notebook_page_name (page); if (page_name && strcmp (page_name, tab) == 0) { gtk_notebook_set_current_page (notebook, i); gtk_widget_grab_focus (page); break; } } g_free (tab); g_signal_connect (notebook, "switch-page", G_CALLBACK (util_state_notebook_switch_page_cb), NULL); } static gboolean split_font_string (const gchar *name_and_size, gchar **name, gdouble *size) { PangoFontDescription *desc; PangoFontMask mask; gboolean retval = FALSE; desc = pango_font_description_from_string (name_and_size); if (!desc) { return FALSE; } mask = (PANGO_FONT_MASK_FAMILY | PANGO_FONT_MASK_SIZE); if ((pango_font_description_get_set_fields (desc) & mask) == mask) { *size = PANGO_PIXELS (pango_font_description_get_size (desc)); *name = g_strdup (pango_font_description_get_family (desc)); retval = TRUE; } pango_font_description_free (desc); return retval; } #define DH_CONF_PATH "/apps/devhelp" #define DH_CONF_USE_SYSTEM_FONTS DH_CONF_PATH "/ui/use_system_fonts" #define DH_CONF_VARIABLE_FONT DH_CONF_PATH "/ui/variable_font" #define DH_CONF_FIXED_FONT DH_CONF_PATH "/ui/fixed_font" #define DH_CONF_SYSTEM_VARIABLE_FONT "/desktop/gnome/interface/font_name" #define DH_CONF_SYSTEM_FIXED_FONT "/desktop/gnome/interface/monospace_font_name" void dh_util_font_get_variable (gchar **name, gdouble *size, gboolean use_system_fonts) { IgeConf *conf; gchar *name_and_size; conf = ige_conf_get (); if (use_system_fonts) { #ifdef GDK_WINDOWING_QUARTZ name_and_size = g_strdup ("Lucida Grande 14"); #else ige_conf_get_string (conf, DH_CONF_SYSTEM_VARIABLE_FONT, &name_and_size); #endif } else { ige_conf_get_string (conf, DH_CONF_VARIABLE_FONT, &name_and_size); } if (!split_font_string (name_and_size, name, size)) { *name = g_strdup ("sans"); *size = 12; } g_free (name_and_size); } void dh_util_font_get_fixed (gchar **name, gdouble *size, gboolean use_system_fonts) { IgeConf *conf; gchar *name_and_size; conf = ige_conf_get (); if (use_system_fonts) { #ifdef GDK_WINDOWING_QUARTZ name_and_size = g_strdup ("Monaco 14"); #else ige_conf_get_string (conf, DH_CONF_SYSTEM_FIXED_FONT, &name_and_size); #endif } else { ige_conf_get_string (conf, DH_CONF_FIXED_FONT, &name_and_size); } if (!split_font_string (name_and_size, name, size)) { *name = g_strdup ("monospace"); *size = 12; } g_free (name_and_size); } static void view_destroy_cb (GtkWidget *view, gpointer user_data) { views = g_list_remove (views, view); } static void view_setup_fonts (WebKitWebView *view) { IgeConf *conf; WebKitWebSettings *settings; gboolean use_system_fonts; gchar *variable_name; gdouble variable_size; gchar *fixed_name; gdouble fixed_size; conf = ige_conf_get (); settings = webkit_web_view_get_settings (WEBKIT_WEB_VIEW (view)); ige_conf_get_bool (conf, DH_CONF_USE_SYSTEM_FONTS, &use_system_fonts); dh_util_font_get_variable (&variable_name, &variable_size, use_system_fonts); dh_util_font_get_fixed (&fixed_name, &fixed_size, use_system_fonts); g_object_set (settings, "monospace-font-family", fixed_name, "default-monospace-font-size", (guint) fixed_size, "sans-serif-font-family", variable_name, "serif-font-family", variable_name, "default-font-size", (guint) variable_size, NULL); g_free (variable_name); g_free (fixed_name); } static void font_notify_cb (IgeConf *conf, const gchar *path, gpointer user_data) { GList *l; for (l = views; l; l = l->next) { view_setup_fonts (l->data); } } void dh_util_font_add_web_view (WebKitWebView *view) { static gboolean setup; if (!setup) { IgeConf *conf; conf = ige_conf_get (); ige_conf_notify_add (conf, DH_CONF_USE_SYSTEM_FONTS, font_notify_cb, NULL); ige_conf_notify_add (conf, DH_CONF_SYSTEM_VARIABLE_FONT, font_notify_cb, NULL); ige_conf_notify_add (conf, DH_CONF_SYSTEM_FIXED_FONT, font_notify_cb, NULL); ige_conf_notify_add (conf, DH_CONF_VARIABLE_FONT, font_notify_cb, NULL); ige_conf_notify_add (conf, DH_CONF_FIXED_FONT, font_notify_cb, NULL); setup = TRUE; } views = g_list_prepend (views, view); g_signal_connect (view, "destroy", G_CALLBACK (view_destroy_cb), NULL); view_setup_fonts (view); } gint dh_util_cmp_book (DhLink *a, DhLink *b) { const gchar *name_a; const gchar *name_b; gchar *name_a_casefold; gchar *name_b_casefold; int rc; name_a = dh_link_get_name (a); if (!name_a) { name_a = ""; } name_b = dh_link_get_name (b); if (!name_b) { name_b = ""; } if (g_ascii_strncasecmp (name_a, "the ", 4) == 0) { name_a += 4; } if (g_ascii_strncasecmp (name_b, "the ", 4) == 0) { name_b += 4; } name_a_casefold = g_utf8_casefold (name_a, -1); name_b_casefold = g_utf8_casefold (name_b, -1); rc = strcmp (name_a_casefold, name_b_casefold); g_free (name_a_casefold); g_free (name_b_casefold); return rc; } geany-plugins-1.27/devhelp/devhelp/Makefile.am0000644000175000017500000000346112671261352021636 0ustar00frlanfrlan00000000000000noinst_LTLIBRARIES = libdevhelp-2.la dh_headers = \ dh-assistant.h \ dh-assistant-view.h \ dh-base.h \ dh-book-manager.h \ dh-book.h \ dh-book-tree.h \ dh-error.h \ dh-keyword-model.h \ dh-link.h \ dh-search.h \ dh-window.h dh-enum-types.h: dh-enum-types.h.template $(dh_headers) $(GLIB_MKENUMS) $(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template dh-enum-types.h.template $(dh_headers)) > $@ dh-enum-types.c: dh-enum-types.c.template $(dh_headers) $(GLIB_MKENUMS) $(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template dh-enum-types.c.template $(dh_headers)) > $@ BUILT_SOURCES = \ dh-marshal.h \ dh-marshal.c \ dh-enum-types.h \ dh-enum-types.c EXTRA_DIST = \ dh-marshal.list \ dh-enum-types.c.template \ dh-enum-types.h.template libdevhelp_2_la_SOURCES = \ dh-assistant.c \ dh-assistant-view.c \ dh-base.c \ dh-book.c \ dh-book-manager.c \ dh-book-tree.c \ dh-enum-types.c \ dh-enum-types.h \ dh-error.c \ dh-keyword-model.c \ dh-link.c \ dh-marshal.c \ dh-marshal.h \ dh-parser.c \ dh-parser.h \ dh-preferences.c \ dh-preferences.h \ dh-search.c \ dh-util.c \ dh-util.h \ dh-window.c \ eggfindbar.c \ eggfindbar.h \ ige-conf.c \ ige-conf-gconf.c \ ige-conf.h \ ige-conf-private.h \ $(dh_headers) libdevhelp_2_la_CPPFLAGS = \ -I$(top_srcdir) \ -DLOCALEDIR=\""$(datadir)/locale"\" \ -DDATADIR=\""$(datadir)"\" \ -DG_LOG_DOMAIN=\"Devhelp\" \ $(DEVHELP_CPPFLAGS) libdevhelp_2_la_CFLAGS = \ $(DEVHELP_CFLAGS) libdevhelp_2_la_LIBADD = \ $(DEVHELP_LIBS) libdevhelp_2_la_LDFLAGS = \ -no-undefined dh-marshal.h: dh-marshal.list $(AM_V_GEN) $(GLIB_GENMARSHAL) $< --header --prefix=_dh_marshal dh-marshal.list > $@ dh-marshal.c: dh-marshal.list $(AM_V_GEN) echo "#include \"dh-marshal.h\"" > $@ && \ $(GLIB_GENMARSHAL) $< --body --prefix=_dh_marshal dh-marshal.list >> $@ geany-plugins-1.27/devhelp/devhelp/dh-error.c0000644000175000017500000000214612671261352021467 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include "dh-error.h" GQuark dh_error_quark (void) { static GQuark q = 0; if (q == 0) { q = g_quark_from_static_string ("dh-error-quark"); } return q; } geany-plugins-1.27/devhelp/devhelp/eggfindbar.h0000644000175000017500000000616412671261352022046 0ustar00frlanfrlan00000000000000/* Copyright (C) 2004 Red Hat, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __EGG_FIND_BAR_H__ #define __EGG_FIND_BAR_H__ #include G_BEGIN_DECLS #define EGG_TYPE_FIND_BAR (egg_find_bar_get_type ()) #define EGG_FIND_BAR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), EGG_TYPE_FIND_BAR, EggFindBar)) #define EGG_FIND_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_FIND_BAR, EggFindBarClass)) #define EGG_IS_FIND_BAR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), EGG_TYPE_FIND_BAR)) #define EGG_IS_FIND_BAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_FIND_BAR)) #define EGG_FIND_BAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_FIND_BAR, EggFindBarClass)) typedef struct _EggFindBar EggFindBar; typedef struct _EggFindBarClass EggFindBarClass; typedef struct _EggFindBarPrivate EggFindBarPrivate; struct _EggFindBar { GtkToolbar parent; /*< private >*/ EggFindBarPrivate *priv; }; struct _EggFindBarClass { GtkToolbarClass parent_class; void (* next) (EggFindBar *find_bar); void (* previous) (EggFindBar *find_bar); void (* close) (EggFindBar *find_bar); void (* scroll) (EggFindBar *find_bar, GtkScrollType* scroll); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); }; GType egg_find_bar_get_type (void) G_GNUC_CONST; GtkWidget *egg_find_bar_new (void); void egg_find_bar_set_search_string (EggFindBar *find_bar, const char *search_string); const char* egg_find_bar_get_search_string (EggFindBar *find_bar); void egg_find_bar_set_case_sensitive (EggFindBar *find_bar, gboolean case_sensitive); gboolean egg_find_bar_get_case_sensitive (EggFindBar *find_bar); void egg_find_bar_get_all_matches_color (EggFindBar *find_bar, GdkColor *color); void egg_find_bar_get_current_match_color (EggFindBar *find_bar, GdkColor *color); void egg_find_bar_set_status_text (EggFindBar *find_bar, const char *text); G_END_DECLS #endif /* __EGG_FIND_BAR_H__ */ geany-plugins-1.27/devhelp/devhelp/ige-conf.h0000644000175000017500000000754112671261352021445 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __IGE_CONF_H__ #define __IGE_CONF_H__ #include G_BEGIN_DECLS #define IGE_TYPE_CONF (ige_conf_get_type ()) #define IGE_CONF(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), IGE_TYPE_CONF, IgeConf)) #define IGE_CONF_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), IGE_TYPE_CONF, IgeConfClass)) #define IGE_IS_CONF(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), IGE_TYPE_CONF)) #define IGE_IS_CONF_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), IGE_TYPE_CONF)) #define IGE_CONF_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), IGE_TYPE_CONF, IgeConfClass)) typedef struct _IgeConf IgeConf; typedef struct _IgeConfClass IgeConfClass; struct _IgeConf { GObject parent_instance; }; struct _IgeConfClass { GObjectClass parent_class; }; typedef void (*IgeConfNotifyFunc) (IgeConf *conf, const gchar *key, gpointer user_data); GType ige_conf_get_type (void); IgeConf *ige_conf_get (void); void ige_conf_add_defaults (IgeConf *conf, const gchar *path); guint ige_conf_notify_add (IgeConf *conf, const gchar *key, IgeConfNotifyFunc func, gpointer data); gboolean ige_conf_notify_remove (IgeConf *conf, guint id); gboolean ige_conf_set_int (IgeConf *conf, const gchar *key, gint value); gboolean ige_conf_get_int (IgeConf *conf, const gchar *key, gint *value); gboolean ige_conf_set_bool (IgeConf *conf, const gchar *key, gboolean value); gboolean ige_conf_get_bool (IgeConf *conf, const gchar *key, gboolean *value); gboolean ige_conf_set_string (IgeConf *conf, const gchar *key, const gchar *value); gboolean ige_conf_get_string (IgeConf *conf, const gchar *key, gchar **value); gboolean ige_conf_set_string_list (IgeConf *conf, const gchar *key, GSList *value); gboolean ige_conf_get_string_list (IgeConf *conf, const gchar *key, GSList **value); G_END_DECLS #endif /* __IGE_CONF_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-enum-types.c.template0000644000175000017500000000164012671261352024254 0ustar00frlanfrlan00000000000000/*** BEGIN file-header ***/ #include "dh-enum-types.h" #include "dh-assistant.h" #include "dh-assistant-view.h" #include "dh-base.h" #include "dh-book-manager.h" #include "dh-book.h" #include "dh-book-tree.h" #include "dh-error.h" #include "dh-keyword-model.h" #include "dh-link.h" #include "dh-search.h" #include "dh-window.h" /*** END file-header ***/ /*** BEGIN file-production ***/ /*** END file-production ***/ /*** BEGIN value-header ***/ GType @enum_name@_get_type (void) { static GType the_type = 0; if (the_type == 0) { static const G@Type@Value values[] = { /*** END value-header ***/ /*** BEGIN value-production ***/ { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, /*** END value-production ***/ /*** BEGIN value-tail ***/ { 0, NULL, NULL } }; the_type = g_@type@_register_static ( g_intern_static_string ("@EnumName@"), values); } return the_type; } /*** END value-tail ***/ geany-plugins-1.27/devhelp/devhelp/ige-conf.c0000644000175000017500000002306412671261352021436 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include "ige-conf-private.h" typedef struct { GString *text; gchar *current_key; gchar *current_value; IgeConfType current_type; GList *defaults; } DefaultData; #define BYTES_PER_READ 4096 static void parser_start_cb (GMarkupParseContext *context, const gchar *node_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { DefaultData *data = user_data; if (g_ascii_strcasecmp (node_name, "applyto") == 0) { data->text = g_string_new (NULL); } else if (g_ascii_strcasecmp (node_name, "type") == 0) { data->text = g_string_new (NULL); } else if (g_ascii_strcasecmp (node_name, "default") == 0) { data->text = g_string_new (NULL); } } static void parser_end_cb (GMarkupParseContext *context, const gchar *node_name, gpointer user_data, GError **error) { DefaultData *data = user_data; if (g_ascii_strcasecmp (node_name, "schema") == 0) { IgeConfDefaultItem *item; item = g_slice_new0 (IgeConfDefaultItem); item->key = data->current_key; item->type = data->current_type; switch (item->type) { case IGE_CONF_TYPE_INT: case IGE_CONF_TYPE_STRING: item->value = g_strdup (data->current_value); break; case IGE_CONF_TYPE_BOOLEAN: if (strcmp (data->current_value, "true") == 0) { item->value = g_strdup ("YES"); } else { item->value = g_strdup ("NO"); } break; } data->defaults = g_list_prepend (data->defaults, item); data->current_key = NULL; g_free (data->current_value); data->current_value = NULL; } else if (g_ascii_strcasecmp (node_name, "applyto") == 0) { data->current_key = g_string_free (data->text, FALSE); data->text = NULL; } else if (g_ascii_strcasecmp (node_name, "type") == 0) { gchar *str; str = g_string_free (data->text, FALSE); if (strcmp (str, "int") == 0) { data->current_type = IGE_CONF_TYPE_INT; } else if (strcmp (str, "bool") == 0) { data->current_type = IGE_CONF_TYPE_BOOLEAN; } else if (strcmp (str, "string") == 0) { data->current_type = IGE_CONF_TYPE_STRING; } g_free (str); data->text = NULL; } else if (g_ascii_strcasecmp (node_name, "default") == 0) { data->current_value = g_string_free (data->text, FALSE); data->text = NULL; } } static void parser_text_cb (GMarkupParseContext *context, const gchar *text, gsize text_len, gpointer user_data, GError **error) { DefaultData *data = user_data; if (data->text) { g_string_append_len (data->text, text, text_len); } } static void parser_error_cb (GMarkupParseContext *context, GError *error, gpointer user_data) { g_warning ("Error: %s\n", error->message); } GList * _ige_conf_defaults_read_file (const gchar *path, GError **error) { DefaultData data; GMarkupParser *parser; GMarkupParseContext *context; GIOChannel *io = NULL; gchar buf[BYTES_PER_READ]; io = g_io_channel_new_file (path, "r", error); if (!io) { return NULL; } parser = g_new0 (GMarkupParser, 1); parser->start_element = parser_start_cb; parser->end_element = parser_end_cb; parser->text = parser_text_cb; parser->error = parser_error_cb; memset (&data, 0, sizeof (DefaultData)); context = g_markup_parse_context_new (parser, 0, &data, NULL); while (TRUE) { GIOStatus io_status; gsize bytes_read; io_status = g_io_channel_read_chars (io, buf, BYTES_PER_READ, &bytes_read, error); if (io_status == G_IO_STATUS_ERROR) { goto exit; } if (io_status != G_IO_STATUS_NORMAL) { break; } g_markup_parse_context_parse (context, buf, bytes_read, error); if (error != NULL && *error != NULL) { goto exit; } if (bytes_read < BYTES_PER_READ) { break; } } exit: g_io_channel_unref (io); g_markup_parse_context_free (context); g_free (parser); return data.defaults; } void _ige_conf_defaults_free_list (GList *defaults) { GList *l; for (l = defaults; l; l = l->next) { IgeConfDefaultItem *item = l->data; g_free (item->value); g_slice_free (IgeConfDefaultItem, item); } g_list_free (defaults); } gchar * _ige_conf_defaults_get_root (GList *defaults) { GList *l; gchar *root; gchar **strv_prev = NULL; gint i; gint last_common = G_MAXINT; for (l = defaults; l; l = l->next) { IgeConfDefaultItem *item = l->data; gchar **strv; strv = g_strsplit (item->key, "/", 0); if (strv_prev == NULL) { strv_prev = strv; continue; } i = 0; while (strv[i] && strv_prev[i] && i < last_common) { if (strcmp (strv[i], strv_prev[i]) != 0) { last_common = i; break; } i++; } g_strfreev (strv_prev); strv_prev = strv; } if (strv_prev) { GString *str; str = g_string_new (NULL); i = 0; while (strv_prev[i] && i < last_common) { if (strv_prev[i][0] != '\0') { g_string_append_c (str, '/'); g_string_append (str, strv_prev[i]); } i++; } root = g_string_free (str, FALSE); g_strfreev (strv_prev); } else { root = g_strdup ("/"); } return root; } static IgeConfDefaultItem * defaults_get_item (GList *defaults, const gchar *key) { GList *l; for (l = defaults; l; l = l->next) { IgeConfDefaultItem *item = l->data; if (strcmp (item->key, key) == 0) { return item; } } return NULL; } const gchar * _ige_conf_defaults_get_string (GList *defaults, const gchar *key) { IgeConfDefaultItem *item; item = defaults_get_item (defaults, key); if (item) { return item->value; } return NULL; } gint _ige_conf_defaults_get_int (GList *defaults, const gchar *key) { IgeConfDefaultItem *item; item = defaults_get_item (defaults, key); if (item) { return strtol (item->value, NULL, 10); } return 0; } gboolean _ige_conf_defaults_get_bool (GList *defaults, const gchar *key) { IgeConfDefaultItem *item; item = defaults_get_item (defaults, key); if (item) { if (strcmp (item->value, "false") == 0) { return FALSE; } else if (strcmp (item->value, "true") == 0) { return TRUE; } } return FALSE; } geany-plugins-1.27/devhelp/devhelp/dh-book-tree.h0000644000175000017500000000410212671261352022224 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2001 Mikael Hallendal * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_BOOK_TREE_H__ #define __DH_BOOK_TREE_H__ #include #include "dh-link.h" #include "dh-book-manager.h" G_BEGIN_DECLS #define DH_TYPE_BOOK_TREE (dh_book_tree_get_type ()) #define DH_BOOK_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DH_TYPE_BOOK_TREE, DhBookTree)) #define DH_BOOK_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DH_TYPE_BOOK_TREE, DhBookTreeClass)) #define DH_IS_BOOK_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DH_TYPE_BOOK_TREE)) #define DH_IS_BOOK_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), DH_TYPE_BOOK_TREE)) typedef struct _DhBookTree DhBookTree; typedef struct _DhBookTreeClass DhBookTreeClass; struct _DhBookTree { GtkTreeView parent_instance; }; struct _DhBookTreeClass { GtkTreeViewClass parent_class; }; GType dh_book_tree_get_type (void) G_GNUC_CONST; GtkWidget * dh_book_tree_new (DhBookManager *book_manager); void dh_book_tree_select_uri (DhBookTree *book_tree, const gchar *uri); const gchar *dh_book_tree_get_selected_book_title (DhBookTree *tree); G_END_DECLS #endif /* __DH_BOOK_TREE_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-assistant-view.h0000644000175000017500000000461612671261352023330 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2008 Sven Herzberg * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ #ifndef __DH_ASSISTANT_VIEW_H__ #define __DH_ASSISTANT_VIEW_H__ #include #include "dh-base.h" #include "dh-link.h" G_BEGIN_DECLS #define DH_TYPE_ASSISTANT_VIEW (dh_assistant_view_get_type ()) #define DH_ASSISTANT_VIEW(i) (G_TYPE_CHECK_INSTANCE_CAST ((i), DH_TYPE_ASSISTANT_VIEW, DhAssistantView)) #define DH_ASSISTANT_VIEW_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), DH_TYPE_ASSISTANT_VIEW, DhAssistantViewClass)) #define DH_IS_ASSISTANT_VIEW(i) (G_TYPE_CHECK_INSTANCE_TYPE ((i), DH_TYPE_ASSISTANT_VIEW)) #define DH_IS_ASSISTANT_VIEW_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), DH_ASSISTANT_VIEW)) #define DH_ASSISTANT_VIEW_GET_CLASS(i) (G_TYPE_INSTANCE_GET_CLASS ((i), DH_TYPE_ASSISTANT_VIEW, DhAssistantView)) typedef struct _DhAssistantView DhAssistantView; typedef struct _DhAssistantViewClass DhAssistantViewClass; struct _DhAssistantView { WebKitWebView parent_instance; }; struct _DhAssistantViewClass { WebKitWebViewClass parent_class; }; GType dh_assistant_view_get_type (void) G_GNUC_CONST; GtkWidget* dh_assistant_view_new (void); gboolean dh_assistant_view_search (DhAssistantView *view, const gchar *str); DhBase* dh_assistant_view_get_base (DhAssistantView *view); void dh_assistant_view_set_base (DhAssistantView *view, DhBase *base); gboolean dh_assistant_view_set_link (DhAssistantView *view, DhLink *link); G_END_DECLS #endif /* __DH_ASSISTANT_VIEW_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-book-tree.c0000644000175000017500000002436712671261352022236 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2001-2003 Mikael Hallendal * Copyright (C) 2003 CodeFactory AB * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include #include "dh-marshal.h" #include "dh-book-tree.h" #include "dh-book.h" typedef struct { const gchar *uri; gboolean found; GtkTreeIter iter; GtkTreePath *path; } FindURIData; typedef struct { GtkTreeStore *store; DhBookManager *book_manager; DhLink *selected_link; } DhBookTreePriv; static void dh_book_tree_class_init (DhBookTreeClass *klass); static void dh_book_tree_init (DhBookTree *tree); static void book_tree_add_columns (DhBookTree *tree); static void book_tree_setup_selection (DhBookTree *tree); static void book_tree_populate_tree (DhBookTree *tree); static void book_tree_insert_node (DhBookTree *tree, GNode *node, GtkTreeIter *parent_iter); static void book_tree_selection_changed_cb (GtkTreeSelection *selection, DhBookTree *tree); enum { LINK_SELECTED, LAST_SIGNAL }; enum { COL_TITLE, COL_LINK, COL_WEIGHT, N_COLUMNS }; G_DEFINE_TYPE (DhBookTree, dh_book_tree, GTK_TYPE_TREE_VIEW); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, DH_TYPE_BOOK_TREE, DhBookTreePriv); static gint signals[LAST_SIGNAL] = { 0 }; static void book_tree_finalize (GObject *object) { DhBookTreePriv *priv = GET_PRIVATE (object); g_object_unref (priv->store); g_object_unref (priv->book_manager); G_OBJECT_CLASS (dh_book_tree_parent_class)->finalize (object); } static void dh_book_tree_class_init (DhBookTreeClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = book_tree_finalize; signals[LINK_SELECTED] = g_signal_new ("link-selected", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, _dh_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); g_type_class_add_private (klass, sizeof (DhBookTreePriv)); } static void dh_book_tree_init (DhBookTree *tree) { DhBookTreePriv *priv; priv = GET_PRIVATE (tree); priv->store = gtk_tree_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_POINTER, PANGO_TYPE_WEIGHT); priv->selected_link = NULL; gtk_tree_view_set_model (GTK_TREE_VIEW (tree), GTK_TREE_MODEL (priv->store)); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree), FALSE); book_tree_add_columns (tree); book_tree_setup_selection (tree); } static void book_tree_add_columns (DhBookTree *tree) { GtkCellRenderer *cell; GtkTreeViewColumn *column; column = gtk_tree_view_column_new (); cell = gtk_cell_renderer_text_new (); g_object_set (cell, "ellipsize", PANGO_ELLIPSIZE_END, NULL); gtk_tree_view_column_pack_start (column, cell, TRUE); gtk_tree_view_column_set_attributes (column, cell, "text", COL_TITLE, "weight", COL_WEIGHT, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column); } static void book_tree_setup_selection (DhBookTree *tree) { GtkTreeSelection *selection; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); g_signal_connect (selection, "changed", G_CALLBACK (book_tree_selection_changed_cb), tree); } static void book_tree_populate_tree (DhBookTree *tree) { DhBookTreePriv *priv = GET_PRIVATE (tree); GList *l; gtk_tree_store_clear (priv->store); for (l = dh_book_manager_get_books (priv->book_manager); l; l = g_list_next (l)) { DhBook *book = DH_BOOK (l->data); GNode *node; node = dh_book_get_tree (book); while(node) { book_tree_insert_node (tree, node, NULL); node = g_node_next_sibling (node); } } } static void book_manager_disabled_book_list_changed_cb (DhBookManager *book_manager, gpointer user_data) { DhBookTree *tree = user_data; book_tree_populate_tree (tree); } static void book_tree_insert_node (DhBookTree *tree, GNode *node, GtkTreeIter *parent_iter) { DhBookTreePriv *priv = GET_PRIVATE (tree); DhLink *link; GtkTreeIter iter; PangoWeight weight; GNode *child; link = node->data; gtk_tree_store_append (priv->store, &iter, parent_iter); if (dh_link_get_link_type (link) == DH_LINK_TYPE_BOOK) { weight = PANGO_WEIGHT_BOLD; } else { weight = PANGO_WEIGHT_NORMAL; } gtk_tree_store_set (priv->store, &iter, COL_TITLE, dh_link_get_name (link), COL_LINK, link, COL_WEIGHT, weight, -1); for (child = g_node_first_child (node); child; child = g_node_next_sibling (child)) { book_tree_insert_node (tree, child, &iter); } } static void book_tree_selection_changed_cb (GtkTreeSelection *selection, DhBookTree *tree) { DhBookTreePriv *priv = GET_PRIVATE (tree); GtkTreeIter iter; if (gtk_tree_selection_get_selected (selection, NULL, &iter)) { DhLink *link; gtk_tree_model_get (GTK_TREE_MODEL (priv->store), &iter, COL_LINK, &link, -1); if (link != priv->selected_link) { g_signal_emit (tree, signals[LINK_SELECTED], 0, link); } priv->selected_link = link; } } GtkWidget * dh_book_tree_new (DhBookManager *book_manager) { DhBookTree *tree; DhBookTreePriv *priv; GtkTreeSelection *selection; GtkTreeIter iter; DhLink *link; tree = g_object_new (DH_TYPE_BOOK_TREE, NULL); priv = GET_PRIVATE (tree); priv->book_manager = g_object_ref (book_manager); g_signal_connect (priv->book_manager, "disabled-book-list-updated", G_CALLBACK (book_manager_disabled_book_list_changed_cb), tree); book_tree_populate_tree (tree); /* Mark the first item as selected, or it would get automatically * selected when the treeview will get focus; but that's not even * enough as a selection changed would still be emitted when there * is no change, hence the manual tracking of selection in * selected_link. * https://bugzilla.gnome.org/show_bug.cgi?id=492206 */ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); g_signal_handlers_block_by_func (selection, book_tree_selection_changed_cb, tree); gtk_tree_model_get_iter_first ( GTK_TREE_MODEL (priv->store), &iter); gtk_tree_model_get (GTK_TREE_MODEL (priv->store), &iter, COL_LINK, &link, -1); priv->selected_link = link; gtk_tree_selection_select_iter (selection, &iter); g_signal_handlers_unblock_by_func (selection, book_tree_selection_changed_cb, tree); return GTK_WIDGET (tree); } static gboolean book_tree_find_uri_foreach (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, FindURIData *data) { DhLink *link; gchar *link_uri; gtk_tree_model_get (model, iter, COL_LINK, &link, -1); link_uri = dh_link_get_uri (link); if (g_str_has_prefix (data->uri, link_uri)) { data->found = TRUE; data->iter = *iter; data->path = gtk_tree_path_copy (path); } g_free (link_uri); return data->found; } void dh_book_tree_select_uri (DhBookTree *tree, const gchar *uri) { DhBookTreePriv *priv = GET_PRIVATE (tree); GtkTreeSelection *selection; FindURIData data; data.found = FALSE; data.uri = uri; gtk_tree_model_foreach (GTK_TREE_MODEL (priv->store), (GtkTreeModelForeachFunc) book_tree_find_uri_foreach, &data); if (!data.found) { return; } selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); g_signal_handlers_block_by_func (selection, book_tree_selection_changed_cb, tree); gtk_tree_view_expand_to_path (GTK_TREE_VIEW (tree), data.path); gtk_tree_selection_select_iter (selection, &data.iter); gtk_tree_view_set_cursor (GTK_TREE_VIEW (tree), data.path, NULL, 0); g_signal_handlers_unblock_by_func (selection, book_tree_selection_changed_cb, tree); gtk_tree_path_free (data.path); } const gchar * dh_book_tree_get_selected_book_title (DhBookTree *tree) { GtkTreeSelection *selection; GtkTreeModel *model; GtkTreeIter iter; GtkTreePath *path; DhLink *link; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); if (!gtk_tree_selection_get_selected (selection, &model, &iter)) { return NULL; } path = gtk_tree_model_get_path (model, &iter); /* Get the book node for this link. */ while (1) { if (gtk_tree_path_get_depth (path) <= 1) { break; } gtk_tree_path_up (path); } gtk_tree_model_get_iter (model, &iter, path); gtk_tree_path_free (path); gtk_tree_model_get (model, &iter, COL_LINK, &link, -1); return dh_link_get_name (link); } geany-plugins-1.27/devhelp/devhelp/dh-search.h0000644000175000017500000000416612671261352021614 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2001-2002 CodeFactory AB * Copyright (C) 2001-2002 Mikael Hallendal * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_SEARCH_H__ #define __DH_SEARCH_H__ #include #include "dh-link.h" #include "dh-book-manager.h" G_BEGIN_DECLS #define DH_TYPE_SEARCH (dh_search_get_type ()) #define DH_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DH_TYPE_SEARCH, DhSearch)) #define DH_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DH_TYPE_SEARCH, DhSearchClass)) #define DH_IS_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DH_TYPE_SEARCH)) #define DH_IS_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DH_TYPE_SEARCH)) typedef struct _DhSearch DhSearch; typedef struct _DhSearchClass DhSearchClass; struct _DhSearch { GtkVBox parent_instance; }; struct _DhSearchClass { GtkVBoxClass parent_class; /* Signals */ void (*link_selected) (DhSearch *search, DhLink *link); }; GType dh_search_get_type (void); GtkWidget *dh_search_new (DhBookManager *book_manager); void dh_search_set_search_string (DhSearch *search, const gchar *str, const gchar *book_id); G_END_DECLS #endif /* __DH_SEARCH_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-book.c0000644000175000017500000001416512671261352021274 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * Copyright (C) 2004-2008 Imendio AB * Copyright (C) 2010 Lanedo GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include "dh-link.h" #include "dh-parser.h" #include "dh-book.h" /* Structure defining basic contents to store about every book */ typedef struct { /* File path of the book */ gchar *path; /* Enable or disabled? */ gboolean enabled; /* Book name */ gchar *name; /* Book title */ gchar *title; /* Generated book tree */ GNode *tree; /* Generated list of keywords in the book */ GList *keywords; } DhBookPriv; G_DEFINE_TYPE (DhBook, dh_book, G_TYPE_OBJECT); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, DH_TYPE_BOOK, DhBookPriv) static void dh_book_init (DhBook *book); static void dh_book_class_init (DhBookClass *klass); static void unref_node_link (GNode *node, gpointer data); static void book_finalize (GObject *object) { DhBookPriv *priv; priv = GET_PRIVATE (object); if (priv->tree) { g_node_traverse (priv->tree, G_IN_ORDER, G_TRAVERSE_ALL, -1, (GNodeTraverseFunc)unref_node_link, NULL); g_node_destroy (priv->tree); } if (priv->keywords) { g_list_foreach (priv->keywords, (GFunc)dh_link_unref, NULL); g_list_free (priv->keywords); } g_free (priv->title); g_free (priv->path); G_OBJECT_CLASS (dh_book_parent_class)->finalize (object); } static void dh_book_class_init (DhBookClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = book_finalize; g_type_class_add_private (klass, sizeof (DhBookPriv)); } static void dh_book_init (DhBook *book) { DhBookPriv *priv = GET_PRIVATE (book); priv->name = NULL; priv->path = NULL; priv->title = NULL; priv->enabled = TRUE; priv->tree = NULL; priv->keywords = NULL; } static void unref_node_link (GNode *node, gpointer data) { dh_link_unref (node->data); } DhBook * dh_book_new (const gchar *book_path) { DhBookPriv *priv; DhBook *book; GError *error = NULL; g_return_val_if_fail (book_path, NULL); book = g_object_new (DH_TYPE_BOOK, NULL); priv = GET_PRIVATE (book); /* Parse file storing contents in the book struct */ if (!dh_parser_read_file (book_path, &priv->tree, &priv->keywords, &error)) { g_warning ("Failed to read '%s': %s", priv->path, error->message); g_error_free (error); /* Deallocate the book, as we are not going to add it * in the manager */ g_object_unref (book); return NULL; } /* Store path */ priv->path = g_strdup (book_path); /* Setup title */ priv->title = g_strdup (dh_link_get_name ((DhLink *)priv->tree->data)); /* Setup name */ priv->name = g_strdup (dh_link_get_book_id ((DhLink *)priv->tree->data)); return book; } GList * dh_book_get_keywords (DhBook *book) { DhBookPriv *priv; g_return_val_if_fail (DH_IS_BOOK (book), NULL); priv = GET_PRIVATE (book); return priv->enabled ? priv->keywords : NULL; } GNode * dh_book_get_tree (DhBook *book) { DhBookPriv *priv; g_return_val_if_fail (DH_IS_BOOK (book), NULL); priv = GET_PRIVATE (book); return priv->enabled ? priv->tree : NULL; } const gchar * dh_book_get_name (DhBook *book) { DhBookPriv *priv; g_return_val_if_fail (DH_IS_BOOK (book), NULL); priv = GET_PRIVATE (book); return priv->name; } const gchar * dh_book_get_title (DhBook *book) { DhBookPriv *priv; g_return_val_if_fail (DH_IS_BOOK (book), NULL); priv = GET_PRIVATE (book); return priv->title; } gboolean dh_book_get_enabled (DhBook *book) { g_return_val_if_fail (DH_IS_BOOK (book), FALSE); return GET_PRIVATE (book)->enabled; } void dh_book_set_enabled (DhBook *book, gboolean enabled) { g_return_if_fail (DH_IS_BOOK (book)); GET_PRIVATE (book)->enabled = enabled; } gint dh_book_cmp_by_path (const DhBook *a, const DhBook *b) { return ((a && b) ? g_strcmp0 (GET_PRIVATE (a)->path, GET_PRIVATE (b)->path) : -1); } gint dh_book_cmp_by_name (const DhBook *a, const DhBook *b) { return ((a && b) ? g_ascii_strcasecmp (GET_PRIVATE (a)->name, GET_PRIVATE (b)->name) : -1); } gint dh_book_cmp_by_title (const DhBook *a, const DhBook *b) { return ((a && b) ? g_utf8_collate (GET_PRIVATE (a)->title, GET_PRIVATE (b)->title) : -1); } geany-plugins-1.27/devhelp/devhelp/dh-util.h0000644000175000017500000000644412671261352021325 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2001-2002 Mikael Hallendal * Copyright (C) 2004,2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_UTIL_H__ #define __DH_UTIL_H__ #include #include #include "dh-link.h" G_BEGIN_DECLS GtkBuilder * dh_util_builder_get_file (const gchar *filename, const gchar *root, const gchar *domain, const gchar *first_required_widget, ...); void dh_util_builder_connect (GtkBuilder *gui, gpointer user_data, gchar *first_widget, ...); gchar * dh_util_build_data_filename (const gchar *first_part, ...); void dh_util_state_manage_window (GtkWindow *window, const gchar *name); void dh_util_state_manage_paned (GtkPaned *paned, const gchar *name); void dh_util_state_manage_notebook (GtkNotebook *notebook, const gchar *name, const gchar *default_tab); void dh_util_state_set_notebook_page_name (GtkWidget *page, const gchar *page_name); const gchar *dh_util_state_get_notebook_page_name (GtkWidget *page); GSList * dh_util_state_load_books_disabled (void); void dh_util_state_store_books_disabled (GSList *books_disabled); void dh_util_font_get_variable (gchar **name, gdouble *size, gboolean use_system_font); void dh_util_font_get_fixed (gchar **name, gdouble *size, gboolean use_system_font); void dh_util_font_add_web_view (WebKitWebView *view); gint dh_util_cmp_book (DhLink *a, DhLink *b); G_END_DECLS #endif /* __DH_UTIL_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-parser.c0000644000175000017500000005062412671261352021636 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (c) 2002-2003 Mikael Hallendal * Copyright (c) 2002-2003 CodeFactory AB * Copyright (C) 2005,2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include #include #include "dh-error.h" #include "dh-link.h" #include "dh-parser.h" #define NAMESPACE "http://www.devhelp.net/book" #define BYTES_PER_READ 4096 typedef struct { GMarkupParser *m_parser; GMarkupParseContext *context; const gchar *path; /* Top node of book */ GNode *book_node; /* Current sub section node */ GNode *parent; gboolean parsing_chapters; gboolean parsing_keywords; GNode **book_tree; GList **keywords; /* Version 2 uses instead of . */ gint version; } DhParser; static void dh_parser_free (DhParser *parser) { // NOTE: priv->book_tree and priv->keywords do not need to be freed // because they're only used to store the locations for the return // params of dh_parser_read_file() g_markup_parse_context_free (parser->context); g_free (parser->m_parser); g_free (parser); } static void parser_start_node_book (DhParser *parser, GMarkupParseContext *context, const gchar *node_name, const gchar **attribute_names, const gchar **attribute_values, GError **error) { gint i, j; gint line, col; gchar *title = NULL; gchar *base = NULL; const gchar *name = NULL; const gchar *uri = NULL; DhLink *link; if (g_ascii_strcasecmp (node_name, "book") != 0) { g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("Expected '%s', got '%s' at line %d, column %d"), "book", node_name, line, col); return; } for (i = 0; attribute_names[i]; ++i) { const gchar *xmlns; if (g_ascii_strcasecmp (attribute_names[i], "xmlns") == 0) { xmlns = attribute_values[i]; if (g_ascii_strcasecmp (xmlns, NAMESPACE) != 0) { g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("Invalid namespace '%s' at" " line %d, column %d"), xmlns, line, col); return; } } else if (g_ascii_strcasecmp (attribute_names[i], "name") == 0) { name = attribute_values[i]; } else if (g_ascii_strcasecmp (attribute_names[i], "title") == 0) { title = g_strdup(attribute_values[i]); for (j = 0; title[j]; j++) { if (title[j] == '\n') title[j] = ' '; } } else if (g_ascii_strcasecmp (attribute_names[i], "base") == 0) { base = g_strdup (attribute_values[i]); } else if (g_ascii_strcasecmp (attribute_names[i], "link") == 0) { uri = attribute_values[i]; } } if (!title || !name || !uri) { g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("\"title\", \"name\" and \"link\" elements are " "required at line %d, column %d"), line, col); g_free (title); return; } if (!base) { base = g_path_get_dirname (parser->path); } link = dh_link_new (DH_LINK_TYPE_BOOK, base, name, title, NULL, NULL, uri); g_free (base); *parser->keywords = g_list_prepend (*parser->keywords, dh_link_ref (link)); parser->book_node = g_node_new (dh_link_ref (link)); *parser->book_tree = parser->book_node; parser->parent = parser->book_node; g_free (title); dh_link_unref (link); } static void parser_start_node_chapter (DhParser *parser, GMarkupParseContext *context, const gchar *node_name, const gchar **attribute_names, const gchar **attribute_values, GError **error) { gint i; gint line, col; const gchar *name = NULL; const gchar *uri = NULL; DhLink *link; GNode *node; if (g_ascii_strcasecmp (node_name, "sub") != 0) { g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("Expected '%s', got '%s' at line %d, column %d"), "sub", node_name, line, col); return; } for (i = 0; attribute_names[i]; ++i) { if (g_ascii_strcasecmp (attribute_names[i], "name") == 0) { name = attribute_values[i]; } else if (g_ascii_strcasecmp (attribute_names[i], "link") == 0) { uri = attribute_values[i]; } } if (!name || !uri) { g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("\"name\" and \"link\" elements are required " "inside on line %d, column %d"), line, col); return; } link = dh_link_new (DH_LINK_TYPE_PAGE, NULL, NULL, name, parser->book_node->data, NULL, uri); *parser->keywords = g_list_prepend (*parser->keywords, link); node = g_node_new (link); g_node_prepend (parser->parent, node); parser->parent = node; } static void parser_start_node_keyword (DhParser *parser, GMarkupParseContext *context, const gchar *node_name, const gchar **attribute_names, const gchar **attribute_values, GError **error) { gint i; gint line, col; const gchar *name = NULL; const gchar *uri = NULL; const gchar *type = NULL; const gchar *deprecated = NULL; DhLinkType link_type; DhLink *link; gchar *tmp; if (parser->version == 2 && g_ascii_strcasecmp (node_name, "keyword") != 0) { g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("Expected '%s', got '%s' at line %d, column %d"), "keyword", node_name, line, col); return; } else if (parser->version == 1 && g_ascii_strcasecmp (node_name, "function") != 0) { g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("Expected '%s', got '%s' at line %d, column %d"), "function", node_name, line, col); return; } for (i = 0; attribute_names[i]; ++i) { if (g_ascii_strcasecmp (attribute_names[i], "type") == 0) { type = attribute_values[i]; } else if (g_ascii_strcasecmp (attribute_names[i], "name") == 0) { name = attribute_values[i]; } else if (g_ascii_strcasecmp (attribute_names[i], "link") == 0) { uri = attribute_values[i]; } else if (g_ascii_strcasecmp (attribute_names[i], "deprecated") == 0) { deprecated = attribute_values[i]; } } if (!name || !uri) { g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("\"name\" and \"link\" elements are required " "inside '%s' on line %d, column %d"), parser->version == 2 ? "keyword" : "function", line, col); return; } if (parser->version == 2 && !type) { /* Required */ g_markup_parse_context_get_position (context, &line, &col); g_set_error (error, DH_ERROR, DH_ERROR_MALFORMED_BOOK, _("\"type\" element is required " "inside on line %d, column %d"), line, col); return; } if (parser->version == 2) { if (strcmp (type, "function") == 0) { link_type = DH_LINK_TYPE_FUNCTION; } else if (strcmp (type, "struct") == 0) { link_type = DH_LINK_TYPE_STRUCT; } else if (strcmp (type, "macro") == 0) { link_type = DH_LINK_TYPE_MACRO; } else if (strcmp (type, "enum") == 0) { link_type = DH_LINK_TYPE_ENUM; } else if (strcmp (type, "typedef") == 0) { link_type = DH_LINK_TYPE_TYPEDEF; } else { link_type = DH_LINK_TYPE_KEYWORD; } } else { link_type = DH_LINK_TYPE_KEYWORD; } /* Strip out trailing " () or "()". */ if (g_str_has_suffix (name, " ()")) { tmp = g_strndup (name, strlen (name) - 3); if (link_type == DH_LINK_TYPE_KEYWORD) { link_type = DH_LINK_TYPE_FUNCTION; } name = tmp; } else if (g_str_has_suffix (name, "()")) { tmp = g_strndup (name, strlen (name) - 2); /* With old devhelp format, take a guess that this is a * macro. */ if (link_type == DH_LINK_TYPE_KEYWORD) { link_type = DH_LINK_TYPE_MACRO; } name = tmp; } else { tmp = NULL; } /* Strip out prefixing "struct", "union", "enum", to make searching * easier. Also fix up the link type (only applies for old devhelp * format). */ if (g_str_has_prefix (name, "struct ")) { name = name + 7; if (link_type == DH_LINK_TYPE_KEYWORD) { link_type = DH_LINK_TYPE_STRUCT; } } else if (g_str_has_prefix (name, "union ")) { name = name + 6; if (link_type == DH_LINK_TYPE_KEYWORD) { link_type = DH_LINK_TYPE_STRUCT; } } else if (g_str_has_prefix (name, "enum ")) { name = name + 5; if (link_type == DH_LINK_TYPE_KEYWORD) { link_type = DH_LINK_TYPE_ENUM; } } link = dh_link_new (link_type, NULL, NULL, name, parser->book_node->data, parser->parent->data, uri); g_free (tmp); if (deprecated) { dh_link_set_flags ( link, dh_link_get_flags (link) | DH_LINK_FLAGS_DEPRECATED); } *parser->keywords = g_list_prepend (*parser->keywords, link); } static void parser_start_node_cb (GMarkupParseContext *context, const gchar *node_name, const gchar **attribute_names, const gchar **attribute_values, gpointer user_data, GError **error) { DhParser *parser = user_data; if (parser->parsing_keywords) { parser_start_node_keyword (parser, context, node_name, attribute_names, attribute_values, error); return; } else if (parser->parsing_chapters) { parser_start_node_chapter (parser, context, node_name, attribute_names, attribute_values, error); return; } else if (g_ascii_strcasecmp (node_name, "functions") == 0) { parser->parsing_keywords = TRUE; } else if (g_ascii_strcasecmp (node_name, "chapters") == 0) { parser->parsing_chapters = TRUE; } if (!parser->book_node) { parser_start_node_book (parser, context, node_name, attribute_names, attribute_values, error); return; } } static void parser_end_node_cb (GMarkupParseContext *context, const gchar *node_name, gpointer user_data, GError **error) { DhParser *parser = user_data; if (parser->parsing_keywords) { if (g_ascii_strcasecmp (node_name, "functions") == 0) { parser->parsing_keywords = FALSE; } } else if (parser->parsing_chapters) { g_node_reverse_children (parser->parent); if (g_ascii_strcasecmp (node_name, "sub") == 0) { parser->parent = parser->parent->parent; /* Move up in the tree */ } else if (g_ascii_strcasecmp (node_name, "chapters") == 0) { parser->parsing_chapters = FALSE; } } } static void parser_error_cb (GMarkupParseContext *context, GError *error, gpointer user_data) { DhParser *parser = user_data; g_markup_parse_context_free (parser->context); parser->context = NULL; } static gboolean parser_read_gz_file (DhParser *parser, const gchar *path, GError **error) { gchar buf[BYTES_PER_READ]; gzFile file; file = gzopen (path, "r"); if (!file) { g_set_error (error, DH_ERROR, DH_ERROR_FILE_NOT_FOUND, "%s", g_strerror (errno)); return FALSE; } while (TRUE) { gssize bytes_read; bytes_read = gzread (file, buf, BYTES_PER_READ); if (bytes_read == -1) { gint err; const gchar *message; message = gzerror (file, &err); g_set_error (error, DH_ERROR, DH_ERROR_INTERNAL_ERROR, _("Cannot uncompress book '%s': %s"), path, message); return FALSE; } g_markup_parse_context_parse (parser->context, buf, bytes_read, error); if (error != NULL && *error != NULL) { return FALSE; } if (bytes_read < BYTES_PER_READ) { break; } } gzclose (file); return TRUE; } gboolean dh_parser_read_file (const gchar *path, GNode **book_tree, GList **keywords, GError **error) { DhParser *parser; gboolean gz; GIOChannel *io = NULL; gchar buf[BYTES_PER_READ]; gboolean result = TRUE; parser = g_new0 (DhParser, 1); if (g_str_has_suffix (path, ".devhelp2")) { parser->version = 2; gz = FALSE; } else if (g_str_has_suffix (path, ".devhelp")) { parser->version = 1; gz = FALSE; } else if (g_str_has_suffix (path, ".devhelp2.gz")) { parser->version = 2; gz = TRUE; } else { parser->version = 1; gz = TRUE; } parser->m_parser = g_new0 (GMarkupParser, 1); parser->m_parser->start_element = parser_start_node_cb; parser->m_parser->end_element = parser_end_node_cb; parser->m_parser->error = parser_error_cb; parser->context = g_markup_parse_context_new (parser->m_parser, 0, parser, NULL); parser->path = path; parser->book_tree = book_tree; parser->keywords = keywords; if (gz) { if (!parser_read_gz_file (parser, path, error)) { result = FALSE; } goto exit; } else { io = g_io_channel_new_file (path, "r", error); if (!io) { result = FALSE; goto exit; } while (TRUE) { GIOStatus io_status; gsize bytes_read; io_status = g_io_channel_read_chars (io, buf, BYTES_PER_READ, &bytes_read, error); if (io_status == G_IO_STATUS_ERROR) { result = FALSE; goto exit; } if (io_status != G_IO_STATUS_NORMAL) { break; } g_markup_parse_context_parse (parser->context, buf, bytes_read, error); if (error != NULL && *error != NULL) { result = FALSE; goto exit; } if (bytes_read < BYTES_PER_READ) { break; } } } exit: if (io) { g_io_channel_unref (io); } dh_parser_free (parser); return result; } geany-plugins-1.27/devhelp/devhelp/dh-book-manager.c0000644000175000017500000003005312671261352022676 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * Copyright (C) 2004-2008 Imendio AB * Copyright (C) 2010 Lanedo GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include "dh-link.h" #include "dh-util.h" #include "dh-book.h" #include "dh-book-manager.h" #include "dh-marshal.h" typedef struct { /* The list of all DhBooks found in the system */ GList *books; } DhBookManagerPriv; enum { DISABLED_BOOK_LIST_UPDATED, LAST_SIGNAL }; static gint signals[LAST_SIGNAL] = { 0 }; G_DEFINE_TYPE (DhBookManager, dh_book_manager, G_TYPE_OBJECT); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, DH_TYPE_BOOK_MANAGER, DhBookManagerPriv) static void dh_book_manager_init (DhBookManager *book_manager); static void dh_book_manager_class_init (DhBookManagerClass *klass); static void book_manager_add_from_filepath (DhBookManager *book_manager, const gchar *book_path); static void book_manager_add_from_dir (DhBookManager *book_manager, const gchar *dir_path); #ifdef GDK_WINDOWING_QUARTZ static void book_manager_add_from_xcode_docset (DhBookManager *book_manager, const gchar *dir_path); #endif static void book_manager_finalize (GObject *object) { DhBookManagerPriv *priv; GList *l; priv = GET_PRIVATE (object); /* Destroy all books */ for (l = priv->books; l; l = g_list_next (l)) { g_object_unref (l->data); } g_list_free (priv->books); G_OBJECT_CLASS (dh_book_manager_parent_class)->finalize (object); } static void dh_book_manager_class_init (DhBookManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = book_manager_finalize; signals[DISABLED_BOOK_LIST_UPDATED] = g_signal_new ("disabled-book-list-updated", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DhBookManagerClass, disabled_book_list_updated), NULL, NULL, _dh_marshal_VOID__VOID, G_TYPE_NONE, 0); g_type_class_add_private (klass, sizeof (DhBookManagerPriv)); } static void dh_book_manager_init (DhBookManager *book_manager) { DhBookManagerPriv *priv = GET_PRIVATE (book_manager); priv->books = NULL; } static void book_manager_clean_list_of_books_disabled (GSList *books_disabled) { GSList *sl; for (sl = books_disabled; sl; sl = g_slist_next (sl)) { g_free (sl->data); } g_slist_free (sl); } static void book_manager_check_status_from_conf (DhBookManager *book_manager) { GSList *books_disabled, *sl; books_disabled = dh_util_state_load_books_disabled (); for (sl = books_disabled; sl; sl = g_slist_next (sl)) { DhBook *book; book = dh_book_manager_get_book_by_name (book_manager, (const gchar *)sl->data); if (book) { dh_book_set_enabled (book, FALSE); } } book_manager_clean_list_of_books_disabled (books_disabled); } static void book_manager_add_books_in_data_dir (DhBookManager *book_manager, const gchar *data_dir) { gchar *dir; dir = g_build_filename (data_dir, "gtk-doc", "html", NULL); book_manager_add_from_dir (book_manager, dir); g_free (dir); dir = g_build_filename (data_dir, "devhelp", "books", NULL); book_manager_add_from_dir (book_manager, dir); g_free (dir); } void dh_book_manager_populate (DhBookManager *book_manager) { const gchar * const * system_dirs; book_manager_add_books_in_data_dir (book_manager, g_get_user_data_dir ()); system_dirs = g_get_system_data_dirs (); while (*system_dirs) { book_manager_add_books_in_data_dir (book_manager, *system_dirs); system_dirs++; } #ifdef GDK_WINDOWING_QUARTZ book_manager_add_from_xcode_docset ( book_manager, "/Library/Developer/Shared/Documentation/DocSets"); #endif /* Once all books are loaded, check enabled status from conf */ book_manager_check_status_from_conf (book_manager); } static gchar * book_manager_get_book_path (const gchar *base_path, const gchar *name) { static const gchar *suffixes[] = { "devhelp2", "devhelp2.gz", "devhelp", "devhelp.gz", NULL }; gchar *tmp; gchar *book_path; guint i; for (i = 0; suffixes[i]; i++) { tmp = g_build_filename (base_path, name, name, NULL); book_path = g_strconcat (tmp, ".", suffixes[i], NULL); g_free (tmp); if (g_file_test (book_path, G_FILE_TEST_EXISTS)) { return book_path;; } g_free (book_path); } return NULL; } static void book_manager_add_from_dir (DhBookManager *book_manager, const gchar *dir_path) { GDir *dir; const gchar *name; g_return_if_fail (book_manager); g_return_if_fail (dir_path); /* Open directory */ dir = g_dir_open (dir_path, 0, NULL); if (!dir) { return; } /* And iterate it */ while ((name = g_dir_read_name (dir)) != NULL) { gchar *book_path; book_path = book_manager_get_book_path (dir_path, name); if (book_path) { /* Add book from filepath */ book_manager_add_from_filepath (book_manager, book_path); g_free (book_path); } } g_dir_close (dir); } #ifdef GDK_WINDOWING_QUARTZ static gboolean seems_docset_dir (const gchar *path) { gchar *tmp; gboolean seems_like_devhelp = FALSE; g_return_val_if_fail (path, FALSE); /* Do some sanity checking on the directory first so we don't have * to go through several hundreds of files in every docset. */ tmp = g_build_filename (path, "style.css", NULL); if (g_file_test (tmp, G_FILE_TEST_EXISTS)) { gchar *tmp; tmp = g_build_filename (path, "index.sgml", NULL); if (g_file_test (tmp, G_FILE_TEST_EXISTS)) { seems_like_devhelp = TRUE; } g_free (tmp); } g_free (tmp); return seems_like_devhelp; } static void book_manager_add_from_xcode_docset (DhBookManager *book_manager, const gchar *dir_path) { GDir *dir; const gchar *name; g_return_if_fail (book_manager); g_return_if_fail (dir_path); if (!seems_docset_dir (dir_path)) { return; } /* Open directory */ dir = g_dir_open (dir_path, 0, NULL); if (!dir) { return; } /* And iterate it, looking for files ending with .devhelp2 */ while ((name = g_dir_read_name (dir)) != NULL) { if (g_strcmp0 (strrchr (name, '.'), ".devhelp2") == 0) { gchar *book_path; book_path = g_build_filename (path, name, NULL); /* Add book from filepath */ book_manager_add_from_filepath (book_manager, book_path); g_free (book_path); } } g_dir_close (dir); } #endif static void book_manager_add_from_filepath (DhBookManager *book_manager, const gchar *book_path) { DhBookManagerPriv *priv; DhBook *book; g_return_if_fail (book_manager); g_return_if_fail (book_path); priv = GET_PRIVATE (book_manager); /* Allocate new book struct */ book = dh_book_new (book_path); /* Check if book with same path was already loaded in the manager */ if (g_list_find_custom (priv->books, book, (GCompareFunc)dh_book_cmp_by_path)) { g_object_unref (book); return; } /* Check if book with same bookname was already loaded in the manager * (we need to force unique book names) */ if (g_list_find_custom (priv->books, book, (GCompareFunc)dh_book_cmp_by_name)) { g_object_unref (book); return; } /* Add the book to the book list */ priv->books = g_list_insert_sorted (priv->books, book, (GCompareFunc)dh_book_cmp_by_title); } GList * dh_book_manager_get_books (DhBookManager *book_manager) { g_return_val_if_fail (book_manager, NULL); return GET_PRIVATE (book_manager)->books; } DhBook * dh_book_manager_get_book_by_name (DhBookManager *book_manager, const gchar *name) { DhBook *book = NULL; GList *l; g_return_val_if_fail (book_manager, NULL); for (l = GET_PRIVATE (book_manager)->books; l && !book; l = g_list_next (l)) { if (g_strcmp0 (name, dh_book_get_name (DH_BOOK (l->data))) == 0) { book = l->data; } } return book; } void dh_book_manager_update (DhBookManager *book_manager) { DhBookManagerPriv *priv; GSList *books_disabled = NULL; GList *l; g_return_if_fail (book_manager); priv = GET_PRIVATE (book_manager); /* Create list of disabled books */ for (l = priv->books; l; l = g_list_next (l)) { DhBook *book = DH_BOOK (l->data); if (!dh_book_get_enabled (book)) { books_disabled = g_slist_append (books_disabled, g_strdup (dh_book_get_name (book))); } } /* Store in conf */ dh_util_state_store_books_disabled (books_disabled); /* Emit signal to notify others */ g_signal_emit (book_manager, signals[DISABLED_BOOK_LIST_UPDATED], 0); book_manager_clean_list_of_books_disabled (books_disabled); } DhBookManager * dh_book_manager_new (void) { return g_object_new (DH_TYPE_BOOK_MANAGER, NULL); } geany-plugins-1.27/devhelp/devhelp/dh-link.c0000644000175000017500000001544412671261352021300 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2001-2002 Mikael Hallendal * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include #include "dh-link.h" struct _DhLink { /* FIXME: Those two could exist only for book to save some * memory. */ gchar *id; gchar *base; gchar *name; gchar *filename; DhLink *book; DhLink *page; guint ref_count; DhLinkType type : 8; DhLinkFlags flags : 8; }; GType dh_link_get_type (void) { static GType type = 0; if (G_UNLIKELY (type == 0)) { type = g_boxed_type_register_static ( "DhLink", (GBoxedCopyFunc) dh_link_ref, (GBoxedFreeFunc) dh_link_unref); } return type; } static void link_free (DhLink *link) { g_free (link->base); g_free (link->id); g_free (link->name); g_free (link->filename); if (link->book) { dh_link_unref (link->book); } if (link->page) { dh_link_unref (link->page); } g_slice_free (DhLink, link); } DhLink * dh_link_new (DhLinkType type, const gchar *base, const gchar *id, const gchar *name, DhLink *book, DhLink *page, const gchar *filename) { DhLink *link; g_return_val_if_fail (name != NULL, NULL); g_return_val_if_fail (filename != NULL, NULL); if (type == DH_LINK_TYPE_BOOK) { g_return_val_if_fail (base != NULL, NULL); g_return_val_if_fail (id != NULL, NULL); } if (type != DH_LINK_TYPE_BOOK && type != DH_LINK_TYPE_PAGE) { g_return_val_if_fail (book != NULL, NULL); g_return_val_if_fail (page != NULL, NULL); } link = g_slice_new0 (DhLink); link->ref_count = 1; link->type = type; if (type == DH_LINK_TYPE_BOOK) { link->base = g_strdup (base); link->id = g_strdup (id); } link->name = g_strdup (name); link->filename = g_strdup (filename); if (book) { link->book = dh_link_ref (book); } if (page) { link->page = dh_link_ref (page); } return link; } gint dh_link_compare (gconstpointer a, gconstpointer b) { DhLink *la = (DhLink *) a; DhLink *lb = (DhLink *) b; gint flags_diff; /* Sort deprecated hits last. */ flags_diff = (la->flags & DH_LINK_FLAGS_DEPRECATED) - (lb->flags & DH_LINK_FLAGS_DEPRECATED); if (flags_diff != 0) { return flags_diff; } return strcmp (la->name, lb->name); } DhLink * dh_link_ref (DhLink *link) { g_return_val_if_fail (link != NULL, NULL); link->ref_count++; return link; } void dh_link_unref (DhLink *link) { g_return_if_fail (link != NULL); link->ref_count--; if (link->ref_count == 0) { link_free (link); } } const gchar * dh_link_get_name (DhLink *link) { return link->name; } const gchar * dh_link_get_book_name (DhLink *link) { if (link->book) { return link->book->name; } return ""; } const gchar * dh_link_get_page_name (DhLink *link) { if (link->page) { return link->page->name; } return ""; } const gchar * dh_link_get_file_name (DhLink *link) { if (link->page) { return link->filename; } return ""; } const gchar * dh_link_get_book_id (DhLink *link) { if (link->type == DH_LINK_TYPE_BOOK) { return link->id; } if (link->book) { return link->book->id; } return ""; } gchar * dh_link_get_uri (DhLink *link) { gchar *base, *uri; if (link->type == DH_LINK_TYPE_BOOK) base = link->base; else base = link->book->base; uri = g_strconcat ("file://", base, "/", link->filename, NULL, NULL); return uri; } DhLinkType dh_link_get_link_type (DhLink *link) { return link->type; } DhLinkFlags dh_link_get_flags (DhLink *link) { return link->flags; } void dh_link_set_flags (DhLink *link, DhLinkFlags flags) { link->flags = flags; } const gchar * dh_link_get_type_as_string (DhLink *link) { switch (link->type) { case DH_LINK_TYPE_BOOK: /* i18n: a documentation book */ return _("Book"); case DH_LINK_TYPE_PAGE: /* i18n: a "page" in a documentation book */ return _("Page"); case DH_LINK_TYPE_KEYWORD: /* i18n: a search hit in the documentation, could be a * function, macro, struct, etc */ return _("Keyword"); case DH_LINK_TYPE_FUNCTION: /* i18n: in the programming language context, if you don't * have an ESTABLISHED term for it, leave it * untranslated. */ return _("Function"); case DH_LINK_TYPE_STRUCT: /* i18n: in the programming language context, if you don't * have an ESTABLISHED term for it, leave it * untranslated. */ return _("Struct"); case DH_LINK_TYPE_MACRO: /* i18n: in the programming language context, if you don't * have an ESTABLISHED term for it, leave it * untranslated. */ return _("Macro"); case DH_LINK_TYPE_ENUM: /* i18n: in the programming language context, if you don't * have an ESTABLISHED term for it, leave it * untranslated. */ return _("Enum"); case DH_LINK_TYPE_TYPEDEF: /* i18n: in the programming language context, if you don't * have an ESTABLISHED term for it, leave it * untranslated. */ return _("Type"); } return ""; } geany-plugins-1.27/devhelp/devhelp/dh-base.h0000644000175000017500000000451712671261352021261 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * Copyright (C) 2005-2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_BASE_H__ #define __DH_BASE_H__ #include #include "dh-book-manager.h" G_BEGIN_DECLS typedef struct _DhBase DhBase; typedef struct _DhBaseClass DhBaseClass; #define DH_TYPE_BASE (dh_base_get_type ()) #define DH_BASE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), DH_TYPE_BASE, DhBase)) #define DH_BASE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), DH_TYPE_BASE, DhBaseClass)) #define DH_IS_BASE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), DH_TYPE_BASE)) #define DH_IS_BASE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), DH_TYPE_BASE)) #define DH_BASE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), DH_TYPE_BASE, DhBaseClass)) struct _DhBase { GObject parent_instance; }; struct _DhBaseClass { GObjectClass parent_class; }; GType dh_base_get_type (void) G_GNUC_CONST; DhBase * dh_base_get (void); DhBase * dh_base_new (void); GtkWidget * dh_base_new_window (DhBase *base); GtkWidget * dh_base_new_assistant (DhBase *base); GtkWidget * dh_base_get_window (DhBase *base); GtkWidget * dh_base_get_window_on_current_workspace (DhBase *base); DhBookManager *dh_base_get_book_manager (DhBase *base); void dh_base_quit (DhBase *base); G_END_DECLS #endif /* __DH_BASE_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-book.h0000644000175000017500000000475112671261352021301 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * Copyright (C) 2005-2008 Imendio AB * Copyright (C) 2010 Lanedo GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef _DH_BOOK_H_ #define _DH_BOOK_H_ #include G_BEGIN_DECLS typedef struct _DhBook DhBook; typedef struct _DhBookClass DhBookClass; #define DH_TYPE_BOOK (dh_book_get_type ()) #define DH_BOOK(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), DH_TYPE_BOOK, DhBook)) #define DH_BOOK_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), DH_TYPE_BOOK, DhBookClass)) #define DH_IS_BOOK(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), DH_TYPE_BOOK)) #define DH_IS_BOOK_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), DH_TYPE_BOOK)) #define DH_BOOK_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), DH_TYPE_BOOK, DhBookClass)) struct _DhBook { GObject parent_instance; }; struct _DhBookClass { GObjectClass parent_class; }; GType dh_book_get_type (void) G_GNUC_CONST; DhBook *dh_book_new (const gchar *book_path); GList *dh_book_get_keywords (DhBook *book); GNode *dh_book_get_tree (DhBook *book); const gchar *dh_book_get_name (DhBook *book); const gchar *dh_book_get_title (DhBook *book); gboolean dh_book_get_enabled (DhBook *book); void dh_book_set_enabled (DhBook *book, gboolean enabled); gint dh_book_cmp_by_path (const DhBook *a, const DhBook *b); gint dh_book_cmp_by_name (const DhBook *a, const DhBook *b); gint dh_book_cmp_by_title (const DhBook *a, const DhBook *b); G_END_DECLS #endif /* _DH_BOOK_H_ */ geany-plugins-1.27/devhelp/devhelp/dh-enum-types.c0000644000175000017500000000520412671261352022442 0ustar00frlanfrlan00000000000000 /* Generated data (by glib-mkenums) */ #include "dh-enum-types.h" #include "dh-assistant.h" #include "dh-assistant-view.h" #include "dh-base.h" #include "dh-book-manager.h" #include "dh-book.h" #include "dh-book-tree.h" #include "dh-error.h" #include "dh-keyword-model.h" #include "dh-link.h" #include "dh-search.h" #include "dh-window.h" GType dh_error_get_type (void) { static GType the_type = 0; if (the_type == 0) { static const GEnumValue values[] = { { DH_ERROR_FILE_NOT_FOUND, "DH_ERROR_FILE_NOT_FOUND", "file-not-found" }, { DH_ERROR_MALFORMED_BOOK, "DH_ERROR_MALFORMED_BOOK", "malformed-book" }, { DH_ERROR_INVALID_BOOK_TYPE, "DH_ERROR_INVALID_BOOK_TYPE", "invalid-book-type" }, { DH_ERROR_INTERNAL_ERROR, "DH_ERROR_INTERNAL_ERROR", "internal-error" }, { 0, NULL, NULL } }; the_type = g_enum_register_static ( g_intern_static_string ("DhError"), values); } return the_type; } GType dh_link_type_get_type (void) { static GType the_type = 0; if (the_type == 0) { static const GEnumValue values[] = { { DH_LINK_TYPE_BOOK, "DH_LINK_TYPE_BOOK", "book" }, { DH_LINK_TYPE_PAGE, "DH_LINK_TYPE_PAGE", "page" }, { DH_LINK_TYPE_KEYWORD, "DH_LINK_TYPE_KEYWORD", "keyword" }, { DH_LINK_TYPE_FUNCTION, "DH_LINK_TYPE_FUNCTION", "function" }, { DH_LINK_TYPE_STRUCT, "DH_LINK_TYPE_STRUCT", "struct" }, { DH_LINK_TYPE_MACRO, "DH_LINK_TYPE_MACRO", "macro" }, { DH_LINK_TYPE_ENUM, "DH_LINK_TYPE_ENUM", "enum" }, { DH_LINK_TYPE_TYPEDEF, "DH_LINK_TYPE_TYPEDEF", "typedef" }, { 0, NULL, NULL } }; the_type = g_enum_register_static ( g_intern_static_string ("DhLinkType"), values); } return the_type; } GType dh_link_flags_get_type (void) { static GType the_type = 0; if (the_type == 0) { static const GFlagsValue values[] = { { DH_LINK_FLAGS_NONE, "DH_LINK_FLAGS_NONE", "none" }, { DH_LINK_FLAGS_DEPRECATED, "DH_LINK_FLAGS_DEPRECATED", "deprecated" }, { 0, NULL, NULL } }; the_type = g_flags_register_static ( g_intern_static_string ("DhLinkFlags"), values); } return the_type; } GType dh_open_link_flags_get_type (void) { static GType the_type = 0; if (the_type == 0) { static const GFlagsValue values[] = { { DH_OPEN_LINK_NEW_WINDOW, "DH_OPEN_LINK_NEW_WINDOW", "window" }, { DH_OPEN_LINK_NEW_TAB, "DH_OPEN_LINK_NEW_TAB", "tab" }, { 0, NULL, NULL } }; the_type = g_flags_register_static ( g_intern_static_string ("DhOpenLinkFlags"), values); } return the_type; } /* Generated data ends here */ geany-plugins-1.27/devhelp/devhelp/dh-marshal.h0000644000175000017500000000333612671261352021774 0ustar00frlanfrlan00000000000000 #ifndef ___dh_marshal_MARSHAL_H__ #define ___dh_marshal_MARSHAL_H__ #include G_BEGIN_DECLS /* VOID:BOOLEAN (dh-marshal.list:1) */ #define _dh_marshal_VOID__BOOLEAN g_cclosure_marshal_VOID__BOOLEAN /* VOID:POINTER (dh-marshal.list:2) */ #define _dh_marshal_VOID__POINTER g_cclosure_marshal_VOID__POINTER /* VOID:STRING (dh-marshal.list:3) */ #define _dh_marshal_VOID__STRING g_cclosure_marshal_VOID__STRING /* VOID:VOID (dh-marshal.list:4) */ #define _dh_marshal_VOID__VOID g_cclosure_marshal_VOID__VOID /* BOOLEAN:STRING (dh-marshal.list:5) */ extern void _dh_marshal_BOOLEAN__STRING (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:STRING,FLAGS (dh-marshal.list:6) */ extern void _dh_marshal_VOID__STRING_FLAGS (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:BOOLEAN (dh-marshal.list:1) */ /* VOID:POINTER (dh-marshal.list:2) */ /* VOID:STRING (dh-marshal.list:3) */ /* VOID:VOID (dh-marshal.list:4) */ /* BOOLEAN:STRING (dh-marshal.list:5) */ /* VOID:STRING,FLAGS (dh-marshal.list:6) */ G_END_DECLS #endif /* ___dh_marshal_MARSHAL_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-preferences.c0000644000175000017500000003466512671261352022652 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2004-2008 Imendio AB * Copyright (C) 2010 Lanedo GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #include "dh-util.h" #include "dh-preferences.h" #include "ige-conf.h" #include "dh-base.h" typedef struct { GtkWidget *dialog; /* Fonts tab */ GtkWidget *system_fonts_button; GtkWidget *fonts_table; GtkWidget *variable_font_button; GtkWidget *fixed_font_button; guint use_system_fonts_id; guint system_var_id; guint system_fixed_id; guint var_id; guint fixed_id; /* Book Shelf tab */ DhBookManager *book_manager; GtkTreeView *booklist_treeview; GtkListStore *booklist_store; } DhPreferences; /* Fonts-tab related */ static void preferences_fonts_font_set_cb (GtkFontButton *button, gpointer user_data); static void preferences_fonts_system_fonts_toggled_cb (GtkToggleButton *button, gpointer user_data); #if 0 static void preferences_fonts_var_font_notify_cb (IgeConf *client, const gchar *path, gpointer user_data); static void preferences_fonts_fixed_font_notify_cb (IgeConf *client, const gchar *path, gpointer user_data); static void preferences_fonts_use_system_font_notify_cb (IgeConf *client, const gchar *path, gpointer user_data); static void preferences_connect_conf_listeners (void); #endif static void preferences_fonts_get_font_names (gboolean use_system_fonts, gchar **variable, gchar **fixed); /* Bookshelf-tab related */ static void preferences_bookshelf_tree_selection_toggled_cb (GtkCellRendererToggle *cell_renderer, gchar *path, gpointer user_data); static void preferences_bookshelf_populate_store (void); /* Common */ static void preferences_close_cb (GtkButton *button, gpointer user_data); #define DH_CONF_PATH "/apps/devhelp" #define DH_CONF_USE_SYSTEM_FONTS DH_CONF_PATH "/ui/use_system_fonts" #define DH_CONF_VARIABLE_FONT DH_CONF_PATH "/ui/variable_font" #define DH_CONF_FIXED_FONT DH_CONF_PATH "/ui/fixed_font" #define DH_CONF_SYSTEM_VARIABLE_FONT "/desktop/gnome/interface/font_name" #define DH_CONF_SYSTEM_FIXED_FONT "/desktop/gnome/interface/monospace_font_name" /* Book list store columns... */ #define LTCOLUMN_ENABLED 0 #define LTCOLUMN_TITLE 1 #define LTCOLUMN_BOOK 2 static DhPreferences *prefs; static void preferences_init (void) { if (!prefs) { prefs = g_new0 (DhPreferences, 1); prefs->book_manager = dh_base_get_book_manager (dh_base_get ()); } } static void preferences_close_cb (GtkButton *button, gpointer user_data) { DhPreferences *prefs = user_data; gtk_widget_destroy (GTK_WIDGET (prefs->dialog)); prefs->dialog = NULL; prefs->system_fonts_button = NULL; prefs->fonts_table = NULL; prefs->variable_font_button = NULL; prefs->fixed_font_button = NULL; prefs->booklist_treeview = NULL; prefs->booklist_store = NULL; } static void preferences_fonts_font_set_cb (GtkFontButton *button, gpointer user_data) { DhPreferences *prefs = user_data; const gchar *font_name; const gchar *key; font_name = gtk_font_button_get_font_name (button); if (GTK_WIDGET (button) == prefs->variable_font_button) { key = DH_CONF_VARIABLE_FONT; } else { key = DH_CONF_FIXED_FONT; } ige_conf_set_string (ige_conf_get (), key, font_name); } static void preferences_fonts_system_fonts_toggled_cb (GtkToggleButton *button, gpointer user_data) { DhPreferences *prefs = user_data; gboolean active; active = gtk_toggle_button_get_active (button); ige_conf_set_bool (ige_conf_get (), DH_CONF_USE_SYSTEM_FONTS, active); gtk_widget_set_sensitive (prefs->fonts_table, !active); } #if 0 static void preferences_fonts_var_font_notify_cb (IgeConf *client, const gchar *path, gpointer user_data) { DhPreferences *prefs = user_data; gboolean use_system_fonts; gchar *font_name; ige_conf_get_bool (ige_conf_get (), DH_CONF_USE_SYSTEM_FONTS, &use_system_fonts); if (prefs->variable_font_button) { ige_conf_get_string (ige_conf_get (), path, &font_name); gtk_font_button_set_font_name (GTK_FONT_BUTTON (prefs->variable_font_button), font_name); g_free (font_name); } } static void preferences_fonts_fixed_font_notify_cb (IgeConf *client, const gchar *path, gpointer user_data) { DhPreferences *prefs = user_data; gboolean use_system_fonts; gchar *font_name; ige_conf_get_bool (ige_conf_get (), DH_CONF_USE_SYSTEM_FONTS, &use_system_fonts); if (prefs->fixed_font_button) { ige_conf_get_string (ige_conf_get (), path, &font_name); gtk_font_button_set_font_name (GTK_FONT_BUTTON (prefs->fixed_font_button), font_name); g_free (font_name); } } static void preferences_fonts_use_system_font_notify_cb (IgeConf *client, const gchar *path, gpointer user_data) { DhPreferences *prefs = user_data; gboolean use_system_fonts; ige_conf_get_bool (ige_conf_get (), path, &use_system_fonts); if (prefs->system_fonts_button) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->system_fonts_button), use_system_fonts); } if (prefs->fonts_table) { gtk_widget_set_sensitive (prefs->fonts_table, !use_system_fonts); } } /* FIXME: This is not hooked up yet (to update the dialog if the values are * changed outside of devhelp). */ static void preferences_connect_conf_listeners (void) { IgeConf *conf; conf = ige_conf_get (); prefs->use_system_fonts_id = ige_conf_notify_add (conf, DH_CONF_USE_SYSTEM_FONTS, preferences_use_system_font_notify_cb, prefs); prefs->system_var_id = ige_conf_notify_add (conf, DH_CONF_SYSTEM_VARIABLE_FONT, preferences_var_font_notify_cb, prefs); prefs->system_fixed_id = ige_conf_notify_add (conf, DH_CONF_SYSTEM_FIXED_FONT, preferences_fixed_font_notify_cb, prefs); prefs->var_id = ige_conf_notify_add (conf, DH_CONF_VARIABLE_FONT, preferences_var_font_notify_cb, prefs); prefs->fixed_id = ige_conf_notify_add (conf, DH_CONF_FIXED_FONT, preferences_fixed_font_notify_cb, prefs); } #endif /* FIXME: Use the functions in dh-util.c for this. */ static void preferences_fonts_get_font_names (gboolean use_system_fonts, gchar **variable, gchar **fixed) { gchar *var_font_name, *fixed_font_name; IgeConf *conf; conf = ige_conf_get (); if (use_system_fonts) { #ifdef GDK_WINDOWING_QUARTZ var_font_name = g_strdup ("Lucida Grande 14"); fixed_font_name = g_strdup ("Monaco 14"); #else ige_conf_get_string (conf, DH_CONF_SYSTEM_VARIABLE_FONT, &var_font_name); ige_conf_get_string (conf, DH_CONF_SYSTEM_FIXED_FONT, &fixed_font_name); #endif } else { ige_conf_get_string (conf, DH_CONF_VARIABLE_FONT, &var_font_name); ige_conf_get_string (conf, DH_CONF_FIXED_FONT, &fixed_font_name); } *variable = var_font_name; *fixed = fixed_font_name; } static void preferences_bookshelf_tree_selection_toggled_cb (GtkCellRendererToggle *cell_renderer, gchar *path, gpointer user_data) { GtkTreeIter iter; if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (prefs->booklist_store), &iter, path)) { gpointer book = NULL; gboolean enabled; gtk_tree_model_get (GTK_TREE_MODEL (prefs->booklist_store), &iter, LTCOLUMN_BOOK, &book, LTCOLUMN_ENABLED, &enabled, -1); if (book) { /* Update book conf */ dh_book_set_enabled (book, !enabled); gtk_list_store_set (prefs->booklist_store, &iter, LTCOLUMN_ENABLED, !enabled, -1); dh_book_manager_update (prefs->book_manager); } } } static void preferences_bookshelf_populate_store (void) { GList *l; for (l = dh_book_manager_get_books (prefs->book_manager); l; l = g_list_next (l)) { GtkTreeIter iter; DhBook *book; book = DH_BOOK (l->data); gtk_list_store_append (prefs->booklist_store, &iter); gtk_list_store_set (prefs->booklist_store, &iter, LTCOLUMN_ENABLED, dh_book_get_enabled (book), LTCOLUMN_TITLE, dh_book_get_title (book), LTCOLUMN_BOOK, book, -1); } } void dh_preferences_show_dialog (GtkWindow *parent) { gchar *path; GtkBuilder *builder; gboolean use_system_fonts; gchar *var_font_name, *fixed_font_name; preferences_init (); if (prefs->dialog != NULL) { gtk_window_present (GTK_WINDOW (prefs->dialog)); return; } path = dh_util_build_data_filename ("devhelp", "ui", "devhelp.builder", NULL); builder = dh_util_builder_get_file ( path, "preferences_dialog", NULL, "preferences_dialog", &prefs->dialog, "fonts_table", &prefs->fonts_table, "system_fonts_button", &prefs->system_fonts_button, "variable_font_button", &prefs->variable_font_button, "fixed_font_button", &prefs->fixed_font_button, "book_manager_store", &prefs->booklist_store, "book_manager_treeview", &prefs->booklist_treeview, NULL); g_free (path); dh_util_builder_connect ( builder, prefs, "variable_font_button", "font_set", preferences_fonts_font_set_cb, "fixed_font_button", "font_set", preferences_fonts_font_set_cb, "system_fonts_button", "toggled", preferences_fonts_system_fonts_toggled_cb, "book_manager_toggle", "toggled", preferences_bookshelf_tree_selection_toggled_cb, "preferences_close_button", "clicked", preferences_close_cb, NULL); ige_conf_get_bool (ige_conf_get (), DH_CONF_USE_SYSTEM_FONTS, &use_system_fonts); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->system_fonts_button), use_system_fonts); gtk_widget_set_sensitive (prefs->fonts_table, !use_system_fonts); preferences_fonts_get_font_names (FALSE, &var_font_name, &fixed_font_name); if (var_font_name) { gtk_font_button_set_font_name (GTK_FONT_BUTTON (prefs->variable_font_button), var_font_name); g_free (var_font_name); } if (fixed_font_name) { gtk_font_button_set_font_name (GTK_FONT_BUTTON (prefs->fixed_font_button), fixed_font_name); g_free (fixed_font_name); } preferences_bookshelf_populate_store (); g_object_unref (builder); gtk_window_set_transient_for (GTK_WINDOW (prefs->dialog), parent); gtk_widget_show_all (prefs->dialog); } geany-plugins-1.27/devhelp/devhelp/dh-base.c0000644000175000017500000002006112671261352021244 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 CodeFactory AB * Copyright (C) 2002 Mikael Hallendal * Copyright (C) 2004-2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #include "config.h" #include #include #ifdef GDK_WINDOWING_X11 #include #include #define WNCK_I_KNOW_THIS_IS_UNSTABLE #include #endif #include "dh-window.h" #include "dh-link.h" #include "dh-parser.h" #include "dh-preferences.h" #include "dh-assistant.h" #include "dh-util.h" #include "ige-conf.h" #include "dh-base.h" #include "dh-book-manager.h" typedef struct { GSList *windows; GSList *assistants; DhBookManager *book_manager; } DhBasePriv; G_DEFINE_TYPE (DhBase, dh_base, G_TYPE_OBJECT); #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \ (instance, DH_TYPE_BASE, DhBasePriv) static void dh_base_init (DhBase *base); static void dh_base_class_init (DhBaseClass *klass); static DhBase *base_instance; static void base_finalize (GObject *object) { G_OBJECT_CLASS (dh_base_parent_class)->finalize (object); } static void base_dispose (GObject *object) { DhBasePriv *priv; priv = GET_PRIVATE (object); if (priv->book_manager) { g_object_unref (priv->book_manager); priv->book_manager = NULL; } } static void dh_base_class_init (DhBaseClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = base_finalize; object_class->dispose = base_dispose; g_type_class_add_private (klass, sizeof (DhBasePriv)); } static void dh_base_init (DhBase *base) { DhBasePriv *priv = GET_PRIVATE (base); IgeConf *conf; gchar *path; conf = ige_conf_get (); path = dh_util_build_data_filename ("devhelp", "devhelp.defaults", NULL); ige_conf_add_defaults (conf, path); g_free (path); priv->book_manager = dh_book_manager_new (); dh_book_manager_populate (priv->book_manager); #ifdef GDK_WINDOWING_X11 { gint n_screens, i; /* For some reason, libwnck doesn't seem to update its list of * workspaces etc if we don't do this. */ n_screens = gdk_display_get_n_screens (gdk_display_get_default ()); for (i = 0; i < n_screens; i++) wnck_screen_get (i); } #endif } static void base_window_or_assistant_finalized_cb (DhBase *base, gpointer window_or_assistant) { DhBasePriv *priv = GET_PRIVATE (base); priv->windows = g_slist_remove (priv->windows, window_or_assistant); priv->assistants = g_slist_remove (priv->assistants, window_or_assistant); if (priv->windows == NULL && priv->assistants == NULL) { gtk_main_quit (); } } DhBase * dh_base_get (void) { if (!base_instance) { base_instance = g_object_new (DH_TYPE_BASE, NULL); } return base_instance; } DhBase * dh_base_new (void) { if (base_instance) { g_error ("You can only have one DhBase instance."); } return dh_base_get (); } GtkWidget * dh_base_new_window (DhBase *base) { DhBasePriv *priv; GtkWidget *window; g_return_val_if_fail (DH_IS_BASE (base), NULL); priv = GET_PRIVATE (base); window = dh_window_new (base); priv->windows = g_slist_prepend (priv->windows, window); g_object_weak_ref (G_OBJECT (window), (GWeakNotify) base_window_or_assistant_finalized_cb, base); return window; } GtkWidget * dh_base_new_assistant (DhBase *base) { DhBasePriv *priv; GtkWidget *assistant; g_return_val_if_fail (DH_IS_BASE (base), NULL); priv = GET_PRIVATE (base); assistant = dh_assistant_new (base); priv->assistants = g_slist_prepend (priv->assistants, assistant); g_object_weak_ref (G_OBJECT (assistant), (GWeakNotify) base_window_or_assistant_finalized_cb, base); return assistant; } DhBookManager * dh_base_get_book_manager (DhBase *base) { DhBasePriv *priv; g_return_val_if_fail (DH_IS_BASE (base), NULL); priv = GET_PRIVATE (base); return priv->book_manager; } GtkWidget * dh_base_get_window_on_current_workspace (DhBase *base) { DhBasePriv *priv; g_return_val_if_fail (DH_IS_BASE (base), NULL); priv = GET_PRIVATE (base); if (!priv->windows) { return NULL; } #ifdef GDK_WINDOWING_X11 { WnckWorkspace *workspace; WnckScreen *screen; GtkWidget *window; GList *windows, *w; GSList *l; gulong xid; pid_t pid; screen = wnck_screen_get (0); if (!screen) { return NULL; } workspace = wnck_screen_get_active_workspace (screen); if (!workspace) { return NULL; } xid = 0; pid = getpid (); /* Use _stacked so we can use the one on top. */ windows = wnck_screen_get_windows_stacked (screen); windows = g_list_last (windows); for (w = windows; w; w = w->prev) { if (wnck_window_is_on_workspace (w->data, workspace) && wnck_window_get_pid (w->data) == pid) { xid = wnck_window_get_xid (w->data); break; } } if (!xid) { return NULL; } /* Return the first matching window we have. */ for (l = priv->windows; l; l = l->next) { window = l->data; #if GTK_CHECK_VERSION (2,14,0) if (GDK_WINDOW_XID (gtk_widget_get_window (window)) == xid) { #else if (GDK_WINDOW_XID (window->window) == xid) { #endif return window; } } } return NULL; #else return priv->windows->data; #endif } GtkWidget * dh_base_get_window (DhBase *base) { GtkWidget *window; g_return_val_if_fail (DH_IS_BASE (base), NULL); window = dh_base_get_window_on_current_workspace (base); if (!window) { window = dh_base_new_window (base); gtk_window_present (GTK_WINDOW (window)); } return window; } void dh_base_quit (DhBase *base) { DhBasePriv *priv = GET_PRIVATE (base); /* Make sure all of the windows get a chance to release their resources * properly. As they get destroyed, * base_window_or_assistant_finalized_cb() will be called, and when the * last one is removed, we will quit */ g_slist_foreach (priv->windows, (GFunc)gtk_widget_destroy, NULL); g_slist_foreach (priv->assistants, (GFunc)gtk_widget_destroy, NULL); } geany-plugins-1.27/devhelp/devhelp/dh-assistant.h0000644000175000017500000000371012671261352022352 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_ASSISTANT_H__ #define __DH_ASSISTANT_H__ #include #include "dh-base.h" G_BEGIN_DECLS #define DH_TYPE_ASSISTANT (dh_assistant_get_type ()) #define DH_ASSISTANT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), DH_TYPE_ASSISTANT, DhAssistant)) #define DH_ASSISTANT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), DH_TYPE_ASSISTANT, DhAssistantClass)) #define DH_IS_ASSISTANT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), DH_TYPE_ASSISTANT)) #define DH_IS_ASSISTANT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), DH_TYPE_ASSISTANT)) #define DH_ASSISTANT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), DH_TYPE_ASSISTANT, DhAssistantClass)) typedef struct _DhAssistant DhAssistant; typedef struct _DhAssistantClass DhAssistantClass; struct _DhAssistant { GtkWindow parent_instance; }; struct _DhAssistantClass { GtkWindowClass parent_class; }; GType dh_assistant_get_type (void) G_GNUC_CONST; GtkWidget *dh_assistant_new (DhBase *base); gboolean dh_assistant_search (DhAssistant *assistant, const gchar *str); G_END_DECLS #endif /* __DH_ASSISTANT_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-preferences.h0000644000175000017500000000206412671261352022643 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2004-2008 Imendio AB * Copyright (C) 2010 Lanedo GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_PREFERENCES_H__ #define __DH_PREFERENCES_H__ #include G_BEGIN_DECLS void dh_preferences_show_dialog (GtkWindow *parent); G_END_DECLS #endif /* __DH_PREFERENCES_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-marshal.list0000644000175000017500000000012112671261352022505 0ustar00frlanfrlan00000000000000VOID:BOOLEAN VOID:POINTER VOID:STRING VOID:VOID BOOLEAN:STRING VOID:STRING,FLAGS geany-plugins-1.27/devhelp/devhelp/dh-marshal.c0000644000175000017500000001341212671261352021763 0ustar00frlanfrlan00000000000000#include "dh-marshal.h" #include #ifdef G_ENABLE_DEBUG #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) #define g_marshal_value_peek_char(v) g_value_get_char (v) #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) #define g_marshal_value_peek_int(v) g_value_get_int (v) #define g_marshal_value_peek_uint(v) g_value_get_uint (v) #define g_marshal_value_peek_long(v) g_value_get_long (v) #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) #define g_marshal_value_peek_int64(v) g_value_get_int64 (v) #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) #define g_marshal_value_peek_enum(v) g_value_get_enum (v) #define g_marshal_value_peek_flags(v) g_value_get_flags (v) #define g_marshal_value_peek_float(v) g_value_get_float (v) #define g_marshal_value_peek_double(v) g_value_get_double (v) #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) #define g_marshal_value_peek_param(v) g_value_get_param (v) #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) #define g_marshal_value_peek_object(v) g_value_get_object (v) #define g_marshal_value_peek_variant(v) g_value_get_variant (v) #else /* !G_ENABLE_DEBUG */ /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. * Do not access GValues directly in your code. Instead, use the * g_value_get_*() functions */ #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int #define g_marshal_value_peek_char(v) (v)->data[0].v_int #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint #define g_marshal_value_peek_int(v) (v)->data[0].v_int #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint #define g_marshal_value_peek_long(v) (v)->data[0].v_long #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 #define g_marshal_value_peek_enum(v) (v)->data[0].v_long #define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong #define g_marshal_value_peek_float(v) (v)->data[0].v_float #define g_marshal_value_peek_double(v) (v)->data[0].v_double #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer #define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer #endif /* !G_ENABLE_DEBUG */ /* VOID:BOOLEAN (dh-marshal.list:1) */ /* VOID:POINTER (dh-marshal.list:2) */ /* VOID:STRING (dh-marshal.list:3) */ /* VOID:VOID (dh-marshal.list:4) */ /* BOOLEAN:STRING (dh-marshal.list:5) */ void _dh_marshal_BOOLEAN__STRING (GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef gboolean (*GMarshalFunc_BOOLEAN__STRING) (gpointer data1, gpointer arg_1, gpointer data2); register GMarshalFunc_BOOLEAN__STRING callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; gboolean v_return; g_return_if_fail (return_value != NULL); g_return_if_fail (n_param_values == 2); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_BOOLEAN__STRING) (marshal_data ? marshal_data : cc->callback); v_return = callback (data1, g_marshal_value_peek_string (param_values + 1), data2); g_value_set_boolean (return_value, v_return); } /* VOID:STRING,FLAGS (dh-marshal.list:6) */ void _dh_marshal_VOID__STRING_FLAGS (GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__STRING_FLAGS) (gpointer data1, gpointer arg_1, guint arg_2, gpointer data2); register GMarshalFunc_VOID__STRING_FLAGS callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__STRING_FLAGS) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_string (param_values + 1), g_marshal_value_peek_flags (param_values + 2), data2); } /* VOID:BOOLEAN (dh-marshal.list:1) */ /* VOID:POINTER (dh-marshal.list:2) */ /* VOID:STRING (dh-marshal.list:3) */ /* VOID:VOID (dh-marshal.list:4) */ /* BOOLEAN:STRING (dh-marshal.list:5) */ /* VOID:STRING,FLAGS (dh-marshal.list:6) */ geany-plugins-1.27/devhelp/devhelp/dh-link.h0000644000175000017500000000534412671261352021303 0ustar00frlanfrlan00000000000000/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ /* * Copyright (C) 2002 Mikael Hallendal * Copyright (C) 2008 Imendio AB * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ #ifndef __DH_LINK_H__ #define __DH_LINK_H__ #include typedef enum { DH_LINK_TYPE_BOOK, DH_LINK_TYPE_PAGE, DH_LINK_TYPE_KEYWORD, DH_LINK_TYPE_FUNCTION, DH_LINK_TYPE_STRUCT, DH_LINK_TYPE_MACRO, DH_LINK_TYPE_ENUM, DH_LINK_TYPE_TYPEDEF } DhLinkType; typedef enum { DH_LINK_FLAGS_NONE = 0, DH_LINK_FLAGS_DEPRECATED = 1 << 0 } DhLinkFlags; typedef struct _DhLink DhLink; #define DH_TYPE_LINK (dh_link_get_type ()) GType dh_link_get_type (void); DhLink * dh_link_new (DhLinkType type, const gchar *base, const gchar *id, const gchar *name, DhLink *book, DhLink *page, const gchar *filename); void dh_link_free (DhLink *link); gint dh_link_compare (gconstpointer a, gconstpointer b); DhLink * dh_link_ref (DhLink *link); void dh_link_unref (DhLink *link); const gchar *dh_link_get_name (DhLink *link); const gchar *dh_link_get_book_name (DhLink *link); const gchar *dh_link_get_page_name (DhLink *link); const gchar *dh_link_get_file_name (DhLink *link); const gchar *dh_link_get_book_id (DhLink *link); gchar *dh_link_get_uri (DhLink *link); DhLinkFlags dh_link_get_flags (DhLink *link); void dh_link_set_flags (DhLink *link, DhLinkFlags flags); DhLinkType dh_link_get_link_type (DhLink *link); const gchar *dh_link_get_type_as_string (DhLink *link); #endif /* __DH_LINK_H__ */ geany-plugins-1.27/devhelp/devhelp/dh-enum-types.h.template0000644000175000017500000000102212671261352024253 0ustar00frlanfrlan00000000000000/*** BEGIN file-header ***/ #ifndef __DH_ENUM_TYPES_H__ #define __DH_ENUM_TYPES_H__ #include G_BEGIN_DECLS /*** END file-header ***/ /*** BEGIN file-production ***/ /* Enumerations from "@filename@" */ /*** END file-production ***/ /*** BEGIN enumeration-production ***/ #define DH_TYPE_@ENUMSHORT@ (@enum_name@_get_type()) GType @enum_name@_get_type (void) G_GNUC_CONST; /*** END enumeration-production ***/ /*** BEGIN file-tail ***/ G_END_DECLS #endif /* __DH_ENUM_TYPES_H__ */ /*** END file-tail ***/ geany-plugins-1.27/devhelp/Makefile.am0000644000175000017500000000013212671261352020177 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk SUBDIRS = devhelp src data plugin = devhelp geany-plugins-1.27/devhelp/AUTHORS0000644000175000017500000000004512671261352017216 0ustar00frlanfrlan00000000000000Matthew Brush geany-plugins-1.27/devhelp/data/0000755000175000017500000000000012671261442017060 5ustar00frlanfrlan00000000000000geany-plugins-1.27/devhelp/data/Makefile.in0000644000175000017500000004772512671261400021136 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = devhelp/data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \ $(top_srcdir)/geanypy/m4/ax_python_library.m4 \ $(top_srcdir)/build/bundled/gpgme.m4 \ $(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \ $(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \ $(top_srcdir)/build/codenav.m4 \ $(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \ $(top_srcdir)/build/cppcheck.m4 \ $(top_srcdir)/build/debugger.m4 \ $(top_srcdir)/build/defineformat.m4 \ $(top_srcdir)/build/devhelp.m4 \ $(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \ $(top_srcdir)/build/geanyctags.m4 \ $(top_srcdir)/build/geanydoc.m4 \ $(top_srcdir)/build/geanyextrasel.m4 \ $(top_srcdir)/build/geanygendoc.m4 \ $(top_srcdir)/build/geanyinsertnum.m4 \ $(top_srcdir)/build/geanylatex.m4 \ $(top_srcdir)/build/geanylipsum.m4 \ $(top_srcdir)/build/geanylua.m4 \ $(top_srcdir)/build/geanymacro.m4 \ $(top_srcdir)/build/geanyminiscript.m4 \ $(top_srcdir)/build/geanynumberedbookmarks.m4 \ $(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \ $(top_srcdir)/build/geanypy.m4 \ $(top_srcdir)/build/geanysendmail.m4 \ $(top_srcdir)/build/geanyvc.m4 \ $(top_srcdir)/build/geniuspaste.m4 \ $(top_srcdir)/build/git-changebar.m4 \ $(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \ $(top_srcdir)/build/ldflags.m4 \ $(top_srcdir)/build/lineoperations.m4 \ $(top_srcdir)/build/markdown.m4 \ $(top_srcdir)/build/multiterm.m4 \ $(top_srcdir)/build/overview.m4 \ $(top_srcdir)/build/pairtaghighlighter.m4 \ $(top_srcdir)/build/pohelper.m4 \ $(top_srcdir)/build/pretty-printer.m4 \ $(top_srcdir)/build/projectorganizer.m4 \ $(top_srcdir)/build/scope.m4 \ $(top_srcdir)/build/shiftcolumn.m4 \ $(top_srcdir)/build/spellcheck.m4 \ $(top_srcdir)/build/status.m4 \ $(top_srcdir)/build/tableconvert.m4 \ $(top_srcdir)/build/treebrowser.m4 \ $(top_srcdir)/build/unittests.m4 \ $(top_srcdir)/build/updatechecker.m4 \ $(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \ $(top_srcdir)/build/xmlsnippets.m4 \ $(top_srcdir)/build/cache/glib-gettext.m4 \ $(top_srcdir)/build/cache/intltool.m4 \ $(top_srcdir)/build/cache/libtool.m4 \ $(top_srcdir)/build/cache/ltoptions.m4 \ $(top_srcdir)/build/cache/ltsugar.m4 \ $(top_srcdir)/build/cache/ltversion.m4 \ $(top_srcdir)/build/cache/lt~obsolete.m4 \ $(top_srcdir)/build/cache/nls.m4 \ $(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindata_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(plugindatadir)" DATA = $(dist_plugindata_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/build/vars.docs.mk DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@ AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@ AUTOMARK_LIBS = @AUTOMARK_LIBS@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CHECK_CFLAGS = @CHECK_CFLAGS@ CHECK_LIBS = @CHECK_LIBS@ COMMANDER_CFLAGS = @COMMANDER_CFLAGS@ COMMANDER_LIBS = @COMMANDER_LIBS@ CPP = @CPP@ CPPCHECK = @CPPCHECK@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@ DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DEVHELP_CFLAGS = @DEVHELP_CFLAGS@ DEVHELP_LIBS = @DEVHELP_LIBS@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENCHANT_CFLAGS = @ENCHANT_CFLAGS@ ENCHANT_LIBS = @ENCHANT_LIBS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@ GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@ GEANYPY_CFLAGS = @GEANYPY_CFLAGS@ GEANY_CFLAGS = @GEANY_CFLAGS@ GEANY_LIBS = @GEANY_LIBS@ GEANY_VERSION = @GEANY_VERSION@ GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@ GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@ GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ GLIB_LIBS = @GLIB_LIBS@ GLIB_MKENUMS = @GLIB_MKENUMS@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GPGME_CFLAGS = @GPGME_CFLAGS@ GPGME_CONFIG = @GPGME_CONFIG@ GPGME_LIBS = @GPGME_LIBS@ GP_CFLAGS = @GP_CFLAGS@ GP_GTK_PACKAGE = @GP_GTK_PACKAGE@ GP_GTK_VERSION = @GP_GTK_VERSION@ GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@ GP_LDFLAGS = @GP_LDFLAGS@ GREP = @GREP@ GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@ GTKSPELL_LIBS = @GTKSPELL_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@ LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML_CFLAGS = @LIBXML_CFLAGS@ LIBXML_LIBS = @LIBXML_LIBS@ LIPO = @LIPO@ LN_S = @LN_S@ LOCALEDIR = @LOCALEDIR@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ LUA_CFLAGS = @LUA_CFLAGS@ LUA_LIBS = @LUA_LIBS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@ MARKDOWN_LIBS = @MARKDOWN_LIBS@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ MULTITERM_CFLAGS = @MULTITERM_CFLAGS@ MULTITERM_LIBS = @MULTITERM_LIBS@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ PTY_LIBS = @PTY_LIBS@ PYGTK_CFLAGS = @PYGTK_CFLAGS@ PYGTK_LIBS = @PYGTK_LIBS@ PYTHON = @PYTHON@ PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@ PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@ PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@ PYTHON_LIBRARY = @PYTHON_LIBRARY@ PYTHON_LIBS = @PYTHON_LIBS@ PYTHON_SITE_PKG = @PYTHON_SITE_PKG@ PYTHON_VERSION = @PYTHON_VERSION@ RANLIB = @RANLIB@ RST2HTML = @RST2HTML@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@ UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ VTE_CFLAGS = @VTE_CFLAGS@ VTE_LIBS = @VTE_LIBS@ WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@ WEBHELPER_LIBS = @WEBHELPER_LIBS@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ geanypluginsdir = @geanypluginsdir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ plugindocdir = $(docdir)/$(plugin) htmldocdir = $(plugindocdir) plugindatadir = $(pkgdatadir)/$(plugin) pluginlibdir = $(pkglibdir)/$(plugin) examplesdir = $(plugindatadir) plugin = devhelp dist_plugindata_DATA = \ devhelp-plugin.svg \ devhelp-plugin-48.png \ geany-devhelp-plugin.png \ home.html \ devhelp.conf all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/build/vars.docs.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign devhelp/data/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign devhelp/data/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/build/vars.docs.mk $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dist_plugindataDATA: $(dist_plugindata_DATA) @$(NORMAL_INSTALL) @list='$(dist_plugindata_DATA)'; test -n "$(plugindatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(plugindatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(plugindatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindatadir)" || exit $$?; \ done uninstall-dist_plugindataDATA: @$(NORMAL_UNINSTALL) @list='$(dist_plugindata_DATA)'; test -n "$(plugindatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(plugindatadir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(plugindatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dist_plugindataDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-dist_plugindataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am \ install-dist_plugindataDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-dist_plugindataDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: geany-plugins-1.27/devhelp/data/home.html0000644000175000017500000000072312671261352020700 0ustar00frlanfrlan00000000000000

      Geany Devhelp Plugin

      Use the Devhelp sidebar tab to navigate the documentation.

      Tip: Select a tag/symbol in your code, right click on the editor and choose the 'Search Devhelp for...' option to search for that tag in Devhelp.

      geany-plugins-1.27/devhelp/data/Makefile.am0000644000175000017500000000027312671261352021116 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.docs.mk plugin = devhelp dist_plugindata_DATA = \ devhelp-plugin.svg \ devhelp-plugin-48.png \ geany-devhelp-plugin.png \ home.html \ devhelp.conf geany-plugins-1.27/devhelp/data/devhelp.conf0000644000175000017500000000360512671261352021362 0ustar00frlanfrlan00000000000000 [webview] # Which notebook gets the webview # 0 - None (hidden) # 1 - Sidebar # 2 - Message Window # 3 - A new "Main Notebook" location=3 # When a search is triggered through the UI or keybinding, focus the webview # (show it's notebook page). focus_webview_on_search=true # If set, it's a URI to show in the webview when the plugin is loaded # If left blank, the last URI that was shown is used custom_homepage= # Tracks the last URI shown in the webview. # This is set by the plugin automatically on unload. # If not set (initial) custom_homepage will be shown if set or a default # page otherwise. last_uri= [doc_providers] # Use the integrated Devhelp widgets/features. devhelp=true # Use the system's manual pages (if man program is available) man_pages=true # Search Google Code and put the result page in the webview codesearch=true [devhelp] # Use the devhelp sidebar (search and browser UI). show_devhelp_sidebar=true # When using the devhelp sidebar, move the main sidebar's tabs to the bottom. set_sidebar_tabs_bottom=true # When searching with Devhelp, show the tab with the Devhelp sidebar in it. focus_sidebar_on_search=true [man_pages] # If the manual page program isn't in the path, you can set it's path. prog_path=man # Value to pass to -P option of man program pager_prog=col -b # Search manual page sections in this order. This value is directly passed # the man program's -S option. section_order=3:2:1:8:5:4:7:6 [codesearch] base_uri=http://www.google.com/codesearch # If Geany's filetype can be mapped to a Google code search language, then # specify the language to narrow down the search. use_lang_for_search=true # Other parameteres added to the end of the search URI just before loading # the URI in the webview. uri_params= [misc] # Where to put the tabs in the "main notebook" if it's being used. # 0 - Left # 1 - Right # 2 - Top # 3 - Bottom main_notebook_tab_pos=3 geany-plugins-1.27/devhelp/INSTALL0000644000175000017500000003633212671261352017207 0ustar00frlanfrlan00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. geany-plugins-1.27/devhelp/NEWS0000644000175000017500000000076412671261352016655 0ustar00frlanfrlan00000000000000Version 0.21 ------------ - Add support for searching Manual pages (if `man` program is available). - Add support for search Google Code and loading the results into the embedded WebKit browser. - Code cleanups, bug fixes and refactoring. Initial Release - Post 0.20 --------------------------- - Add the Devhelp plugin which integrates Devhelp user-interface directly into Geany's user-interface, allowing to jump directly to relevant GTK-DOC documentation from a selected symbol. geany-plugins-1.27/devhelp/COPYING0000644000175000017500000010451312671261352017206 0ustar00frlanfrlan00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . geany-plugins-1.27/devhelp/ChangeLog0000644000175000017500000000000012671261352017707 0ustar00frlanfrlan00000000000000geany-plugins-1.27/devhelp/src/0000755000175000017500000000000012671261442016736 5ustar00frlanfrlan00000000000000geany-plugins-1.27/devhelp/src/dhp-plugin.h0000644000175000017500000000230212671261352021153 0ustar00frlanfrlan00000000000000/* * plugin.h - Part of the Geany Devhelp Plugin * * Copyright 2010 Matthew Brush * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ #ifndef PLUGIN_COMMON_H #define PLUGIN_COMMON_H #include #include #include "dhp.h" extern GeanyPlugin *geany_plugin; extern GeanyData *geany_data; struct PluginData { gchar *default_config; gchar *user_config; DevhelpPlugin *devhelp; }; extern struct PluginData plugin; gboolean plugin_config_init (struct PluginData *pd); #endif geany-plugins-1.27/devhelp/src/dhp-manpages.c0000644000175000017500000001252712671261352021455 0ustar00frlanfrlan00000000000000#include #include #include #include #include #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include "dhp.h" #define DEVHELP_PLUGIN_MANPAGE_SECTIONS "3:2:1:8:5:4:7:6" #define DEVHELP_PLUGIN_MANPAGE_PAGER "col -b" #define DEVHELP_PLUGIN_MANPAGE_HTML_TEMPLATE \ "\n" \ "\n" \ " \n" \ " %s\n" \ " \n" \ " \n" \ " \n" \ "
      %s
      \n" \ " \n" \ "\n" /* Locates the path to the manpage found for the term and section. */ static gchar *devhelp_plugin_find_manpage_path(DevhelpPlugin *self, const gchar *term, const gchar *section) { gint retcode=0; gchar *cmd, *path=NULL; const gchar *man_path; g_return_val_if_fail(self != NULL, NULL); g_return_val_if_fail(term != NULL, NULL); if ((man_path = devhelp_plugin_get_man_prog_path(self)) == NULL) man_path = "man"; if (section == NULL) { cmd = g_strdup_printf("%s -S %s --where '%s'", man_path, DEVHELP_PLUGIN_MANPAGE_SECTIONS, term); } else cmd = g_strdup_printf("%s --where %s '%s'", man_path, section, term); if (!g_spawn_command_line_sync(cmd, &path, NULL, &retcode, NULL)) { g_free(cmd); return NULL; } g_free(cmd); if (retcode != 0) { g_free(path); return NULL; } return g_strstrip(path); } /* Read the text output from man or NULL. */ static gchar *devhelp_plugin_read_man_text(DevhelpPlugin *self, const gchar *filename) { gint retcode=0; gchar *cmd, *text=NULL; const gchar *man_path; g_return_val_if_fail(self != NULL, NULL); g_return_val_if_fail(filename != NULL, NULL); if ((man_path = devhelp_plugin_get_man_prog_path(self)) == NULL) man_path = "man"; cmd = g_strdup_printf("%s -P\"%s\" \'%s\'", man_path, DEVHELP_PLUGIN_MANPAGE_PAGER, filename); if (!g_spawn_command_line_sync(cmd, &text, NULL, &retcode, NULL)) { g_free(cmd); return NULL; } g_free(cmd); if (retcode != 0) { g_free(text); return NULL; } return text; } /** * Searches for a manual page, and if it finds one, writes its text into a *
       section in an HTML file, and returns the URI of the HTML file which
       * can be loaded into the webview.
       *
       * @param self Devhelp plugin.
       * @param term The search term to look for.
       * @param section The manual page section to look in or NULL.
       *
       * @return The URI to a temporary HTML file containing the man page text or
       * NULL on error.
       */
      gchar *devhelp_plugin_manpages_search(DevhelpPlugin *self, const gchar *term, const gchar *section)
      {
      	FILE *fp = NULL;
      	gint fd = -1;
      	gsize len;
      	gchar *man_fn = NULL, *tmp_fn = NULL, *uri = NULL;
      	gchar *text = NULL, *html_text = NULL;
      	const gchar *tmpl = "devhelp_manpage_XXXXXX.html";
      
      	g_return_val_if_fail(self != NULL, NULL);
      	g_return_val_if_fail(term != NULL, NULL);
      
      	if ((man_fn = devhelp_plugin_find_manpage_path(self, term, section)) == NULL)
      		goto error;
      
      	if ((fd = g_file_open_tmp(tmpl, &tmp_fn, NULL)) == -1)
      		goto error;
      
      	if ((fp = fdopen(fd, "w")) == NULL)
      		goto error;
      
      	if ((text = devhelp_plugin_read_man_text(self, man_fn)) == NULL)
      		goto error;
      
      	html_text = g_strdup_printf(DEVHELP_PLUGIN_MANPAGE_HTML_TEMPLATE, term, text);
      
      	len = strlen(html_text);
      	if (fwrite(html_text, sizeof(gchar), len, fp) != len)
      		goto error;
      
      	devhelp_plugin_add_temp_file(self, tmp_fn);
      
      	uri = g_filename_to_uri(tmp_fn, NULL, NULL);
      
      	g_free(man_fn);
      	g_free(tmp_fn);
      	g_free(text);
      	g_free(html_text);
      
      	fclose(fp);
      
      	return uri;
      
      error:
      	g_free(man_fn);
      	g_free(tmp_fn);
      	g_free(text);
      	g_free(html_text);
      	g_free(uri);
      	if (fp != NULL)
      		fclose(fp);
      	return NULL;
      }
      
      
      /**
       * Removes temporary files made by the plugin and frees the stored filenames
       * and the list used to hold them.
       *
       * @param self Devhelp plugin.
       */
      void devhelp_plugin_remove_manpages_temp_files(DevhelpPlugin *self)
      {
      	GList *temp_files, *iter;
      
      	g_return_if_fail(self != NULL);
      
      	temp_files = devhelp_plugin_get_temp_files(self);
      
      	if (temp_files == NULL)
      		return;
      
      	for (iter = temp_files; iter != NULL; iter = iter->next)
      	{
      		if (remove(iter->data) == -1)
      			g_warning("Unable to delete temp file: %s", strerror(errno));
      		g_free(iter->data);
      	}
      
      	g_list_free(temp_files);
      }
      
      
      /**
       * Adds a filename to the list of temp files to be deleted later.
       *
       * @param self Devhelp plugin.
       * @param filename The filename to track for future removal.
       */
      void devhelp_plugin_add_temp_file(DevhelpPlugin *self, const gchar *filename)
      {
      	GList *temp_files;
      
      	g_return_if_fail(self != NULL);
      
      	temp_files = devhelp_plugin_get_temp_files(self);
      	temp_files = g_list_append(temp_files, g_strdup(filename));
      }
      
      /**
       * Search for a term in Manual Pages and activate/show the plugin's UI stuff.
       *
       * @param dhplug	Devhelp plugin
       * @param term		The string to search for
       */
      void devhelp_plugin_search_manpages(DevhelpPlugin *self, const gchar *term)
      {
      	gchar *man_fn;
      
      	g_return_if_fail(self != NULL);
      	g_return_if_fail(term != NULL);
      
      	if ((man_fn = devhelp_plugin_manpages_search(self, term, NULL)) == NULL)
      		return;
      
      	devhelp_plugin_set_webview_uri(self, man_fn);
      
      	g_free(man_fn);
      
      	devhelp_plugin_activate_webview_tab(self);
      }
      geany-plugins-1.27/devhelp/src/Makefile.in0000644000175000017500000007672512671261401021017 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = devhelp/src
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
      	$(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(geanypluginsdir)"
      LTLIBRARIES = $(geanyplugins_LTLIBRARIES)
      am__DEPENDENCIES_1 =
      am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
      devhelp_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
      	$(top_builddir)/devhelp/devhelp/libdevhelp-2.la
      am_devhelp_la_OBJECTS = devhelp_la-dhp-manpages.lo \
      	devhelp_la-dhp-object.lo devhelp_la-dhp-plugin.lo
      devhelp_la_OBJECTS = $(am_devhelp_la_OBJECTS)
      AM_V_lt = $(am__v_lt_@AM_V@)
      am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
      am__v_lt_0 = --silent
      am__v_lt_1 = 
      devhelp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(devhelp_la_CFLAGS) \
      	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
      depcomp = $(SHELL) $(top_srcdir)/depcomp
      am__depfiles_maybe = depfiles
      am__mv = mv -f
      COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
      	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
      LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
      	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
      	$(AM_CFLAGS) $(CFLAGS)
      AM_V_CC = $(am__v_CC_@AM_V@)
      am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
      am__v_CC_0 = @echo "  CC      " $@;
      am__v_CC_1 = 
      CCLD = $(CC)
      LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
      	$(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_CCLD = $(am__v_CCLD_@AM_V@)
      am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
      am__v_CCLD_0 = @echo "  CCLD    " $@;
      am__v_CCLD_1 = 
      SOURCES = $(devhelp_la_SOURCES)
      DIST_SOURCES = $(devhelp_la_SOURCES)
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      HEADERS = $(noinst_HEADERS)
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/cppcheck.mk \
      	$(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      @MINGW_FALSE@GP_PREFIX = $(prefix)
      @MINGW_TRUE@GP_PREFIX = .
      @MINGW_FALSE@GP_DATADIR = $(datadir)
      @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share
      @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR)
      @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale
      @MINGW_FALSE@GP_DOCDIR = $(docdir)
      @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE)
      @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir)
      @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE)
      @MINGW_FALSE@GP_LIBDIR = $(libdir)
      @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib
      @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir)
      @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE)
      LOCAL_AM_CFLAGS = \
      	-DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \
      	-DPREFIX=\""$(GP_PREFIX)"\" \
      	-DDOCDIR=\""$(GP_DOCDIR)"\" \
      	-DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \
      	-DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \
      	-DLIBDIR=\""$(GP_LIBDIR)"\" \
      	-DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \
      	-DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \
      	-DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \
      	-DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \
      	-DPLUGIN="\"$(plugin)\""
      
      AM_CFLAGS = \
      	${LOCAL_AM_CFLAGS} \
      	$(GEANY_CFLAGS) \
      	$(GP_CFLAGS)
      
      AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS)
      COMMONLIBS = \
      	$(GEANY_LIBS) \
      	$(INTLLIBS)
      
      plugin = devhelp
      geanyplugins_LTLIBRARIES = devhelp.la
      devhelp_la_SOURCES = \
      	dhp-manpages.c \
      	dhp-object.c \
      	dhp-plugin.c
      
      EXTRA_DIST = \
      	dhp-settings.c
      
      noinst_HEADERS = \
      	dhp.h \
      	dhp-plugin.h
      
      devhelp_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"Devhelp\"
      devhelp_la_CFLAGS = \
      	$(AM_CFLAGS) \
      	-I$(top_srcdir)/devhelp \
      	$(DEVHELP_CFLAGS) \
      	-DDHPLUG_DATA_DIR=\"$(plugindatadir)\" \
      	-DHAVE_BOOK_MANAGER=1
      
      devhelp_la_LIBADD = \
      	$(COMMONLIBS) \
      	$(DEVHELP_LIBS) \
      	$(top_builddir)/devhelp/devhelp/libdevhelp-2.la
      
      all: all-am
      
      .SUFFIXES:
      .SUFFIXES: .c .lo .o .obj
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign devhelp/src/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign devhelp/src/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES)
      	@$(NORMAL_INSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	list2=; for p in $$list; do \
      	  if test -f $$p; then \
      	    list2="$$list2 $$p"; \
      	  else :; fi; \
      	done; \
      	test -z "$$list2" || { \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \
      	}
      
      uninstall-geanypluginsLTLIBRARIES:
      	@$(NORMAL_UNINSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	for p in $$list; do \
      	  $(am__strip_dir) \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \
      	done
      
      clean-geanypluginsLTLIBRARIES:
      	-test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES)
      	@list='$(geanyplugins_LTLIBRARIES)'; \
      	locs=`for p in $$list; do echo $$p; done | \
      	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
      	      sort -u`; \
      	test -z "$$locs" || { \
      	  echo rm -f $${locs}; \
      	  rm -f $${locs}; \
      	}
      
      devhelp.la: $(devhelp_la_OBJECTS) $(devhelp_la_DEPENDENCIES) $(EXTRA_devhelp_la_DEPENDENCIES) 
      	$(AM_V_CCLD)$(devhelp_la_LINK) -rpath $(geanypluginsdir) $(devhelp_la_OBJECTS) $(devhelp_la_LIBADD) $(LIBS)
      
      mostlyclean-compile:
      	-rm -f *.$(OBJEXT)
      
      distclean-compile:
      	-rm -f *.tab.c
      
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/devhelp_la-dhp-manpages.Plo@am__quote@
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/devhelp_la-dhp-object.Plo@am__quote@
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/devhelp_la-dhp-plugin.Plo@am__quote@
      
      .c.o:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
      
      .c.obj:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
      
      .c.lo:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
      @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
      
      devhelp_la-dhp-manpages.lo: dhp-manpages.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(devhelp_la_CPPFLAGS) $(CPPFLAGS) $(devhelp_la_CFLAGS) $(CFLAGS) -MT devhelp_la-dhp-manpages.lo -MD -MP -MF $(DEPDIR)/devhelp_la-dhp-manpages.Tpo -c -o devhelp_la-dhp-manpages.lo `test -f 'dhp-manpages.c' || echo '$(srcdir)/'`dhp-manpages.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/devhelp_la-dhp-manpages.Tpo $(DEPDIR)/devhelp_la-dhp-manpages.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dhp-manpages.c' object='devhelp_la-dhp-manpages.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(devhelp_la_CPPFLAGS) $(CPPFLAGS) $(devhelp_la_CFLAGS) $(CFLAGS) -c -o devhelp_la-dhp-manpages.lo `test -f 'dhp-manpages.c' || echo '$(srcdir)/'`dhp-manpages.c
      
      devhelp_la-dhp-object.lo: dhp-object.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(devhelp_la_CPPFLAGS) $(CPPFLAGS) $(devhelp_la_CFLAGS) $(CFLAGS) -MT devhelp_la-dhp-object.lo -MD -MP -MF $(DEPDIR)/devhelp_la-dhp-object.Tpo -c -o devhelp_la-dhp-object.lo `test -f 'dhp-object.c' || echo '$(srcdir)/'`dhp-object.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/devhelp_la-dhp-object.Tpo $(DEPDIR)/devhelp_la-dhp-object.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dhp-object.c' object='devhelp_la-dhp-object.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(devhelp_la_CPPFLAGS) $(CPPFLAGS) $(devhelp_la_CFLAGS) $(CFLAGS) -c -o devhelp_la-dhp-object.lo `test -f 'dhp-object.c' || echo '$(srcdir)/'`dhp-object.c
      
      devhelp_la-dhp-plugin.lo: dhp-plugin.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(devhelp_la_CPPFLAGS) $(CPPFLAGS) $(devhelp_la_CFLAGS) $(CFLAGS) -MT devhelp_la-dhp-plugin.lo -MD -MP -MF $(DEPDIR)/devhelp_la-dhp-plugin.Tpo -c -o devhelp_la-dhp-plugin.lo `test -f 'dhp-plugin.c' || echo '$(srcdir)/'`dhp-plugin.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/devhelp_la-dhp-plugin.Tpo $(DEPDIR)/devhelp_la-dhp-plugin.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dhp-plugin.c' object='devhelp_la-dhp-plugin.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(devhelp_la_CPPFLAGS) $(CPPFLAGS) $(devhelp_la_CFLAGS) $(CFLAGS) -c -o devhelp_la-dhp-plugin.lo `test -f 'dhp-plugin.c' || echo '$(srcdir)/'`dhp-plugin.c
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-am
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-am
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-am
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      @HAVE_CPPCHECK_FALSE@check-local:
      check-am: all-am
      	$(MAKE) $(AM_MAKEFLAGS) check-local
      check: check-am
      all-am: Makefile $(LTLIBRARIES) $(HEADERS)
      installdirs:
      	for dir in "$(DESTDIR)$(geanypluginsdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-am
      install-exec: install-exec-am
      install-data: install-data-am
      uninstall: uninstall-am
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-am
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-am
      
      clean-am: clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \
      	mostlyclean-am
      
      distclean: distclean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      distclean-am: clean-am distclean-compile distclean-generic \
      	distclean-tags
      
      dvi: dvi-am
      
      dvi-am:
      
      html: html-am
      
      html-am:
      
      info: info-am
      
      info-am:
      
      install-data-am: install-geanypluginsLTLIBRARIES
      
      install-dvi: install-dvi-am
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-am
      
      install-html-am:
      
      install-info: install-info-am
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-am
      
      install-pdf-am:
      
      install-ps: install-ps-am
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-am
      
      mostlyclean-am: mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool
      
      pdf: pdf-am
      
      pdf-am:
      
      ps: ps-am
      
      ps-am:
      
      uninstall-am: uninstall-geanypluginsLTLIBRARIES
      
      .MAKE: check-am install-am install-strip
      
      .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
      	clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \
      	cscopelist-am ctags ctags-am distclean distclean-compile \
      	distclean-generic distclean-libtool distclean-tags distdir dvi \
      	dvi-am html html-am info info-am install install-am \
      	install-data install-data-am install-dvi install-dvi-am \
      	install-exec install-exec-am install-geanypluginsLTLIBRARIES \
      	install-html install-html-am install-info install-info-am \
      	install-man install-pdf install-pdf-am install-ps \
      	install-ps-am install-strip installcheck installcheck-am \
      	installdirs maintainer-clean maintainer-clean-generic \
      	mostlyclean mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
      	uninstall-am uninstall-geanypluginsLTLIBRARIES
      
      .PRECIOUS: Makefile
      
      
      @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir)
      @HAVE_CPPCHECK_TRUE@	$(CPPCHECK) \
      @HAVE_CPPCHECK_TRUE@		-q --template gcc --error-exitcode=2 \
      @HAVE_CPPCHECK_TRUE@		$(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \
      @HAVE_CPPCHECK_TRUE@		$(srcdir)
      
      @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/devhelp/src/Makefile.am0000644000175000017500000000114312671261352020771 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk
      
      plugin = devhelp
      
      geanyplugins_LTLIBRARIES = devhelp.la
      
      devhelp_la_SOURCES = \
      	dhp-manpages.c \
      	dhp-object.c \
      	dhp-plugin.c
      
      EXTRA_DIST = \
      	dhp-settings.c
      
      noinst_HEADERS = \
      	dhp.h \
      	dhp-plugin.h
      
      devhelp_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"Devhelp\"
      devhelp_la_CFLAGS = \
      	$(AM_CFLAGS) \
      	-I$(top_srcdir)/devhelp \
      	$(DEVHELP_CFLAGS) \
      	-DDHPLUG_DATA_DIR=\"$(plugindatadir)\" \
      	-DHAVE_BOOK_MANAGER=1
      
      devhelp_la_LIBADD = \
      	$(COMMONLIBS) \
      	$(DEVHELP_LIBS) \
      	$(top_builddir)/devhelp/devhelp/libdevhelp-2.la
      
      include $(top_srcdir)/build/cppcheck.mk
      geany-plugins-1.27/devhelp/src/dhp-settings.c0000644000175000017500000002301412671261352021513 0ustar00frlanfrlan00000000000000/* Included directly into dhp-object.c just to keep this whole mess out
       * of that file until it's not done so stupidly. */
      
      void devhelp_plugin_load_settings(DevhelpPlugin *self, const gchar *filename)
      {
      	GError *error;
      	GKeyFile *kf;
      	gboolean value;
      
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	kf = g_key_file_new();
      	self->priv->kf = kf;
      
      	if (!g_key_file_load_from_file(kf, filename, G_KEY_FILE_KEEP_COMMENTS, NULL))
      		return;
      
      	if (g_key_file_has_group(kf, "webview"))
      	{
      		gchar *last_uri = NULL;
      		if (g_key_file_has_key(kf, "webview", "location", NULL))
      		{
      			gint location = g_key_file_get_integer(kf, "webview", "location", NULL);
      			switch(location)
      			{
      				case 0:
      					devhelp_plugin_set_webview_location(self,
      						DEVHELP_PLUGIN_WEBVIEW_LOCATION_NONE);
      					break;
      				case 1:
      					devhelp_plugin_set_webview_location(self,
      						DEVHELP_PLUGIN_WEBVIEW_LOCATION_SIDEBAR);
      					break;
      				case 2:
      					devhelp_plugin_set_webview_location(self,
      						DEVHELP_PLUGIN_WEBVIEW_LOCATION_MESSAGE_WINDOW);
      					break;
      				case 3:
      					devhelp_plugin_set_webview_location(self,
      						DEVHELP_PLUGIN_WEBVIEW_LOCATION_MAIN_NOTEBOOK);
      					break;
      				default:
      					g_warning("Unknown webview location %d", location);
      					break;
      			}
      		}
      
      		if (g_key_file_has_key(kf, "webview", "focus_webview_on_search", NULL))
      		{
      			self->priv->focus_webview_on_search = \
      				g_key_file_get_boolean(kf, "webview", "focus_webview_on_search", NULL);
      		}
      
      		if (g_key_file_has_key(kf, "webview", "last_uri", NULL))
      		{
      			last_uri = g_key_file_get_string(kf, "webview", "last_uri", NULL);
      			if (last_uri != NULL && strlen(last_uri) == 0)
      			{
      				g_free(last_uri);
      				last_uri = NULL;
      			}
      		}
      
      		if (g_key_file_has_key(kf, "webview", "custom_homepage", NULL))
      		{
      			gchar *custom_homepage;
      
      			custom_homepage = g_key_file_get_string(kf, "webview", "custom_homepage", NULL);
      			if (custom_homepage != NULL && strlen(custom_homepage) == 0)
      			{
      				g_free(custom_homepage);
      				custom_homepage = NULL;
      			}
      			else if (custom_homepage != NULL)
      			{
      				g_free(last_uri); /* always NULL or valid string */
      				last_uri = g_strdup(custom_homepage);
      			}
      			self->priv->custom_homepage = custom_homepage;
      		}
      
      		if (last_uri != NULL)
      		{
      			devhelp_plugin_set_webview_uri(self, last_uri);
      			g_free(last_uri);
      		}
      
      	} /* webview group */
      
      	if (g_key_file_has_group(kf, "doc_providers"))
      	{
      
      		if (g_key_file_has_key(kf, "doc_providers", "devhelp", NULL))
      		{
      			error = NULL;
      			value = g_key_file_get_boolean(kf, "doc_providers", "devhelp", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else
      				devhelp_plugin_set_use_devhelp(self, value);
      		}
      
      		if (g_key_file_has_key(kf, "doc_providers", "man_pages", NULL))
      		{
      			error = NULL;
      			value = g_key_file_get_boolean(kf, "doc_providers", "man_pages", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else
      				devhelp_plugin_set_use_man(self, value);
      		}
      
      		if (g_key_file_has_key(kf, "doc_providers", "codesearch", NULL))
      		{
      			error = NULL;
      			value = g_key_file_get_boolean(kf, "doc_providers", "codesearch", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else
      				devhelp_plugin_set_use_codesearch(self, value);
      		}
      
      	} /* doc_providers group */
      
      	if (g_key_file_has_group(kf, "devhelp"))
      	{
      		if (g_key_file_has_key(kf, "devhelp", "show_devhelp_sidebar", NULL))
      		{
      			error = NULL;
      			value = g_key_file_get_boolean(kf, "devhelp", "show_devhelp_sidebar", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else
      				devhelp_plugin_set_devhelp_sidebar_visible(self, value);
      		}
      
      		if (g_key_file_has_key(kf, "devhelp", "set_sidebar_tabs_bottom", NULL))
      		{
      			error = NULL;
      			value = g_key_file_get_boolean(kf, "devhelp", "set_sidebar_tabs_bottom", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else
      				devhelp_plugin_set_sidebar_tabs_bottom(self, value);
      		}
      
      		if (g_key_file_has_key(kf, "devhelp", "focus_sidebar_on_search", NULL))
      		{
      			error = NULL;
      			value = g_key_file_get_boolean(kf, "devhelp", "focus_sidebar_on_search", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else
      				self->priv->focus_sidebar_on_search = value;
      		}
      
      	} /* devhelp group */
      
      	if (g_key_file_has_group(kf, "man_pages"))
      	{
      
      		if (g_key_file_has_key(kf, "man_pages", "prog_path", NULL))
      		{
      			gchar *man_path;
      			error = NULL;
      			man_path = g_key_file_get_string(kf, "man_pages", "prog_path", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else if (strlen(man_path) == 0)
      				g_free(man_path);
      			else
      			{
      				g_free(self->priv->man_prog_path);
      				self->priv->man_prog_path = man_path;
      			}
      		}
      
      		if (g_key_file_has_key(kf, "man_pages", "pager_prog", NULL))
      		{
      			gchar *pager;
      			error = NULL;
      			pager = g_key_file_get_string(kf, "man_pages", "pager_prog", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else if (strlen(pager) == 0)
      				g_free(pager);
      			else
      			{
      				g_free(self->priv->man_pager_prog);
      				self->priv->man_pager_prog = pager;
      			}
      		}
      
      		if (g_key_file_has_key(kf, "man_pages", "section_order", NULL))
      		{
      			gchar *sect;
      			error = NULL;
      			sect = g_key_file_get_string(kf, "man_pages", "section_order", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else if (strlen(sect) == 0)
      				g_free(sect);
      			else
      			{
      				g_free(self->priv->man_section_order);
      				self->priv->man_section_order = sect;
      			}
      		}
      
      	} /* man_pages group */
      
      	if (g_key_file_has_group(kf, "codesearch"))
      	{
      		gchar *uri;
      
      		if (g_key_file_has_key(kf, "codesearch", "base_uri", NULL))
      		{
      			error = NULL;
      			uri = g_key_file_get_string(kf, "codesearch", "base_uri", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else if (strlen(uri) == 0)
      				g_free(uri);
      			else
      			{
      				g_free(self->priv->codesearch_base_uri);
      				self->priv->codesearch_base_uri = uri;
      			}
      		}
      
      		if (g_key_file_has_key(kf, "codesearch", "uri_params", NULL))
      		{
      			error = NULL;
      			uri = g_key_file_get_string(kf, "codesearch", "uri_params", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else if (strlen(uri) == 0)
      				g_free(uri);
      			else
      			{
      				g_free(self->priv->codesearch_params);
      				self->priv->codesearch_params = uri;
      			}
      		}
      
      		if (g_key_file_has_key(kf, "codesearch", "use_lang_for_search", NULL))
      		{
      			error = NULL;
      			value = g_key_file_get_boolean(kf, "codesearch", "use_lang_for_search", &error);
      			if (error != NULL)
      				g_error_free(error);
      			else
      				self->priv->codesearch_use_lang = value;
      		}
      
      	} /* codesearch group */
      
      	if (g_key_file_has_group(kf, "misc"))
      	{
      		gint pos;
      		error = NULL;
      		pos = g_key_file_get_integer(kf, "misc", "main_notebook_tab_pos", &error);
      		if (error != NULL)
      			g_error_free(error);
      		else
      		{
      			switch (pos)
      			{
      				case 0:
      					self->priv->main_nb_tab_pos = GTK_POS_LEFT;
      					break;
      				case 1:
      					self->priv->main_nb_tab_pos = GTK_POS_RIGHT;
      					break;
      				case 2:
      					self->priv->main_nb_tab_pos = GTK_POS_TOP;
      					break;
      				case 3:
      					self->priv->main_nb_tab_pos = GTK_POS_BOTTOM;
      					break;
      			}
      			if (self->priv->location == DEVHELP_PLUGIN_WEBVIEW_LOCATION_MAIN_NOTEBOOK)
      			{
      				gtk_notebook_set_tab_pos(GTK_NOTEBOOK(self->priv->main_notebook),
      					self->priv->main_nb_tab_pos);
      			}
      		}
      	} /* misc group */
      }
      
      
      void devhelp_plugin_store_settings(DevhelpPlugin *self, const gchar *filename)
      {
      	gchar *text;
      	GKeyFile *kf;
      
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	if (self->priv->kf == NULL)
      		self->priv->kf = g_key_file_new();
      	kf = self->priv->kf;
      
          g_key_file_set_integer(kf, "webview", "location", (gint)self->priv->location);
          g_key_file_set_boolean(kf, "webview", "focus_webview_on_search", self->priv->focus_webview_on_search);
          g_key_file_set_string(kf, "webview", "custom_homepage", self->priv->custom_homepage != NULL ? self->priv->custom_homepage : "");
          g_key_file_set_string(kf, "webview", "last_uri", devhelp_plugin_get_webview_uri(self));
      
          g_key_file_set_boolean(kf, "doc_providers", "devhelp", self->priv->use_devhelp);
          g_key_file_set_boolean(kf, "doc_providers", "man_pages", self->priv->use_man);
          g_key_file_set_boolean(kf, "doc_providers", "codesearch", self->priv->use_codesearch);
      
          g_key_file_set_boolean(kf, "devhelp", "show_devhelp_sidebar",
      #if GTK_CHECK_VERSION(2,18,0)
            gtk_widget_get_visible(self->priv->sb_notebook)
      #else
            GTK_WIDGET_VISIBLE(self->priv->sb_notebook)
      #endif
          );
          g_key_file_set_boolean(kf, "devhelp", "set_sidebar_tabs_bottom", devhelp_plugin_get_sidebar_tabs_bottom(self));
          g_key_file_set_boolean(kf, "devhelp", "focus_sidebar_on_search", self->priv->focus_sidebar_on_search);
      
          g_key_file_set_string(kf, "man_pages", "prog_path", self->priv->man_prog_path);
          g_key_file_set_string(kf, "man_pages", "page_prog", self->priv->man_pager_prog);
          g_key_file_set_string(kf, "man_pages", "section_order", self->priv->man_section_order);
      
          g_key_file_set_string(kf, "codesearch", "base_uri", self->priv->codesearch_base_uri);
          g_key_file_set_string(kf, "codesearch", "uri_params", self->priv->codesearch_params != NULL ? self->priv->codesearch_params : "");
          g_key_file_set_boolean(kf, "codesearch", "use_lang_for_search", self->priv->codesearch_use_lang);
      
          switch(self->priv->main_nb_tab_pos)
          {
      		case GTK_POS_LEFT:
      			g_key_file_set_integer(kf, "misc", "main_notebook_tab_pos", 0);
      			break;
      		case GTK_POS_RIGHT:
      			g_key_file_set_integer(kf, "misc", "main_notebook_tab_pos", 1);
      			break;
      		case GTK_POS_TOP:
      			g_key_file_set_integer(kf, "misc", "main_notebook_tab_pos", 2);
      			break;
      		case GTK_POS_BOTTOM:
      			g_key_file_set_integer(kf, "misc", "main_notebook_tab_pos", 3);
      			break;
      	}
      
      	text = g_key_file_to_data(kf, NULL, NULL);
      	g_file_set_contents(filename, text, -1, NULL);
      	g_free(text);
      }
      geany-plugins-1.27/devhelp/src/dhp-plugin.c0000644000175000017500000001274512671261352021162 0ustar00frlanfrlan00000000000000/*
       * plugin.c - Part of the Geany Devhelp Plugin
       *
       * Copyright 2010 Matthew Brush 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 3 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #include 
      #include  /* for g_mkdir_with_parents, is it portable? */
      
      #include 
      #include  /* for keybindings */
      
      #ifdef HAVE_CONFIG_H
      #include "config.h"
      #endif
      #include 
      
      #include 
      
      #include "dhp-plugin.h"
      #include "dhp.h"
      
      
      PLUGIN_VERSION_CHECK(224)
      
      PLUGIN_SET_TRANSLATABLE_INFO(
      	LOCALEDIR,
      	GETTEXT_PACKAGE,
      	_("Devhelp Plugin"),
      	_("Adds support for looking up documentation in Devhelp, manual pages, and "
      	  "Google Code Search in the integrated viewer."),
      	"1.0", "Matthew Brush ")
      
      
      GeanyPlugin	 	*geany_plugin;
      GeanyData	   	*geany_data;
      
      struct PluginData plugin;
      
      /* keybindings */
      enum
      {
      	KB_DEVHELP_TOGGLE_CONTENTS,
      	KB_DEVHELP_TOGGLE_SEARCH,
      	KB_DEVHELP_TOGGLE_WEBVIEW,
      	KB_DEVHELP_ACTIVATE_DEVHELP,
      	KB_DEVHELP_SEARCH_SYMBOL,
      	KB_DEVHELP_SEARCH_MANPAGES,
      	KB_COUNT
      };
      
      /* Called when a keybinding is activated */
      static void kb_activate(guint key_id)
      {
      	gchar *current_tag;
      
      	switch (key_id)
      	{
      		case KB_DEVHELP_TOGGLE_CONTENTS:
      			devhelp_plugin_toggle_contents_tab(plugin.devhelp);
      			break;
      		case KB_DEVHELP_TOGGLE_SEARCH:
      			devhelp_plugin_toggle_search_tab(plugin.devhelp);
      			break;
      		case KB_DEVHELP_TOGGLE_WEBVIEW: /* not working */
      			devhelp_plugin_toggle_webview_tab(plugin.devhelp);
      			break;
      		case KB_DEVHELP_ACTIVATE_DEVHELP:
      			devhelp_plugin_activate_all_tabs(plugin.devhelp);
      			break;
      		case KB_DEVHELP_SEARCH_SYMBOL:
      		{
      			current_tag = devhelp_plugin_get_current_word(plugin.devhelp);
      			if (current_tag == NULL)
      				return;
      			devhelp_plugin_search_books(plugin.devhelp, current_tag);
      			g_free(current_tag);
      			break;
      		}
      		case KB_DEVHELP_SEARCH_MANPAGES:
      		{
      			current_tag = devhelp_plugin_get_current_word(plugin.devhelp);
      			if (current_tag == NULL)
      				return;
      			devhelp_plugin_search_manpages(plugin.devhelp, current_tag);
      			g_free(current_tag);
      			break;
      		}
      	}
      }
      
      
      gboolean plugin_config_init(struct PluginData *pd)
      {
      	gchar *user_config_dir;
      
      	g_return_val_if_fail(pd != NULL, FALSE);
      
      	plugin.default_config = g_build_path(G_DIR_SEPARATOR_S, DHPLUG_DATA_DIR, "devhelp.conf", NULL);
      
      	user_config_dir = g_build_path(G_DIR_SEPARATOR_S, geany_data->app->configdir, "plugins", "devhelp", NULL);
      	plugin.user_config = g_build_path(G_DIR_SEPARATOR_S, user_config_dir, "devhelp.conf", NULL);
      	if (g_mkdir_with_parents(user_config_dir, S_IRUSR | S_IWUSR | S_IXUSR) != 0)
      	{
      		g_warning(_("Unable to create config dir at '%s'"), user_config_dir);
      		g_free(user_config_dir);
      		return FALSE;
      	}
      	g_free(user_config_dir);
      
      	/* copy default config into user config if it doesn't exist */
      	if (!g_file_test(pd->user_config, G_FILE_TEST_EXISTS))
      	{
      		gchar *config_text;
      		GError *error;
      
      		error = NULL;
      		if (!g_file_get_contents(pd->default_config, &config_text, NULL, &error))
      		{
      			g_warning(_("Unable to get default configuration: %s"), error->message);
      			g_error_free(error);
      			return FALSE;
      		}
      		else
      		{
      			if (!g_file_set_contents(pd->user_config, config_text, -1, &error))
      			{
      				g_warning(_("Unable to write default configuration: %s"), error->message);
      				g_error_free(error);
      				return FALSE;
      			}
      		}
      	}
      
      	return TRUE;
      }
      
      
      void plugin_init(GeanyData *data)
      {
      	GeanyKeyGroup *key_group;
      
      	plugin_module_make_resident(geany_plugin);
      
      	if (!g_thread_supported())
      		g_thread_init(NULL);
      
      	memset(&plugin, 0, sizeof(struct PluginData));
      
      	plugin.devhelp = devhelp_plugin_new();
      	plugin_config_init(&plugin);
      
      	devhelp_plugin_load_settings(plugin.devhelp, plugin.user_config);
      
      	key_group = plugin_set_key_group(geany_plugin, "devhelp", KB_COUNT, NULL);
      
      	keybindings_set_item(key_group, KB_DEVHELP_TOGGLE_CONTENTS, kb_activate,
      		0, 0, "devhelp_toggle_contents", _("Toggle sidebar contents tab"), NULL);
      	keybindings_set_item(key_group, KB_DEVHELP_TOGGLE_SEARCH, kb_activate,
      		0, 0, "devhelp_toggle_search", _("Toggle sidebar search tab"), NULL);
      	keybindings_set_item(key_group, KB_DEVHELP_TOGGLE_WEBVIEW, kb_activate,
      		0, 0, "devhelp_toggle_webview", _("Toggle documentation tab"), NULL);
      	keybindings_set_item(key_group, KB_DEVHELP_ACTIVATE_DEVHELP, kb_activate,
      		0, 0, "devhelp_activate_all", _("Activate all tabs"), NULL);
      	keybindings_set_item(key_group, KB_DEVHELP_SEARCH_SYMBOL, kb_activate,
      		0, 0, "devhelp_search_symbol", _("Search for current tag in Devhelp"), NULL);
      	if (devhelp_plugin_get_have_man_prog(plugin.devhelp))
      	{
      		keybindings_set_item(key_group, KB_DEVHELP_SEARCH_MANPAGES, kb_activate,
      			0, 0, "devhelp_search_manpages", _("Search for current tag in Manual Pages"), NULL);
      	}
      }
      
      
      void plugin_cleanup(void)
      {
      	devhelp_plugin_store_settings(plugin.devhelp, plugin.user_config);
      	g_object_unref(plugin.devhelp);
      	g_free(plugin.default_config);
      	g_free(plugin.user_config);
      }
      geany-plugins-1.27/devhelp/src/dhp.h0000644000175000017500000001301512671261352017662 0ustar00frlanfrlan00000000000000/*
       * devhelpplugin.h
       *
       * Copyright 2011 Matthew Brush 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 2 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #ifndef DEVHELP_PLUGIN_COMMON_H
      #define DEVHELP_PLUGIN_COMMON_H
      
      #include 
      #include 
      
      G_BEGIN_DECLS
      
      
      #ifndef DHPLUG_DATA_DIR
      #define DHPLUG_DATA_DIR "/usr/local/share/geany-devhelp"
      #endif
      
      #define DHPLUG_WEBVIEW_HOME_FILE DHPLUG_DATA_DIR "/home.html"
      #define DHPLUG_MAX_LABEL_TAG 30 /* never search for more than this many chars */
      
      #define DEVHELP_PLUGIN_WEBVIEW_TAB_LABEL	_("Documentation")
      #define DEVHELP_PLUGIN_DOCUMENTS_TAB_LABEL	_("Code")
      
      #define DEVHELP_TYPE_PLUGIN				(devhelp_plugin_get_type())
      #define DEVHELP_PLUGIN(obj)				(G_TYPE_CHECK_INSTANCE_CAST((obj), DEVHELP_TYPE_PLUGIN, DevhelpPlugin))
      #define DEVHELP_PLUGIN_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST((klass), DEVHELP_TYPE_PLUGIN, DevhelpPluginClass))
      #define DEVHELP_IS_PLUGIN(obj)			(G_TYPE_CHECK_INSTANCE_TYPE((obj), DEVHELP_TYPE_PLUGIN))
      #define DEVHELP_IS_PLUGIN_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE((klass), DEVHELP_TYPE_PLUGIN))
      #define DEVHELP_PLUGIN_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS((obj), DEVHELP_TYPE_PLUGIN, DevhelpPluginClass))
      
      
      typedef struct	_DevhelpPlugin			DevhelpPlugin;
      typedef struct	_DevhelpPluginClass		DevhelpPluginClass;
      typedef struct	_DevhelpPluginPrivate	DevhelpPluginPrivate;
      
      
      struct _DevhelpPlugin
      {
          GObject parent;
          DevhelpPluginPrivate *priv;
      };
      
      
      struct _DevhelpPluginClass
      {
          GObjectClass parent_class;
      };
      
      
      typedef enum
      {
      	DEVHELP_PLUGIN_WEBVIEW_LOCATION_NONE,
      	DEVHELP_PLUGIN_WEBVIEW_LOCATION_SIDEBAR,
      	DEVHELP_PLUGIN_WEBVIEW_LOCATION_MESSAGE_WINDOW,
      	DEVHELP_PLUGIN_WEBVIEW_LOCATION_MAIN_NOTEBOOK
      } DevhelpPluginWebViewLocation;
      
      
      GType			devhelp_plugin_get_type	(void);
      DevhelpPlugin*	devhelp_plugin_new		(void);
      
      
      void			devhelp_plugin_load_settings			(DevhelpPlugin *self, const gchar *filename);
      void			devhelp_plugin_store_settings			(DevhelpPlugin *self, const gchar *filename);
      
      
      /* Property getters */
      gchar*			devhelp_plugin_get_current_word			(DevhelpPlugin *self);
      const gchar*	devhelp_plugin_get_webview_uri			(DevhelpPlugin *self);
      gboolean		devhelp_plugin_get_sidebar_tabs_bottom	(DevhelpPlugin *self);
      gboolean		devhelp_plugin_get_ui_active			(DevhelpPlugin *self);
      gboolean		devhelp_plugin_get_in_message_window	(DevhelpPlugin *self);
      gfloat			devhelp_plugin_get_zoom_level			(DevhelpPlugin *self);
      WebKitWebView*	devhelp_plugin_get_webview				(DevhelpPlugin *self);
      GList*			devhelp_plugin_get_temp_files			(DevhelpPlugin *self);
      const gchar*	devhelp_plugin_get_man_prog_path		(DevhelpPlugin *self);
      gboolean		devhelp_plugin_get_have_man_prog		(DevhelpPlugin *self);
      
      
      /* Property setters */
      void			devhelp_plugin_set_webview_uri			(DevhelpPlugin *self, const gchar *uri);
      void			devhelp_plugin_set_sidebar_tabs_bottom	(DevhelpPlugin *self, gboolean bottom);
      void			devhelp_plugin_set_ui_active			(DevhelpPlugin *self, gboolean active);
      void			devhelp_plugin_set_in_message_window	(DevhelpPlugin *self, gboolean in_msgwin);
      void			devhelp_plugin_set_zoom_level			(DevhelpPlugin *self, gfloat zoom_level);
      
      
      /* Methods */
      void			devhelp_plugin_activate_ui				(DevhelpPlugin *self, gboolean show_search_tab);
      void			devhelp_plugin_activate_search_tab		(DevhelpPlugin *self);
      void			devhelp_plugin_activate_contents_tab	(DevhelpPlugin *self);
      void			devhelp_plugin_activate_webview_tab		(DevhelpPlugin *self);
      void			devhelp_plugin_activate_all_tabs		(DevhelpPlugin *self);
      
      void			devhelp_plugin_toggle_search_tab		(DevhelpPlugin *self);
      void			devhelp_plugin_toggle_contents_tab		(DevhelpPlugin *self);
      void			devhelp_plugin_toggle_webview_tab		(DevhelpPlugin *self);
      
      void 			devhelp_plugin_search					(DevhelpPlugin *self, const gchar *term);
      void 			devhelp_plugin_search_books				(DevhelpPlugin *self, const gchar *term);
      void			devhelp_plugin_search_code				(DevhelpPlugin *self, const gchar *term, const gchar *lang);
      
      
      /* Manual pages (see manpages.c) */
      void 			devhelp_plugin_search_manpages				(DevhelpPlugin *self, const gchar *term);
      gchar*			devhelp_plugin_manpages_search				(DevhelpPlugin *self, const gchar *term, const gchar *section);
      void			devhelp_plugin_add_temp_file				(DevhelpPlugin *self, const gchar *filename);
      void			devhelp_plugin_remove_manpages_temp_files	(DevhelpPlugin *self);
      
      
      /* TODO: make properties for these */
      gboolean devhelp_plugin_get_devhelp_sidebar_visible(DevhelpPlugin *self);
      void devhelp_plugin_set_devhelp_sidebar_visible(DevhelpPlugin *self, gboolean visible);
      gboolean devhelp_plugin_get_use_devhelp(DevhelpPlugin *self);
      void devhelp_plugin_set_use_devhelp(DevhelpPlugin *self, gboolean use);
      gboolean devhelp_plugin_get_use_man(DevhelpPlugin *self);
      void devhelp_plugin_set_use_man(DevhelpPlugin *self, gboolean use);
      gboolean devhelp_plugin_get_use_codesearch(DevhelpPlugin *self);
      void devhelp_plugin_set_use_codesearch(DevhelpPlugin *self, gboolean use);
      
      
      G_END_DECLS
      #endif /* DEVHELP_PLUGIN_H */
      geany-plugins-1.27/devhelp/src/dhp-object.c0000644000175000017500000012110712671261352021123 0ustar00frlanfrlan00000000000000/*
       * devhelpplugin.c
       *
       * Copyright 2011 Matthew Brush 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 2 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #include 
      #include 
      #include 
      
      #ifdef HAVE_CONFIG_H
      #include "config.h"
      #endif
      #include 
      
      #include 
      #include 
      #include 
      #include 
      
      #ifdef HAVE_BOOK_MANAGER /* for newer api */
      #include 
      #endif
      
      #include 
      
      #include "dhp.h"
      #include "dhp-plugin.h"
      
      
      struct _DevhelpPluginPrivate
      {
      	/* Devhelp stuff */
      	DhBase*			dhbase;
          GtkWidget*		book_tree;			/* "Contents" in the sidebar */
          GtkWidget*		search;				/* "Search" in the sidebar */
          GtkWidget*		sb_notebook;		/* Notebook that holds contents/search */
      
          /* Webview stuff */
          GtkWidget*		webview;			/* Webkit that shows documentation */
          GtkWidget*		webview_tab;		/* The widget that has webview related stuff */
          GtkToolItem*	btn_back;			/* the webkit browser back button in the toolbar */
          GtkToolItem*	btn_forward;		/* the webkit browser forward button in the toolbar */
          DevhelpPluginWebViewLocation location; /* where to pack the webview */
      
      	/* Other widgets */
          GtkWidget*		main_notebook;		/* Notebook that holds Geany doc notebook and and webkit view */
          GtkWidget*		editor_menu_item;	/* Item in the editor's context menu */
          GtkWidget*		editor_menu_sep;	/* Separator item above menu item */
      
      	/* Position/tab number tracking */
          gboolean		last_main_tab_id;	/* These track the last id of the tabs */
          gboolean		last_sb_tab_id;		/*   before toggling */
          gboolean		tabs_toggled;		/* Tracks state of whether to toggle to Devhelp or back to code */
          GtkPositionType	orig_sb_tab_pos;	/* The tab idx of the initial sidebar tab */
          gboolean		in_message_window;	/* whether the webkit stuff is in the msgwin */
      
          GList*			temp_files;			/* Tracks temp files made by the plugin to delete later. */
      
      	GKeyFile*	kf;
      	gboolean	focus_webview_on_search;
      	gboolean	focus_sidebar_on_search;
      	gchar*		custom_homepage;
      	gboolean	use_devhelp;
      	gboolean	use_man;
      	gboolean	use_codesearch;
      
      	gchar*		man_prog_path;
      	gchar*		man_pager_prog;
      	gchar*		man_section_order;
      
      	gchar*		codesearch_base_uri;
      	gchar*		codesearch_params;
      	gboolean	codesearch_use_lang;
      
          GtkPositionType main_nb_tab_pos;
      };
      
      
      G_DEFINE_TYPE(DevhelpPlugin, devhelp_plugin, G_TYPE_OBJECT)
      
      
      enum
      {
      	PROP_0,
      	PROP_CURRENT_WORD,
      	PROP_WEBVIEW_URI,
      	PROP_SIDEBAR_TABS_BOTTOM,
      	PROP_UI_ACTIVE,
      	PROP_IN_MESSAGE_WINDOW,
      	PROP_ZOOM_LEVEL,
      	PROP_WEBVIEW,
      	PROP_TEMP_FILES,
      	PROP_MAN_PROG_PATH,
      	PROP_HAVE_MAN_PROG,
      	PROP_LAST
      };
      
      
      /* Causes problems if it gets re-initialized so leave global for now */
      static DhBase *dhbase = NULL;
      
      
      /* Internal callbacks */
      static void on_search_help_activate(GtkMenuItem * menuitem, DevhelpPlugin *self);
      static void on_search_help_man_activate(GtkMenuItem * menuitem, DevhelpPlugin *self);
      static void on_editor_menu_popup(GtkWidget * widget, DevhelpPlugin *self);
      static void on_link_clicked(GObject * ignored, DhLink * dhlink, DevhelpPlugin *self);
      static void on_back_button_clicked(GtkToolButton * btn, DevhelpPlugin *self);
      static void on_forward_button_clicked(GtkToolButton * btn, DevhelpPlugin *self);
      static void on_zoom_in_button_clicked(GtkToolButton * btn, DevhelpPlugin *self);
      static void on_zoom_out_button_clicked(GtkToolButton *btn, DevhelpPlugin *self);
      static void on_document_load_finished(WebKitWebView *view, WebKitWebFrame *frame, DevhelpPlugin *self);
      static void on_uri_changed_notify(GObject *object, GParamSpec *pspec, DevhelpPlugin *self);
      static void on_load_status_changed_notify(GObject *object, GParamSpec *pspec, DevhelpPlugin *self);
      
      /* Misc internal functions */
      static inline void update_history_buttons(DevhelpPlugin *self);
      static inline gchar* clean_word(gchar *str);
      static GtkWidget* devhelp_plugin_ref_unpack_webview_tab(DevhelpPlugin *self);
      static void devhelp_plugin_set_webview_location(DevhelpPlugin *self, DevhelpPluginWebViewLocation location);
      
      
      /* include long boring code from dhp-settings.c */
      #include "dhp-settings.c"
      
      
      static void devhelp_plugin_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)
      {
      	DevhelpPlugin *self = DEVHELP_PLUGIN(object);
      
      	switch(property_id)
      	{
      		case PROP_WEBVIEW_URI:
      			devhelp_plugin_set_webview_uri(self, g_value_get_string(value));
      			break;
      		case PROP_SIDEBAR_TABS_BOTTOM:
      			devhelp_plugin_set_sidebar_tabs_bottom(self, g_value_get_boolean(value));
      			break;
      		case PROP_UI_ACTIVE:
      			devhelp_plugin_set_ui_active(self, g_value_get_boolean(value));
      			break;
      		case PROP_IN_MESSAGE_WINDOW:
      			devhelp_plugin_set_in_message_window(self, g_value_get_boolean(value));
      			break;
      		case PROP_ZOOM_LEVEL:
      			devhelp_plugin_set_zoom_level(self, g_value_get_float(value));
      			break;
      		default:
      			G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
      			break;
      	}
      }
      
      
      static void devhelp_plugin_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
      {
      	DevhelpPlugin *self = DEVHELP_PLUGIN(object);
      
      	switch(property_id)
      	{
      		case PROP_CURRENT_WORD:
      			g_value_set_string(value, devhelp_plugin_get_current_word(self));
      			break;
      		case PROP_WEBVIEW_URI:
      			g_value_set_string(value, devhelp_plugin_get_webview_uri(self));
      			break;
      		case PROP_SIDEBAR_TABS_BOTTOM:
      			g_value_set_boolean(value, devhelp_plugin_get_sidebar_tabs_bottom(self));
      			break;
      		case PROP_UI_ACTIVE:
      			g_value_set_boolean(value, devhelp_plugin_get_ui_active(self));
      			break;
      		case PROP_IN_MESSAGE_WINDOW:
      			g_value_set_boolean(value, devhelp_plugin_get_in_message_window(self));
      			break;
      		case PROP_ZOOM_LEVEL:
      			g_value_set_float(value, devhelp_plugin_get_zoom_level(self));
      			break;
      		case PROP_WEBVIEW:
      			g_value_set_object(value, devhelp_plugin_get_webview(self));
      			break;
      		case PROP_TEMP_FILES:
      			g_value_set_pointer(value, devhelp_plugin_get_temp_files(self));
      			break;
      		case PROP_MAN_PROG_PATH:
      			g_value_set_string(value, devhelp_plugin_get_man_prog_path(self));
      			break;
      		case PROP_HAVE_MAN_PROG:
      			g_value_set_boolean(value, devhelp_plugin_get_have_man_prog(self));
      			break;
      		default:
      			G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
      			break;
      	}
      }
      
      
      /* Put cleanup code in here */
      static void devhelp_plugin_finalize(GObject * object)
      {
      	DevhelpPlugin *self;
      
      	g_return_if_fail(object != NULL);
      	g_return_if_fail(DEVHELP_IS_PLUGIN(object));
      
      	self = DEVHELP_PLUGIN(object);
      
      	devhelp_plugin_set_sidebar_tabs_bottom(self, FALSE);
      	devhelp_plugin_remove_manpages_temp_files(self);
      
      	gtk_widget_destroy(self->priv->sb_notebook);
      
      	gtk_widget_unref(devhelp_plugin_ref_unpack_webview_tab(self));
      
      	gtk_widget_destroy(self->priv->editor_menu_sep);
      	gtk_widget_destroy(self->priv->editor_menu_item);
      
      	g_free(self->priv->man_prog_path);
      	g_free(self->priv->man_pager_prog);
      	g_free(self->priv->man_section_order);
      	g_free(self->priv->codesearch_base_uri);
      	g_free(self->priv->codesearch_params);
      	g_free(self->priv->custom_homepage);
      
      	G_OBJECT_CLASS(devhelp_plugin_parent_class)->finalize(object);
      }
      
      
      static void devhelp_plugin_class_init(DevhelpPluginClass * klass)
      {
      	GObjectClass *g_object_class;
      	GParamSpec *pspec;
      
      	g_object_class = G_OBJECT_CLASS(klass);
      
      	g_object_class->set_property = devhelp_plugin_set_property;
      	g_object_class->get_property = devhelp_plugin_get_property;
      	g_object_class->finalize = devhelp_plugin_finalize;
      
      	pspec = g_param_spec_string(
      				"current-word",
      				"Current word in editor",
      				"Gets the currently selected word, or the word where the cursor is.",
      				NULL,
      				G_PARAM_READABLE);
      	g_object_class_install_property(g_object_class, PROP_CURRENT_WORD, pspec);
      
      	pspec = g_param_spec_string(
      				"webview-uri",
      				"WebKit WebView URI",
      				"Gets or sets the URI loaded in the WebView widget.",
      				DHPLUG_WEBVIEW_HOME_FILE,
      				G_PARAM_READWRITE);
      	g_object_class_install_property(g_object_class, PROP_WEBVIEW_URI, pspec);
      
      	pspec = g_param_spec_boolean(
      				"sidebar-tabs-bottom",
      				"Sidebar tabs on bottom",
      				"Gets or sets whether Geany's sidebar tabs are positioned on the bottom or not.",
      				FALSE,
      				G_PARAM_READWRITE);
      	g_object_class_install_property(g_object_class, PROP_SIDEBAR_TABS_BOTTOM, pspec);
      
      	pspec = g_param_spec_boolean(
      				"ui-active",
      				"UI widgets are active",
      				"Gets or sets whether the plugin's UI widgets are active/selected/visible.",
      				FALSE,
      				G_PARAM_READWRITE);
      	g_object_class_install_property(g_object_class, PROP_UI_ACTIVE, pspec);
      
      	pspec = g_param_spec_boolean(
      				"in-message-window",
      				"Documentation in the message window notebook",
      				"Gets or sets whether the notebook page with the WebKit WebView is located "
      					"in the main documents notebook area or in the message window notebook.",
      				FALSE,
      				G_PARAM_READWRITE);
      	g_object_class_install_property(g_object_class, PROP_IN_MESSAGE_WINDOW, pspec);
      
      	pspec = g_param_spec_float(
      				"zoom-level",
      				"Zoom level of the WebKit WebView",
      				"Gets or sets the zoom level (font size, etc) of the contents of the "
      					"WebKit WebView.",
      				G_MINFLOAT, G_MAXFLOAT/* FIXME */, 1.0F,
      				G_PARAM_READWRITE);
      	g_object_class_install_property(g_object_class, PROP_ZOOM_LEVEL, pspec);
      
      	pspec = g_param_spec_object(
      				"webview",
      				"WebKit WebView",
      				"Gets the WebKit WebView used to display documentation.",
      				WEBKIT_TYPE_WEB_VIEW,
      				G_PARAM_READABLE);
      	g_object_class_install_property(g_object_class, PROP_WEBVIEW, pspec);
      
      	pspec = g_param_spec_pointer(
      				"temp-files",
      				"Temporary files",
      				"Gets the GList used to track temporary files so they can be deleted later.",
      				G_PARAM_READABLE);
      	g_object_class_install_property(g_object_class, PROP_TEMP_FILES, pspec);
      
      	pspec = g_param_spec_string(
      				"man-prog-path",
      				"Manual page program path",
      				"Gets the path to the system's 'man' program if present.",
      				NULL,
      				G_PARAM_READABLE);
      	g_object_class_install_property(g_object_class, PROP_MAN_PROG_PATH, pspec);
      
      	pspec = g_param_spec_boolean(
      				"have-man-prog",
      				"Have manual page program",
      				"Gets whether a manual page program was found on the system.",
      				FALSE,
      				G_PARAM_READABLE);
      	g_object_class_install_property(g_object_class, PROP_HAVE_MAN_PROG, pspec);
      
      	g_type_class_add_private((gpointer) klass, sizeof(DevhelpPluginPrivate));
      }
      
      
      /*
       * Initialize the Devhelp library/widgets.
       * The Devhelp API isn't exactly stable, so handle quirks in here.
       */
      static void devhelp_plugin_init_dh(DevhelpPlugin *self)
      {
      #ifdef HAVE_BOOK_MANAGER /* for newer api */
      	DhBookManager *book_manager;
      #else
      	GNode *books;
      	GList *keywords;
      #endif
      
      	if (dhbase == NULL)
      		dhbase = dh_base_new();
      	self->priv->dhbase = dhbase;
      
      #ifdef HAVE_BOOK_MANAGER /* for newer api */
      	book_manager = dh_base_get_book_manager(self->priv->dhbase);
      	self->priv->book_tree = dh_book_tree_new(book_manager);
      	self->priv->search = dh_search_new(book_manager);
      #else
      	books = dh_base_get_book_tree(self->priv->dhbase);
      	keywords = dh_base_get_keywords(self->priv->dhbase);
      	self->priv->book_tree = dh_book_tree_new(books);
      	self->priv->search = dh_search_new(keywords);
      #endif
      
      	gtk_widget_show(self->priv->search);
      
      	g_signal_connect(self->priv->book_tree, "link-selected", G_CALLBACK(on_link_clicked), self);
      	g_signal_connect(self->priv->search, "link-selected", G_CALLBACK(on_link_clicked), self);
      }
      
      
      /* Initialize the stuff in the editor's context menu */
      static void devhelp_plugin_init_edit_menu(DevhelpPlugin *self)
      {
      	GtkWidget *doc_menu, *devhelp_item, *man_item;
      	DevhelpPluginPrivate *p;
      
      	g_return_if_fail(self != NULL);
      
      	p = self->priv;
      
      	p->editor_menu_sep = gtk_separator_menu_item_new();
      	p->editor_menu_item = gtk_menu_item_new_with_label(_("Search for 'Tag' Documentation in"));
      	doc_menu = gtk_menu_new();
      
      	devhelp_item = gtk_menu_item_new_with_label(_("Devhelp"));
      	gtk_menu_shell_append(GTK_MENU_SHELL(doc_menu), devhelp_item);
      	g_signal_connect(devhelp_item, "activate", G_CALLBACK(on_search_help_activate), self);
      	gtk_widget_show(devhelp_item);
      
      	if (devhelp_plugin_get_have_man_prog(self))
      	{
      		man_item = gtk_menu_item_new_with_label(_("Manual Pages"));
      		gtk_menu_shell_append(GTK_MENU_SHELL(doc_menu), man_item);
      		g_signal_connect(man_item, "activate", G_CALLBACK(on_search_help_man_activate), self);
      		gtk_widget_show(man_item);
      	}
      
      	plugin_signal_connect(geany_plugin, G_OBJECT(geany->main_widgets->editor_menu), "show", TRUE,
      		G_CALLBACK(on_editor_menu_popup), self);
      	gtk_menu_item_set_submenu(GTK_MENU_ITEM(p->editor_menu_item), doc_menu);
      	gtk_menu_shell_append(GTK_MENU_SHELL(geany->main_widgets->editor_menu), p->editor_menu_sep);
      	gtk_menu_shell_append(GTK_MENU_SHELL(geany->main_widgets->editor_menu), p->editor_menu_item);
      	gtk_widget_show(p->editor_menu_sep);
      	gtk_widget_show_all(p->editor_menu_item);
      }
      
      
      /* Initialize the WebKit browser and associated widgets */
      static void devhelp_plugin_init_webkit(DevhelpPlugin *self)
      {
      	GtkWidget *vbox, *toolbar;
      	GtkToolItem *btn_zoom_in, *btn_zoom_out, *tb_sep;
      	GtkScrolledWindow *webview_sw;
      	DevhelpPluginPrivate *p;
      
      	g_return_if_fail(self != NULL);
      
      	p = self->priv;
      
      	p->webview = webkit_web_view_new();
      
      	webview_sw = GTK_SCROLLED_WINDOW(gtk_scrolled_window_new(NULL, NULL));
      	gtk_scrolled_window_set_policy(webview_sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
      	gtk_scrolled_window_set_shadow_type(webview_sw, GTK_SHADOW_ETCHED_IN);
      	gtk_container_add(GTK_CONTAINER(webview_sw), p->webview);
      
      	gtk_widget_show_all(GTK_WIDGET(webview_sw));
      
      	vbox = gtk_vbox_new(FALSE, 0);
      	toolbar = gtk_toolbar_new();
      
      	p->btn_back = gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK);
      	p->btn_forward = gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD);
      	btn_zoom_in = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_IN);
      	btn_zoom_out = gtk_tool_button_new_from_stock(GTK_STOCK_ZOOM_OUT);
      	tb_sep = gtk_separator_tool_item_new();
      
      	gtk_widget_set_tooltip_text(GTK_WIDGET(p->btn_back), _("Go back one page"));
      	gtk_widget_set_tooltip_text(GTK_WIDGET(p->btn_forward), _("Go forward one page"));
      	gtk_widget_set_tooltip_text(GTK_WIDGET(btn_zoom_in), _("Zoom in"));
      	gtk_widget_set_tooltip_text(GTK_WIDGET(btn_zoom_out), _("Zoom out"));
      
      	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), p->btn_back, -1);
      	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), p->btn_forward, -1);
      	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), tb_sep, -1);
      	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), btn_zoom_in, -1);
      	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), btn_zoom_out, -1);
      
      	gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, TRUE, 0);
      	gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(webview_sw), TRUE, TRUE, 0);
      
      	gtk_widget_show_all(vbox);
      	p->webview_tab = vbox;
      	devhelp_plugin_set_webview_location(self, DEVHELP_PLUGIN_WEBVIEW_LOCATION_MAIN_NOTEBOOK);
      
      	g_signal_connect(p->btn_back, "clicked", G_CALLBACK(on_back_button_clicked), self);
      	g_signal_connect(p->btn_forward, "clicked", G_CALLBACK(on_forward_button_clicked), self);
      	g_signal_connect(btn_zoom_in, "clicked", G_CALLBACK(on_zoom_in_button_clicked), self);
      	g_signal_connect(btn_zoom_out, "clicked", G_CALLBACK(on_zoom_out_button_clicked), self);
      
      	g_signal_connect(WEBKIT_WEB_VIEW(p->webview), "document-load-finished", G_CALLBACK(on_document_load_finished), self);
      	g_signal_connect(WEBKIT_WEB_VIEW(p->webview), "notify::uri", G_CALLBACK(on_uri_changed_notify), self);
      	g_signal_connect(WEBKIT_WEB_VIEW(p->webview), "notify::load-status", G_CALLBACK(on_load_status_changed_notify), self);
      
      	devhelp_plugin_set_webview_uri(self, NULL);
      }
      
      
      /* Initialize the stuff added to the sidebar. */
      static void devhelp_plugin_init_sidebar(DevhelpPlugin *self)
      {
      	GtkWidget *label;
      	GtkWidget *book_tree_sw;
      	DevhelpPluginPrivate *p;
      
      	g_return_if_fail(self != NULL);
      
      	p = self->priv;
      
      	p->sb_notebook = gtk_notebook_new();
      	p->orig_sb_tab_pos = gtk_notebook_get_tab_pos(GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook));
      
      	book_tree_sw = gtk_scrolled_window_new(NULL, NULL);
      	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(book_tree_sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
      	gtk_container_set_border_width(GTK_CONTAINER(book_tree_sw), 6);
      	gtk_container_add(GTK_CONTAINER(book_tree_sw), p->book_tree);
      	gtk_widget_show(p->book_tree);
      
      	label = gtk_label_new(_("Contents"));
      	gtk_notebook_append_page(GTK_NOTEBOOK(p->sb_notebook), book_tree_sw, label);
      
      	label = gtk_label_new(_("Search"));
      	gtk_notebook_append_page(GTK_NOTEBOOK(p->sb_notebook), p->search, label);
      
      	gtk_notebook_set_current_page(GTK_NOTEBOOK(p->sb_notebook), 0);
      	gtk_widget_show_all(p->sb_notebook);
      
      	label = gtk_label_new(_("Devhelp"));
      	gtk_notebook_append_page(GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook), p->sb_notebook, label);
      }
      
      
      /* Called when a new plugin is being initialized */
      static void devhelp_plugin_init(DevhelpPlugin * self)
      {
      	DevhelpPluginPrivate *p;
      
      	g_return_if_fail(self != NULL);
      
      	self->priv = p = G_TYPE_INSTANCE_GET_PRIVATE(self, DEVHELP_TYPE_PLUGIN, DevhelpPluginPrivate);
      	devhelp_plugin_init_dh(self);
      
      	p->in_message_window = FALSE;
      	p->tabs_toggled = FALSE;
      	p->location = DEVHELP_PLUGIN_WEBVIEW_LOCATION_NONE;
      	p->main_notebook = NULL;
      
      	p->kf = NULL;
      	p->focus_webview_on_search = TRUE;
      	p->focus_sidebar_on_search = TRUE;
      	p->custom_homepage = NULL;
      	p->use_devhelp = TRUE;
      	p->use_man = TRUE;
      	p->use_codesearch = TRUE;
      
      	p->man_prog_path = g_find_program_in_path("man");
      	p->man_pager_prog = g_strdup("col -b");
      	p->man_section_order = g_strdup("3:2:1:8:5:4:7:6");
      
      	p->codesearch_base_uri = g_strdup("http://www.google.com/codesearch");
      	p->codesearch_params = NULL;
      	p->codesearch_use_lang = TRUE;
      
          p->main_nb_tab_pos = GTK_POS_BOTTOM;
      
      	devhelp_plugin_init_edit_menu(self);
      	devhelp_plugin_init_sidebar(self);
      	devhelp_plugin_init_webkit(self);
      
      	p->last_main_tab_id = gtk_notebook_get_current_page(GTK_NOTEBOOK(p->main_notebook));
      	p->last_sb_tab_id = gtk_notebook_get_current_page(GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook));
      }
      
      
      /** Create a new Devhelp plugin instance. */
      DevhelpPlugin *devhelp_plugin_new(void)
      {
      	return g_object_new(DEVHELP_TYPE_PLUGIN, NULL);
      }
      
      
      /**
       * Gets the WebKit WebView object used by the plugin.
       *
       * @param self Devhelp plugin.
       *
       * @return The webview used by the plugin.
       */
      const gchar *devhelp_plugin_get_webview_uri(DevhelpPlugin *self)
      {
      	WebKitWebFrame *frame;
      
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), NULL);
      
      	frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(self->priv->webview));
      	if (frame)
      		return webkit_web_frame_get_uri(WEBKIT_WEB_FRAME(frame));
      	else
      		return NULL;
      }
      
      
      /**
       * Loads the specified @a uri in the WebKit WebView.
       *
       * @param self Devhelp plugin.
       * @param uri The URI to load in the webview or NULL for default homepage.
       */
      void devhelp_plugin_set_webview_uri(DevhelpPlugin *self, const gchar *uri)
      {
      	/* stolen from Webhelper plugin */
      	gchar *real_uri;
      	gchar *scheme;
      
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	if (uri == NULL)
      		real_uri = g_filename_to_uri(DHPLUG_WEBVIEW_HOME_FILE, NULL, NULL);
      	else
      		real_uri = g_strdup(uri);
      
      	scheme = g_uri_parse_scheme(real_uri);
      	if (!scheme)
      	{
      		gchar *tmp = g_strconcat("http://", uri, NULL);
      		g_free(real_uri);
      		real_uri = tmp;
      	}
      	g_free(scheme);
      
      	if (g_strcmp0(real_uri, devhelp_plugin_get_webview_uri(self)) != 0)
      	{
      		webkit_web_view_open(WEBKIT_WEB_VIEW(self->priv->webview), real_uri);
      		g_object_notify(G_OBJECT(self), "webview-uri");
      	}
      	g_free(real_uri);
      }
      
      
      /**
       * Same as devhelp_plugin_search_books().
       *
       * @param self Devhelp plugin.
       * @param term The search term to look up.
       */
      void devhelp_plugin_search(DevhelpPlugin *self, const gchar *term)
      {
      	devhelp_plugin_search_books(self, term);
      }
      
      
      /**
       * Search for a term in Devhelp and activate/show the plugin's UI stuff.
       *
       * @param dhplug	Devhelp plugin
       * @param term		The string to search for
       */
      void devhelp_plugin_search_books(DevhelpPlugin *self, const gchar *term)
      {
      
      	g_return_if_fail(self != NULL);
      	g_return_if_fail(term != NULL);
      
      	dh_search_set_search_string(DH_SEARCH(self->priv->search), term, NULL);
      
      	devhelp_plugin_activate_all_tabs(self);
      }
      
      
      /*
       * Cleans up a word/tag before searching.
       *
       * Replaces non @c GEANY_WORDCHARS in str with spaces and then trims whitespace.
       * This function does not allocate a new string, it modifies @a str in place
       * and returns a pointer to @a str.
       * TODO: make this only remove stuff from the start or end of string.
       *
       * @param	str	String to clean
       *
       * @return Pointer to (cleaned) @a str.
       */
      static inline gchar *clean_word(gchar* str)
      {
      	return g_strstrip(g_strcanon(str, GEANY_WORDCHARS, ' '));
      }
      
      
      /**
       * Gets either the current selection or the word at the current selection.
       *
       * @return Newly allocated string with current tag or NULL no tag.
       */
      gchar *devhelp_plugin_get_current_word(DevhelpPlugin *self)
      {
      	gint pos;
      	gchar *tag = NULL;
      	GeanyDocument *doc = document_get_current();
      
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), NULL);
      
      	if (doc == NULL || doc->editor == NULL || doc->editor->sci == NULL)
      		return NULL;
      
      	if (sci_has_selection(doc->editor->sci))
      		return clean_word(sci_get_selection_contents(doc->editor->sci));
      
      	pos = sci_get_current_position(doc->editor->sci);
      	tag = editor_get_word_at_pos(doc->editor, pos, GEANY_WORDCHARS);
      
      	if (tag == NULL || strlen(tag) == 0)
      	{
      		g_free(tag /* might be null, ok */);
      		return NULL;
      	}
      
      	return clean_word(tag);
      }
      
      
      /**
       * Activate the plugin's tabs in the UI.
       *
       * @param dhplug Devhelp plugin
       * @param search_tabs_shown If TRUE, show the sidebar search tab, otherwise
       * 	show the contents tab.
       */
      void devhelp_plugin_activate_ui(DevhelpPlugin *self, gboolean show_search_tab)
      {
      	g_return_if_fail(self != NULL);
      	devhelp_plugin_set_ui_active(self, TRUE);
      	gtk_notebook_set_current_page(GTK_NOTEBOOK(self->priv->sb_notebook), (show_search_tab) ? 1 : 0);
      }
      
      
      /**
       * Get whether or not the plugin's tabs are shown/active in the UI.
       *
       * @param self Devhelp plugin.
       *
       * @return TRUE if the UI elements are active FALSE if not.
       */
      gboolean devhelp_plugin_get_ui_active(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), FALSE);
      	return self->priv->tabs_toggled;
      }
      
      
      /**
       * Set whether or not the plugin's tabs are shown/active in the UI.
       *
       * @param self Devhelp plugin
       * @param active Whether to show the plugin's tabs or the previous tabs.
       */
      void devhelp_plugin_set_ui_active(DevhelpPlugin *self, gboolean active)
      {
      	GtkNotebook *main_nb, *sbar_nb;
      
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	main_nb = GTK_NOTEBOOK(self->priv->main_notebook);
      	sbar_nb = GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook);
      
      	if (active && !devhelp_plugin_get_ui_active(self))
      	{
      		self->priv->last_main_tab_id = gtk_notebook_get_current_page(main_nb);
      		self->priv->last_sb_tab_id = gtk_notebook_get_current_page(sbar_nb);
      		gtk_notebook_set_current_page(main_nb, gtk_notebook_page_num(main_nb, self->priv->webview_tab));
      		gtk_notebook_set_current_page(sbar_nb, gtk_notebook_page_num(sbar_nb, self->priv->sb_notebook));
      		self->priv->tabs_toggled = TRUE;
      		g_object_notify(G_OBJECT(self), "ui-active");
      	}
      	else if (!active && devhelp_plugin_get_ui_active(self))
      	{
      		gtk_notebook_set_current_page(main_nb, self->priv->last_main_tab_id);
      		gtk_notebook_set_current_page(sbar_nb, self->priv->last_sb_tab_id);
      		self->priv->tabs_toggled = FALSE;
      		g_object_notify(G_OBJECT(self), "ui-active");
      	}
      }
      
      
      /**
       * Gets whether the Geany sidebar tabs are in the bottom or their original position.
       *
       * @param self Devhelp plugin.
       */
      gboolean devhelp_plugin_get_sidebar_tabs_bottom(DevhelpPlugin *self)
      {
      	GtkPositionType pos;
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), FALSE);
      	pos = gtk_notebook_get_tab_pos(GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook));
      	return  pos == GTK_POS_BOTTOM;
      }
      
      
      /**
       * Sets whether the Geany sidebar tabs are at the bottom or in their original position.
       *
       * @param self Devhelp plugin.
       * @param bottom If TRUE, set the sidebar tab position to @c GTK_POS_BOTTOM
       * otherwise set back to original position.
       */
      void devhelp_plugin_set_sidebar_tabs_bottom(DevhelpPlugin *self, gboolean bottom)
      {
      	GtkNotebook *nb;
      
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	nb = GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook);
      
      	if (!devhelp_plugin_get_sidebar_tabs_bottom(self) && bottom)
      	{
      		self->priv->orig_sb_tab_pos = gtk_notebook_get_tab_pos(nb);
      		gtk_notebook_set_tab_pos(nb, GTK_POS_BOTTOM);
      		g_object_notify(G_OBJECT(self), "sidebar-tabs-bottom");
      	}
      	else if (devhelp_plugin_get_sidebar_tabs_bottom(self) && !bottom)
      	{
      		gtk_notebook_set_tab_pos(nb, self->priv->orig_sb_tab_pos);
      		g_object_notify(G_OBJECT(self), "sidebar-tabs-bottom");
      	}
      }
      
      
      /**
       * Gets whether the Documentation tab is in a main_notebook or in the
       * message window.
       *
       * @param self Devhelp plugin.
       *
       * @return TRUE if the Documentation tab is in a main_notebok or FALSE if it's
       * in the message window notebook.
       */
      gboolean devhelp_plugin_get_in_message_window(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), FALSE);
      	return self->priv->in_message_window;
      }
      
      
      /* Refs the webkit tab stuff and removes it from parents, returns pointer to
       * widget that was ref'd. */
      static GtkWidget* devhelp_plugin_ref_unpack_webview_tab(DevhelpPlugin *self)
      {
      	GtkWidget *parent, *doc_nb;
      
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), NULL);
      
      	/* Prevents a segfault bug from popping up when messing with doc notebook */
      	gtk_widget_set_sensitive(geany->main_widgets->notebook, FALSE);
      
      	gtk_widget_ref(self->priv->webview_tab);
      
      	if (self->priv->location != DEVHELP_PLUGIN_WEBVIEW_LOCATION_NONE)
      	{
      		parent = gtk_widget_get_parent(self->priv->webview_tab);
      		gtk_container_remove(GTK_CONTAINER(parent), self->priv->webview_tab);
      	}
      
      	/* If we were using the "main notebook", put the UI back to normal */
      	if (self->priv->location == DEVHELP_PLUGIN_WEBVIEW_LOCATION_MAIN_NOTEBOOK)
      	{
      		parent = gtk_widget_get_parent(self->priv->main_notebook);
      		doc_nb = gtk_widget_ref(geany->main_widgets->notebook);
      		gtk_container_remove(GTK_CONTAINER(self->priv->main_notebook), doc_nb);
      		gtk_container_remove(GTK_CONTAINER(parent), self->priv->main_notebook);
      		gtk_container_add(GTK_CONTAINER(parent), doc_nb);
      		gtk_widget_unref(doc_nb);
      		self->priv->main_notebook = NULL;
      	}
      
      	self->priv->location = DEVHELP_PLUGIN_WEBVIEW_LOCATION_NONE;
      
      	gtk_widget_set_sensitive(geany->main_widgets->notebook, TRUE);
      
      	return self->priv->webview_tab;
      }
      
      
      static void devhelp_plugin_set_webview_location(DevhelpPlugin *self, DevhelpPluginWebViewLocation location)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	if (location == self->priv->location) /* no change, so do nothing */
      		return;
      
      	switch(location)
      	{
      		case DEVHELP_PLUGIN_WEBVIEW_LOCATION_SIDEBAR:
      			gtk_notebook_append_page(
      				GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook),
      				devhelp_plugin_ref_unpack_webview_tab(self),
      				gtk_label_new(DEVHELP_PLUGIN_WEBVIEW_TAB_LABEL));
      			gtk_widget_unref(self->priv->webview_tab);
      			self->priv->location = DEVHELP_PLUGIN_WEBVIEW_LOCATION_SIDEBAR;
      			break;
      		case DEVHELP_PLUGIN_WEBVIEW_LOCATION_MESSAGE_WINDOW:
      			gtk_notebook_append_page(
      				GTK_NOTEBOOK(geany->main_widgets->message_window_notebook),
      				devhelp_plugin_ref_unpack_webview_tab(self),
      				gtk_label_new(DEVHELP_PLUGIN_WEBVIEW_TAB_LABEL));
      			gtk_widget_unref(self->priv->webview_tab);
      			self->priv->location = DEVHELP_PLUGIN_WEBVIEW_LOCATION_MESSAGE_WINDOW;
      			break;
      		case DEVHELP_PLUGIN_WEBVIEW_LOCATION_MAIN_NOTEBOOK:
      		{
      			GtkWidget *parent, *doc_nb, *main_notebook, *webview_tab;
      
      			webview_tab = devhelp_plugin_ref_unpack_webview_tab(self);
      			doc_nb = geany->main_widgets->notebook;
      			parent = gtk_widget_get_parent(doc_nb);
      
      			gtk_widget_ref(doc_nb);
      
      			gtk_container_remove(GTK_CONTAINER(parent), doc_nb);
      			main_notebook = gtk_notebook_new();
      			self->priv->main_notebook = main_notebook;
      
      			gtk_notebook_append_page(GTK_NOTEBOOK(main_notebook),
      				doc_nb, gtk_label_new(DEVHELP_PLUGIN_DOCUMENTS_TAB_LABEL));
      			gtk_notebook_append_page(GTK_NOTEBOOK(main_notebook),
      				webview_tab, gtk_label_new(DEVHELP_PLUGIN_WEBVIEW_TAB_LABEL));
      
      			gtk_container_add(GTK_CONTAINER(parent), main_notebook);
      
      			gtk_widget_show_all(doc_nb);
      			gtk_widget_show_all(webview_tab);
      			gtk_widget_show_all(main_notebook);
      
      			gtk_widget_unref(doc_nb);
      			gtk_widget_unref(webview_tab);
      
      			self->priv->location = DEVHELP_PLUGIN_WEBVIEW_LOCATION_MAIN_NOTEBOOK;
      			break;
      		}
      		default:
      			g_warning("Unable to set location of webview.");
      			break;
      	}
      }
      
      
      /**
       * Sets whether the Documentation tab is in the message window notebook or is
       * in a main_notebook.
       *
       * @param self Devhelp plugin.
       * @param in_msgwin TRUE to move the Documentation tab to the message window
       * notebook or FALSE to create a main_notebook and put it there.
       */
      void devhelp_plugin_set_in_message_window(DevhelpPlugin *self, gboolean in_msgwin)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	if (in_msgwin && !self->priv->in_message_window)
      	{
      		devhelp_plugin_set_webview_location(self,
      			DEVHELP_PLUGIN_WEBVIEW_LOCATION_MESSAGE_WINDOW);
      		self->priv->in_message_window = TRUE;
      		g_object_notify(G_OBJECT(self), "in-message-window");
      	}
      	else if (!in_msgwin && self->priv->in_message_window)
      	{
      		devhelp_plugin_set_webview_location(self,
      			DEVHELP_PLUGIN_WEBVIEW_LOCATION_MAIN_NOTEBOOK);
      		self->priv->in_message_window = FALSE;
      		g_object_notify(G_OBJECT(self), "in-message-window");
      	}
      }
      
      
      /**
       * Gets the zoom level of the WebKit WebView.
       *
       * @param self Devhelp plugin.
       *
       * @return The zoom level.
       */
      gfloat devhelp_plugin_get_zoom_level(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), 0.0F);
      	return webkit_web_view_get_zoom_level(WEBKIT_WEB_VIEW(self->priv->webview));
      }
      
      
      /**
       * Sets the zoom level of the WebKit WebView.
       *
       * @param self Devhelp plugin.
       * @param zoom_level The zoom level to set.
       */
      void devhelp_plugin_set_zoom_level(DevhelpPlugin *self, gfloat zoom_level)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	if (devhelp_plugin_get_zoom_level(self) != zoom_level)
      	{
      		webkit_web_view_set_zoom_level(WEBKIT_WEB_VIEW(self->priv->webview), zoom_level);
      		g_object_notify(G_OBJECT(self), "zoom-level");
      	}
      }
      
      
      WebKitWebView* devhelp_plugin_get_webview(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), NULL);
      	return WEBKIT_WEB_VIEW(self->priv->webview);
      }
      
      
      /**
       * Returns a pointer to the list used to track temp files.
       *
       * @param self Devhelp plugin.
       *
       * @return Pointer to the internal list used to track temp files.
       */
      GList* devhelp_plugin_get_temp_files(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), NULL);
      	return self->priv->temp_files;
      }
      
      
      /**
       * Returns the path to the 'man' program on the system or NULL if one was not
       * found.
       *
       * @param self Devhelp plugin.
       *
       * @return The path to the 'man' program or NULL if not found.  Free the
       * returned value when no longer needed.
       */
      const gchar* devhelp_plugin_get_man_prog_path(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), NULL);
      	return (const gchar *)self->priv->man_prog_path;
      }
      
      
      /**
       * Finds whether or not a 'man' program is available (in the path) on the
       * current system.
       *
       * @param self Devhelp plugin.
       *
       * @return TRUE if a 'man' program was found or FALSE if not.
       */
      gboolean devhelp_plugin_get_have_man_prog(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), FALSE);
      	return devhelp_plugin_get_man_prog_path(self) != NULL;
      }
      
      
      /* TODO: make properties for the following accessor functions */
      
      gboolean devhelp_plugin_get_devhelp_sidebar_visible(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), FALSE);
      #if GTK_CHECK_VERSION(2,18,0)
      	return gtk_widget_get_visible(self->priv->sb_notebook);
      #else
      	return GTK_WIDGET_VISIBLE(self->priv->sb_notebook);
      #endif
      }
      
      
      void devhelp_plugin_set_devhelp_sidebar_visible(DevhelpPlugin *self, gboolean visible)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      	gtk_widget_set_visible(self->priv->sb_notebook, visible);
      }
      
      
      gboolean devhelp_plugin_get_use_devhelp(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), FALSE);
      	return self->priv->use_devhelp;
      }
      
      
      void devhelp_plugin_set_use_devhelp(DevhelpPlugin *self, gboolean use)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      	self->priv->use_devhelp = use;
      	gtk_widget_set_visible(self->priv->sb_notebook, use);
      	/* TODO: hide edit menu items and keybindings */
      	/* TODO: if no providers, hide webview */
      }
      
      
      gboolean devhelp_plugin_get_use_man(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), FALSE);
      	return self->priv->use_man;
      }
      
      
      void devhelp_plugin_set_use_man(DevhelpPlugin *self, gboolean use)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      	self->priv->use_man = use;
      	/* TODO: hide edit menu items and keybindings */
      	/* TODO: if no providers, hide webview */
      }
      
      
      gboolean devhelp_plugin_get_use_codesearch(DevhelpPlugin *self)
      {
      	g_return_val_if_fail(DEVHELP_IS_PLUGIN(self), FALSE);
      	return self->priv->use_codesearch;
      }
      
      
      void devhelp_plugin_set_use_codesearch(DevhelpPlugin *self, gboolean use)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      	self->priv->use_codesearch = use;
      	/* TODO: hide edit menu items and keybindings */
      	/* TODO: if no providers, hide webview */
      }
      
      
      /* Activates (brings to top/makes visible) the Devhelp plugin's sidebar tab. */
      static inline void devhelp_plugin_activate_sidebar_tab(DevhelpPlugin *self)
      {
      	GtkNotebook *nb;
      	gint current_tab_id;
      
      	g_return_if_fail(self != NULL);
      
      	nb = GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook);
      
      	current_tab_id = gtk_notebook_get_current_page(nb);
      	if (current_tab_id != gtk_notebook_page_num(nb, self->priv->sb_notebook))
      		self->priv->last_sb_tab_id = current_tab_id;
      
      	gtk_widget_set_visible(self->priv->sb_notebook, TRUE);
      	gtk_notebook_set_current_page(nb, gtk_notebook_page_num(nb, self->priv->sb_notebook));
      }
      
      
      /**
       * Activates the Devhelp plugin's sidebar tab, and then the internal notebook's
       * Search tab.
       *
       * @param self Devhelp plugin.
       */
      void devhelp_plugin_activate_search_tab(DevhelpPlugin *self)
      {
      	g_return_if_fail(self != NULL);
      	devhelp_plugin_activate_sidebar_tab(self);
      	gtk_notebook_set_current_page(GTK_NOTEBOOK(self->priv->sb_notebook), 1);
      }
      
      
      /**
       * Activates the Devhelp plugin's sidebar tab, and then the internal notebook's
       * Contents tab.
       *
       * @param self Devhelp plugin.
       */
      void devhelp_plugin_activate_contents_tab(DevhelpPlugin *self)
      {
      	g_return_if_fail(self != NULL);
      	devhelp_plugin_activate_sidebar_tab(self);
      	gtk_notebook_set_current_page(GTK_NOTEBOOK(self->priv->sb_notebook), 0);
      }
      
      
      /**
       * Activates the Devhelp plugin's main notebook's Documentation tab.
       *
       * @param self Devhelp plugin.
       */
      void devhelp_plugin_activate_webview_tab(DevhelpPlugin *self)
      {
      	GtkNotebook *nb;
      	gint current_tab_id;
      
      	g_return_if_fail(self != NULL);
      
      	nb = GTK_NOTEBOOK(self->priv->main_notebook);
      
      	current_tab_id = gtk_notebook_get_current_page(nb);
      	if (current_tab_id != gtk_notebook_page_num(nb, self->priv->webview_tab))
      		self->priv->last_main_tab_id = current_tab_id;
      
      	gtk_notebook_set_current_page(nb, gtk_notebook_page_num(nb, self->priv->webview_tab));
      }
      
      
      /* Toggles the Devhelp tab in the Geany sidebar notebook. */
      static inline void devhelp_plugin_toggle_sidebar_tab(DevhelpPlugin *self, gint tab)
      {
      	GtkNotebook *sbar_nb;
      	gint current_tab_id;
      
      	g_return_if_fail(self != NULL);
      
      	sbar_nb = GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook);
      	current_tab_id = gtk_notebook_get_current_page(sbar_nb);
      
      	if (current_tab_id == gtk_notebook_page_num(sbar_nb, self->priv->sb_notebook))
      		gtk_notebook_set_current_page(sbar_nb, self->priv->last_sb_tab_id);
      	else
      	{
      		if (tab == 0)
      			devhelp_plugin_activate_contents_tab(self);
      		else if (tab == 1)
      			devhelp_plugin_activate_search_tab(self);
      		else
      			g_warning("Can't toggle to unknown tab ID: %d", tab);
      	}
      }
      
      
      /**
       * Toggle's between the Devhelp plugin's search tab and the previous Geany
       * sidebar tab.
       *
       * @param self Devhelp plugin.
       */
      void devhelp_plugin_toggle_search_tab(DevhelpPlugin *self)
      {
      	devhelp_plugin_toggle_sidebar_tab(self, 1);
      }
      
      
      /**
       * Toggle's between the Devhelp plugin's contents tab and the previous Geany
       * sidebar tab.
       *
       * @param self Devhelp plugin.
       */
      void devhelp_plugin_toggle_contents_tab(DevhelpPlugin *self)
      {
      	devhelp_plugin_toggle_sidebar_tab(self, 0);
      }
      
      
      /**
       * Toggle's between the Devhelp plugin's main notebook tab and the previous
       * main notebook tab.
       *
       * @param self Devhelp plugin.
       */
      void devhelp_plugin_toggle_webview_tab(DevhelpPlugin *self)
      {
      	gint current_tab_id;
      
      	g_return_if_fail(self != NULL);
      
      	current_tab_id = gtk_notebook_get_current_page(GTK_NOTEBOOK(self->priv->main_notebook));
      	if (current_tab_id == self->priv->last_main_tab_id)
      	{
      		gtk_notebook_set_current_page(GTK_NOTEBOOK(self->priv->main_notebook),
      			self->priv->last_main_tab_id);
      	}
      	else
      		devhelp_plugin_activate_webview_tab(self);
      }
      
      
      /**
       * Activates/shows all the Devhelp plugins tabs.
       *
       * @param self Devhelp plugin.
       */
      void devhelp_plugin_activate_all_tabs(DevhelpPlugin *self)
      {
      	devhelp_plugin_activate_sidebar_tab(self);
      	devhelp_plugin_activate_webview_tab(self);
      }
      
      
      /* Called when the editor menu item is selected */
      static void on_search_help_activate(GtkMenuItem * menuitem, DevhelpPlugin *self)
      {
      	gchar *current_tag;
      
      	g_return_if_fail(self != NULL);
      
      	if ((current_tag = devhelp_plugin_get_current_word(self)) == NULL)
      		return;
      
      	devhelp_plugin_search_books(self, current_tag);
      
      	g_free(current_tag);
      }
      
      
      /* Called when the editor menu item is selected */
      static void on_search_help_man_activate(GtkMenuItem * menuitem, DevhelpPlugin *self)
      {
      	gchar *current_tag;
      
      	g_return_if_fail(self != NULL);
      
      	if ((current_tag = devhelp_plugin_get_current_word(self)) == NULL)
      		return;
      
      	devhelp_plugin_search_manpages(self, current_tag);
      
      	g_free(current_tag);
      }
      
      
      /*
       * Called when the editor context menu is shown so that the devhelp
       * search item can be disabled if there isn't a selected tag.
       */
      static void on_editor_menu_popup(GtkWidget * widget, DevhelpPlugin *self)
      {
      	gchar *label_tag, *curword, *new_label;
      
      	g_return_if_fail(self != NULL);
      
      	curword = devhelp_plugin_get_current_word(self);
      
      	if (curword == NULL)
      	{
      		gtk_widget_set_sensitive(self->priv->editor_menu_item, FALSE);
      		return;
      	}
      
      	label_tag = g_strstrip(g_strndup(curword, DHPLUG_MAX_LABEL_TAG));
      	new_label = g_strdup_printf(_("Search for '%s' Documentation in"), label_tag);
      
      	gtk_menu_item_set_label(GTK_MENU_ITEM(self->priv->editor_menu_item), new_label);
      
      	g_free(new_label);
      	g_free(label_tag);
      
      	gtk_widget_set_sensitive(self->priv->editor_menu_item, TRUE);
      
      	g_free(curword);
      }
      
      
      /*
       * Called when a link in either the contents or search areas on the sidebar
       * have a link clicked on, meaning to load that file into the webview.
       */
      static void on_link_clicked(GObject * ignored, DhLink * dhlink, DevhelpPlugin *self)
      {
      	gchar *uri;
      
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	uri = dh_link_get_uri(dhlink);
      	devhelp_plugin_set_webview_uri(self, uri);
      	devhelp_plugin_activate_webview_tab(self);
      	g_free(uri);
      }
      
      
      static void on_back_button_clicked(GtkToolButton * btn, DevhelpPlugin *self)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      	webkit_web_view_go_back(WEBKIT_WEB_VIEW(self->priv->webview));
      }
      
      
      static void on_forward_button_clicked(GtkToolButton * btn, DevhelpPlugin *self)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      	webkit_web_view_go_forward(WEBKIT_WEB_VIEW(self->priv->webview));
      }
      
      
      static void on_zoom_in_button_clicked(GtkToolButton * btn, DevhelpPlugin *self)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      	webkit_web_view_zoom_in(devhelp_plugin_get_webview(self));
      }
      
      
      static void on_zoom_out_button_clicked(GtkToolButton *btn, DevhelpPlugin *self)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      	webkit_web_view_zoom_out(devhelp_plugin_get_webview(self));
      }
      
      
      /* Controls the sensitivity of the back/forward buttons when webkit page changes. */
      static inline void update_history_buttons(DevhelpPlugin *self)
      {
      	g_return_if_fail(DEVHELP_IS_PLUGIN(self));
      
      	gtk_widget_set_sensitive(GTK_WIDGET(self->priv->btn_back),
      		webkit_web_view_can_go_back(devhelp_plugin_get_webview(self)));
      	gtk_widget_set_sensitive(GTK_WIDGET(self->priv->btn_forward),
      		webkit_web_view_can_go_forward(devhelp_plugin_get_webview(self)));
      }
      
      
      static void on_document_load_finished(WebKitWebView *view, WebKitWebFrame *frame, DevhelpPlugin *self)
      {
      	update_history_buttons(self);
      }
      
      
      static void on_uri_changed_notify(GObject *object, GParamSpec *pspec, DevhelpPlugin *self)
      {
      	update_history_buttons(self);
      }
      
      
      static void on_load_status_changed_notify(GObject *object, GParamSpec *pspec, DevhelpPlugin *self)
      {
      	update_history_buttons(self);
      }
      
      geany-plugins-1.27/devhelp/README0000644000175000017500000001005712671261352017032 0ustar00frlanfrlan00000000000000Devhelp
      ===========
      
      .. image:: http://img21.imageshack.us/img21/7087/devhelpsmall.png
         :width: 400
         :alt: image of a plugin in work (if applicable)
         :align: right
         :target: http://img406.imageshack.us/img406/5833/devhelp.png
      
      .. contents::
      
      About
      -----
      
      This plugin embeds an API documentation browser and search functionality
      directly into Geany's user interface.  In case you didn't know, Devhelp is an
      API documentation browser mainly aimed at GNOME-related libraries, although
      there are Devhelp books for a wide range of library APIs.  Check your package
      manager and/or Google and you should have no trouble finding books that can
      be viewed with Devhelp.
      
      Features
      --------
      
      * search in Devhelp
      * search in 'man' pages
      * search in Google Code Search
       
      Usage
      -----
      
      *User Interface Changes*
      ^^^^^^^^^^^^^^^^^^^^^^^^
      
      When you load the plugin, two things are added to Geany's UI.  The first is a
      new tab labeled 'Devhelp' in the Sidebar notebook.  Inside this notebook page
      are two sub-tabs; Contents and Search.  Contents lets you browse all of the
      books at once and see their table of contents in a tree view.  Search, not
      surprisingly lets you search all of the books for a search term.  The second
      UI element that gets added to Geany is the 'Documentation' tab.  This new tab
      is added in the main area, where it will be next to a new tab called 'Code'
      which now holds the existing documents tabs.
      
      *Keybindings*
      ^^^^^^^^^^^^^
      
      There are several keybindings available when the Devhelp plugin is loaded to
      make it faster to access documentation.  The following keybindings are
      available:
      
      *Toggle sidebar contents tab*
      +++++++++++++++++++++++++++++
      
      Activates the "Contents" tab under the Devhelp sidebar tab.  The previous tab
      will be saved so that when this keybinding is fired again, the previous tab
      selection will be activated.
      
      *Toggle sidebar search tab*
      +++++++++++++++++++++++++++
      
      Just like the previous keybinding but with the "Search" tab.
      
      *Toggle documentation tab*
      ++++++++++++++++++++++++++++
      
      Flips between the main documentation viewer and your current code.
      
      *Search for current tag in Devhelp*
      +++++++++++++++++++++++++++++++++++++
      
      While coding in the editor, the current tag, that is, the word that is
      nearest to the cursor that looks like a programming symbol, or the current
      selection, can be search for quickly by activating this keybinding.  Once
      activated, the Devhelp books repository on your system will be searched for
      the current tag and if an exact match is found, it will be loaded into the
      documentation view and the view will be made active.
      
      *Search for current tag in Manual pages*
      ++++++++++++++++++++++++++++++++++++++++++
      
      Like the previous keybinding, but rather than searching Devhelp books, the
      systems manual pages will be searched, assuming a `man` program is available.
      The manual page sections will be searched in the order most likely to yield
      manual pages relevant to programming.  For example, a search for `mkdir` should
      locate the `mkdir()` function from section 2 before it finds the `mkdir` shell
      utility in section 1.
      
      *Search for current tag in Google Code Search*
      ++++++++++++++++++++++++++++++++++++++++++++++++
      Like the previous two keybindings, except that a search will be performed
      online using Google's Code Search service.  The search results page will be
      displayed in the documentation view.
      
      *Context Menu*
      ^^^^^^^^^^^^^^
      
      There's also another way to invoke a search for the current symbol for our
      mouse loving friends out there.  If you right click on the current document,
      on a tag/symbol you want help on, the context menu that appears will have an
      menu called `Search for "Foo" documentation in`.  Under this menu are 3 items
      for the searches discussed under the `Keybindings` section which, when
      activated, will perform the same searches as described above.
      
      Requirements
      ------------
      
      * GTK >= 2.16
      * libwebkitgtk >= 1.1.18
      * libdevhelp 1.0 >= 2.30.1 or libdevhelp 2.0 >= 2.32.0
       
      Contact developers
      ------------------
      
      You can email me at , or find me on the #geany IRC channel on FreeNode, with the nickname 'codebrainz'.
      geany-plugins-1.27/geanydoc/0000755000175000017500000000000012671261442016311 5ustar00frlanfrlan00000000000000geany-plugins-1.27/geanydoc/tests/0000755000175000017500000000000012671261442017453 5ustar00frlanfrlan00000000000000geany-plugins-1.27/geanydoc/tests/Makefile.in0000644000175000017500000012063012671261401021515 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      @UNITTESTS_TRUE@TESTS = unittests$(EXEEXT)
      @UNITTESTS_TRUE@noinst_PROGRAMS = unittests$(EXEEXT)
      subdir = geanydoc/tests
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      PROGRAMS = $(noinst_PROGRAMS)
      am__unittests_SOURCES_DIST = unittests.c
      @UNITTESTS_TRUE@am_unittests_OBJECTS = unittests-unittests.$(OBJEXT)
      unittests_OBJECTS = $(am_unittests_OBJECTS)
      am__DEPENDENCIES_1 =
      @UNITTESTS_TRUE@unittests_DEPENDENCIES = $(am__DEPENDENCIES_1)
      AM_V_lt = $(am__v_lt_@AM_V@)
      am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
      am__v_lt_0 = --silent
      am__v_lt_1 = 
      unittests_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(unittests_CFLAGS) \
      	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
      depcomp = $(SHELL) $(top_srcdir)/depcomp
      am__depfiles_maybe = depfiles
      am__mv = mv -f
      COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
      	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
      LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
      	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
      	$(AM_CFLAGS) $(CFLAGS)
      AM_V_CC = $(am__v_CC_@AM_V@)
      am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
      am__v_CC_0 = @echo "  CC      " $@;
      am__v_CC_1 = 
      CCLD = $(CC)
      LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
      	$(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_CCLD = $(am__v_CCLD_@AM_V@)
      am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
      am__v_CCLD_0 = @echo "  CCLD    " $@;
      am__v_CCLD_1 = 
      SOURCES = $(unittests_SOURCES)
      DIST_SOURCES = $(am__unittests_SOURCES_DIST)
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      am__tty_colors_dummy = \
        mgn= red= grn= lgn= blu= brg= std=; \
        am__color_tests=no
      am__tty_colors = { \
        $(am__tty_colors_dummy); \
        if test "X$(AM_COLOR_TESTS)" = Xno; then \
          am__color_tests=no; \
        elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
          am__color_tests=yes; \
        elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
          am__color_tests=yes; \
        fi; \
        if test $$am__color_tests = yes; then \
          red=''; \
          grn=''; \
          lgn=''; \
          blu=''; \
          mgn=''; \
          brg=''; \
          std=''; \
        fi; \
      }
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__recheck_rx = ^[ 	]*:recheck:[ 	]*
      am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
      am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
      # A command that, given a newline-separated list of test names on the
      # standard input, print the name of the tests that are to be re-run
      # upon "make recheck".
      am__list_recheck_tests = $(AWK) '{ \
        recheck = 1; \
        while ((rc = (getline line < ($$0 ".trs"))) != 0) \
          { \
            if (rc < 0) \
              { \
                if ((getline line2 < ($$0 ".log")) < 0) \
      	    recheck = 0; \
                break; \
              } \
            else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
              { \
                recheck = 0; \
                break; \
              } \
            else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
              { \
                break; \
              } \
          }; \
        if (recheck) \
          print $$0; \
        close ($$0 ".trs"); \
        close ($$0 ".log"); \
      }'
      # A command that, given a newline-separated list of test names on the
      # standard input, create the global log from their .trs and .log files.
      am__create_global_log = $(AWK) ' \
      function fatal(msg) \
      { \
        print "fatal: making $@: " msg | "cat >&2"; \
        exit 1; \
      } \
      function rst_section(header) \
      { \
        print header; \
        len = length(header); \
        for (i = 1; i <= len; i = i + 1) \
          printf "="; \
        printf "\n\n"; \
      } \
      { \
        copy_in_global_log = 1; \
        global_test_result = "RUN"; \
        while ((rc = (getline line < ($$0 ".trs"))) != 0) \
          { \
            if (rc < 0) \
               fatal("failed to read from " $$0 ".trs"); \
            if (line ~ /$(am__global_test_result_rx)/) \
              { \
                sub("$(am__global_test_result_rx)", "", line); \
                sub("[ 	]*$$", "", line); \
                global_test_result = line; \
              } \
            else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
              copy_in_global_log = 0; \
          }; \
        if (copy_in_global_log) \
          { \
            rst_section(global_test_result ": " $$0); \
            while ((rc = (getline line < ($$0 ".log"))) != 0) \
            { \
              if (rc < 0) \
                fatal("failed to read from " $$0 ".log"); \
              print line; \
            }; \
            printf "\n"; \
          }; \
        close ($$0 ".trs"); \
        close ($$0 ".log"); \
      }'
      # Restructured Text title.
      am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
      # Solaris 10 'make', and several other traditional 'make' implementations,
      # pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
      # by disabling -e (using the XSI extension "set +e") if it's set.
      am__sh_e_setup = case $$- in *e*) set +e;; esac
      # Default flags passed to test drivers.
      am__common_driver_flags = \
        --color-tests "$$am__color_tests" \
        --enable-hard-errors "$$am__enable_hard_errors" \
        --expect-failure "$$am__expect_failure"
      # To be inserted before the command running the test.  Creates the
      # directory for the log if needed.  Stores in $dir the directory
      # containing $f, in $tst the test, in $log the log.  Executes the
      # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
      # passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
      # will run the test scripts (or their associated LOG_COMPILER, if
      # thy have one).
      am__check_pre = \
      $(am__sh_e_setup);					\
      $(am__vpath_adj_setup) $(am__vpath_adj)			\
      $(am__tty_colors);					\
      srcdir=$(srcdir); export srcdir;			\
      case "$@" in						\
        */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
          *) am__odir=.;; 					\
      esac;							\
      test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
        || $(MKDIR_P) "$$am__odir" || exit $$?;		\
      if test -f "./$$f"; then dir=./;			\
      elif test -f "$$f"; then dir=;				\
      else dir="$(srcdir)/"; fi;				\
      tst=$$dir$$f; log='$@'; 				\
      if test -n '$(DISABLE_HARD_ERRORS)'; then		\
        am__enable_hard_errors=no; 				\
      else							\
        am__enable_hard_errors=yes; 				\
      fi; 							\
      case " $(XFAIL_TESTS) " in				\
        *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
          am__expect_failure=yes;;				\
        *)							\
          am__expect_failure=no;;				\
      esac; 							\
      $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
      # A shell command to get the names of the tests scripts with any registered
      # extension removed (i.e., equivalently, the names of the test logs, with
      # the '.log' extension removed).  The result is saved in the shell variable
      # '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
      # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
      # since that might cause problem with VPATH rewrites for suffix-less tests.
      # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
      am__set_TESTS_bases = \
        bases='$(TEST_LOGS)'; \
        bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
        bases=`echo $$bases`
      RECHECK_LOGS = $(TEST_LOGS)
      AM_RECURSIVE_TARGETS = check recheck
      TEST_SUITE_LOG = test-suite.log
      TEST_EXTENSIONS = @EXEEXT@ .test
      LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
      LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
      am__set_b = \
        case '$@' in \
          */*) \
            case '$*' in \
              */*) b='$*';; \
                *) b=`echo '$@' | sed 's/\.log$$//'`; \
             esac;; \
          *) \
            b='$*';; \
        esac
      am__test_logs1 = $(TESTS:=.log)
      am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
      TEST_LOGS = $(am__test_logs2:.test.log=.log)
      TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
      TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
      	$(TEST_LOG_FLAGS)
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp \
      	$(top_srcdir)/test-driver
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      @MINGW_FALSE@@UNITTESTS_TRUE@GP_PREFIX = $(prefix)
      @MINGW_TRUE@@UNITTESTS_TRUE@GP_PREFIX = .
      @MINGW_FALSE@@UNITTESTS_TRUE@GP_DATADIR = $(datadir)
      @MINGW_TRUE@@UNITTESTS_TRUE@GP_DATADIR = $(GP_PREFIX)/share
      @MINGW_FALSE@@UNITTESTS_TRUE@GP_LOCALEDIR = $(LOCALEDIR)
      @MINGW_TRUE@@UNITTESTS_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale
      @MINGW_FALSE@@UNITTESTS_TRUE@GP_DOCDIR = $(docdir)
      @MINGW_TRUE@@UNITTESTS_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE)
      @MINGW_FALSE@@UNITTESTS_TRUE@GP_PKGDATADIR = $(pkgdatadir)
      @MINGW_TRUE@@UNITTESTS_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE)
      @MINGW_FALSE@@UNITTESTS_TRUE@GP_LIBDIR = $(libdir)
      @MINGW_TRUE@@UNITTESTS_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib
      @MINGW_FALSE@@UNITTESTS_TRUE@GP_PKGLIBDIR = $(pkglibdir)
      @MINGW_TRUE@@UNITTESTS_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE)
      @UNITTESTS_TRUE@LOCAL_AM_CFLAGS = \
      @UNITTESTS_TRUE@	-DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \
      @UNITTESTS_TRUE@	-DPREFIX=\""$(GP_PREFIX)"\" \
      @UNITTESTS_TRUE@	-DDOCDIR=\""$(GP_DOCDIR)"\" \
      @UNITTESTS_TRUE@	-DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \
      @UNITTESTS_TRUE@	-DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \
      @UNITTESTS_TRUE@	-DLIBDIR=\""$(GP_LIBDIR)"\" \
      @UNITTESTS_TRUE@	-DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \
      @UNITTESTS_TRUE@	-DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \
      @UNITTESTS_TRUE@	-DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \
      @UNITTESTS_TRUE@	-DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \
      @UNITTESTS_TRUE@	-DPLUGIN="\"$(plugin)\""
      
      @UNITTESTS_TRUE@AM_CFLAGS = \
      @UNITTESTS_TRUE@	${LOCAL_AM_CFLAGS} \
      @UNITTESTS_TRUE@	$(GEANY_CFLAGS) \
      @UNITTESTS_TRUE@	$(GP_CFLAGS)
      
      @UNITTESTS_TRUE@AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS)
      @UNITTESTS_TRUE@COMMONLIBS = \
      @UNITTESTS_TRUE@	$(GEANY_LIBS) \
      @UNITTESTS_TRUE@	$(INTLLIBS)
      
      @UNITTESTS_TRUE@plugin = geanydoc
      @UNITTESTS_TRUE@unittests_SOURCES = unittests.c
      @UNITTESTS_TRUE@unittests_CFLAGS = $(GEANY_CFLAGS) -DUNITTESTS
      @UNITTESTS_TRUE@unittests_LDADD = @GEANY_LIBS@ $(INTLLIBS) @CHECK_LIBS@
      all: all-am
      
      .SUFFIXES:
      .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign geanydoc/tests/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign geanydoc/tests/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.build.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      clean-noinstPROGRAMS:
      	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
      	echo " rm -f" $$list; \
      	rm -f $$list || exit $$?; \
      	test -n "$(EXEEXT)" || exit 0; \
      	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
      	echo " rm -f" $$list; \
      	rm -f $$list
      
      unittests$(EXEEXT): $(unittests_OBJECTS) $(unittests_DEPENDENCIES) $(EXTRA_unittests_DEPENDENCIES) 
      	@rm -f unittests$(EXEEXT)
      	$(AM_V_CCLD)$(unittests_LINK) $(unittests_OBJECTS) $(unittests_LDADD) $(LIBS)
      
      mostlyclean-compile:
      	-rm -f *.$(OBJEXT)
      
      distclean-compile:
      	-rm -f *.tab.c
      
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unittests-unittests.Po@am__quote@
      
      .c.o:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
      
      .c.obj:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
      
      .c.lo:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
      @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
      
      unittests-unittests.o: unittests.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittests_CFLAGS) $(CFLAGS) -MT unittests-unittests.o -MD -MP -MF $(DEPDIR)/unittests-unittests.Tpo -c -o unittests-unittests.o `test -f 'unittests.c' || echo '$(srcdir)/'`unittests.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittests-unittests.Tpo $(DEPDIR)/unittests-unittests.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='unittests.c' object='unittests-unittests.o' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittests_CFLAGS) $(CFLAGS) -c -o unittests-unittests.o `test -f 'unittests.c' || echo '$(srcdir)/'`unittests.c
      
      unittests-unittests.obj: unittests.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittests_CFLAGS) $(CFLAGS) -MT unittests-unittests.obj -MD -MP -MF $(DEPDIR)/unittests-unittests.Tpo -c -o unittests-unittests.obj `if test -f 'unittests.c'; then $(CYGPATH_W) 'unittests.c'; else $(CYGPATH_W) '$(srcdir)/unittests.c'; fi`
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/unittests-unittests.Tpo $(DEPDIR)/unittests-unittests.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='unittests.c' object='unittests-unittests.obj' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(unittests_CFLAGS) $(CFLAGS) -c -o unittests-unittests.obj `if test -f 'unittests.c'; then $(CYGPATH_W) 'unittests.c'; else $(CYGPATH_W) '$(srcdir)/unittests.c'; fi`
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-am
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-am
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-am
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      # Recover from deleted '.trs' file; this should ensure that
      # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
      # both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
      # to avoid problems with "make -n".
      .log.trs:
      	rm -f $< $@
      	$(MAKE) $(AM_MAKEFLAGS) $<
      
      # Leading 'am--fnord' is there to ensure the list of targets does not
      # expand to empty, as could happen e.g. with make check TESTS=''.
      am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
      am--force-recheck:
      	@:
      
      $(TEST_SUITE_LOG): $(TEST_LOGS)
      	@$(am__set_TESTS_bases); \
      	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
      	redo_bases=`for i in $$bases; do \
      	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
      	            done`; \
      	if test -n "$$redo_bases"; then \
      	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
      	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
      	  if $(am__make_dryrun); then :; else \
      	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
      	  fi; \
      	fi; \
      	if test -n "$$am__remaking_logs"; then \
      	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
      	       "recursion detected" >&2; \
      	elif test -n "$$redo_logs"; then \
      	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
      	fi; \
      	if $(am__make_dryrun); then :; else \
      	  st=0;  \
      	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
      	  for i in $$redo_bases; do \
      	    test -f $$i.trs && test -r $$i.trs \
      	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
      	    test -f $$i.log && test -r $$i.log \
      	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
      	  done; \
      	  test $$st -eq 0 || exit 1; \
      	fi
      	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
      	ws='[ 	]'; \
      	results=`for b in $$bases; do echo $$b.trs; done`; \
      	test -n "$$results" || results=/dev/null; \
      	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
      	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
      	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
      	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
      	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
      	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
      	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
      	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
      	  success=true; \
      	else \
      	  success=false; \
      	fi; \
      	br='==================='; br=$$br$$br$$br$$br; \
      	result_count () \
      	{ \
      	    if test x"$$1" = x"--maybe-color"; then \
      	      maybe_colorize=yes; \
      	    elif test x"$$1" = x"--no-color"; then \
      	      maybe_colorize=no; \
      	    else \
      	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
      	    fi; \
      	    shift; \
      	    desc=$$1 count=$$2; \
      	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
      	      color_start=$$3 color_end=$$std; \
      	    else \
      	      color_start= color_end=; \
      	    fi; \
      	    echo "$${color_start}# $$desc $$count$${color_end}"; \
      	}; \
      	create_testsuite_report () \
      	{ \
      	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
      	  result_count $$1 "PASS: " $$pass  "$$grn"; \
      	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
      	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
      	  result_count $$1 "FAIL: " $$fail  "$$red"; \
      	  result_count $$1 "XPASS:" $$xpass "$$red"; \
      	  result_count $$1 "ERROR:" $$error "$$mgn"; \
      	}; \
      	{								\
      	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
      	    $(am__rst_title);						\
      	  create_testsuite_report --no-color;				\
      	  echo;								\
      	  echo ".. contents:: :depth: 2";				\
      	  echo;								\
      	  for b in $$bases; do echo $$b; done				\
      	    | $(am__create_global_log);					\
      	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
      	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
      	if $$success; then						\
      	  col="$$grn";							\
      	 else								\
      	  col="$$red";							\
      	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
      	fi;								\
      	echo "$${col}$$br$${std}"; 					\
      	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
      	echo "$${col}$$br$${std}"; 					\
      	create_testsuite_report --maybe-color;				\
      	echo "$$col$$br$$std";						\
      	if $$success; then :; else					\
      	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
      	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
      	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
      	  fi;								\
      	  echo "$$col$$br$$std";					\
      	fi;								\
      	$$success || exit 1
      
      check-TESTS:
      	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
      	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
      	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
      	@set +e; $(am__set_TESTS_bases); \
      	log_list=`for i in $$bases; do echo $$i.log; done`; \
      	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
      	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
      	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
      	exit $$?;
      recheck: all 
      	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
      	@set +e; $(am__set_TESTS_bases); \
      	bases=`for i in $$bases; do echo $$i; done \
      	         | $(am__list_recheck_tests)` || exit 1; \
      	log_list=`for i in $$bases; do echo $$i.log; done`; \
      	log_list=`echo $$log_list`; \
      	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
      	        am__force_recheck=am--force-recheck \
      	        TEST_LOGS="$$log_list"; \
      	exit $$?
      unittests.log: unittests$(EXEEXT)
      	@p='unittests$(EXEEXT)'; \
      	b='unittests'; \
      	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
      	--log-file $$b.log --trs-file $$b.trs \
      	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
      	"$$tst" $(AM_TESTS_FD_REDIRECT)
      .test.log:
      	@p='$<'; \
      	$(am__set_b); \
      	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
      	--log-file $$b.log --trs-file $$b.trs \
      	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
      	"$$tst" $(AM_TESTS_FD_REDIRECT)
      @am__EXEEXT_TRUE@.test$(EXEEXT).log:
      @am__EXEEXT_TRUE@	@p='$<'; \
      @am__EXEEXT_TRUE@	$(am__set_b); \
      @am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
      @am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
      @am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
      @am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      check-am: all-am
      	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
      check: check-am
      all-am: Makefile $(PROGRAMS)
      installdirs:
      install: install-am
      install-exec: install-exec-am
      install-data: install-data-am
      uninstall: uninstall-am
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-am
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
      	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
      	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-am
      
      clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
      	mostlyclean-am
      
      distclean: distclean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      distclean-am: clean-am distclean-compile distclean-generic \
      	distclean-tags
      
      dvi: dvi-am
      
      dvi-am:
      
      html: html-am
      
      html-am:
      
      info: info-am
      
      info-am:
      
      install-data-am:
      
      install-dvi: install-dvi-am
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-am
      
      install-html-am:
      
      install-info: install-info-am
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-am
      
      install-pdf-am:
      
      install-ps: install-ps-am
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-am
      
      mostlyclean-am: mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool
      
      pdf: pdf-am
      
      pdf-am:
      
      ps: ps-am
      
      ps-am:
      
      uninstall-am:
      
      .MAKE: check-am install-am install-strip
      
      .PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
      	clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
      	ctags ctags-am distclean distclean-compile distclean-generic \
      	distclean-libtool distclean-tags distdir dvi dvi-am html \
      	html-am info info-am install install-am install-data \
      	install-data-am install-dvi install-dvi-am install-exec \
      	install-exec-am install-html install-html-am install-info \
      	install-info-am install-man install-pdf install-pdf-am \
      	install-ps install-ps-am install-strip installcheck \
      	installcheck-am installdirs maintainer-clean \
      	maintainer-clean-generic mostlyclean mostlyclean-compile \
      	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
      	recheck tags tags-am uninstall uninstall-am
      
      .PRECIOUS: Makefile
      
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/geanydoc/tests/Makefile.am0000644000175000017500000000040312671261352021504 0ustar00frlanfrlan00000000000000if UNITTESTS
      include $(top_srcdir)/build/vars.build.mk
      plugin = geanydoc
      TESTS=unittests
      noinst_PROGRAMS=unittests
      unittests_SOURCES = unittests.c
      unittests_CFLAGS  = $(GEANY_CFLAGS) -DUNITTESTS
      unittests_LDADD   = @GEANY_LIBS@ $(INTLLIBS) @CHECK_LIBS@
      endif
      geany-plugins-1.27/geanydoc/tests/unittests.c0000644000175000017500000000061612671261352021664 0ustar00frlanfrlan00000000000000#include 
      #include 
      #include 
      
      #include 
      #include "geany.h"
      
      
      Suite *
      my_suite(void)
      {
      	Suite *s = suite_create("GeanyDoc");
      	return s;
      }
      
      int
      main(void)
      {
      	int nf;
      	Suite *s = my_suite();
      	SRunner *sr = srunner_create(s);
      	srunner_run_all(sr, CK_NORMAL);
      	nf = srunner_ntests_failed(sr);
      	srunner_free(sr);
      	return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
      }
      geany-plugins-1.27/geanydoc/Makefile.in0000644000175000017500000006450512671261401020363 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = geanydoc
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindoc_DATA) \
      	$(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      SOURCES =
      DIST_SOURCES =
      RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
      	ctags-recursive dvi-recursive html-recursive info-recursive \
      	install-data-recursive install-dvi-recursive \
      	install-exec-recursive install-html-recursive \
      	install-info-recursive install-pdf-recursive \
      	install-ps-recursive install-recursive installcheck-recursive \
      	installdirs-recursive pdf-recursive ps-recursive \
      	tags-recursive uninstall-recursive
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(plugindocdir)"
      DATA = $(dist_plugindoc_DATA)
      RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
        distclean-recursive maintainer-clean-recursive
      am__recursive_targets = \
        $(RECURSIVE_TARGETS) \
        $(RECURSIVE_CLEAN_TARGETS) \
        $(am__extra_recursive_targets)
      AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
      	distdir
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      DIST_SUBDIRS = $(SUBDIRS)
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/vars.auxfiles.mk \
      	$(top_srcdir)/build/vars.docs.mk AUTHORS COPYING ChangeLog \
      	NEWS README THANKS
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      am__relativize = \
        dir0=`pwd`; \
        sed_first='s,^\([^/]*\)/.*$$,\1,'; \
        sed_rest='s,^[^/]*/*,,'; \
        sed_last='s,^.*/\([^/]*\)$$,\1,'; \
        sed_butlast='s,/*[^/]*$$,,'; \
        while test -n "$$dir1"; do \
          first=`echo "$$dir1" | sed -e "$$sed_first"`; \
          if test "$$first" != "."; then \
            if test "$$first" = ".."; then \
              dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
              dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
            else \
              first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
              if test "$$first2" = "$$first"; then \
                dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
              else \
                dir2="../$$dir2"; \
              fi; \
              dir0="$$dir0"/"$$first"; \
            fi; \
          fi; \
          dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
        done; \
        reldir="$$dir2"
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      plugindocdir = $(docdir)/$(plugin)
      htmldocdir = $(plugindocdir)
      plugindatadir = $(pkgdatadir)/$(plugin)
      pluginlibdir = $(pkglibdir)/$(plugin)
      examplesdir = $(plugindatadir)
      dist_plugindoc_DATA = \
      	README \
      	ChangeLog \
      	NEWS \
      	COPYING \
      	AUTHORS \
      	$(AUXFILES)
      
      EXTRA_DIST = 
      SUBDIRS = src tests
      plugin = geanydoc
      all: all-recursive
      
      .SUFFIXES:
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign geanydoc/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign geanydoc/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      install-dist_plugindocDATA: $(dist_plugindoc_DATA)
      	@$(NORMAL_INSTALL)
      	@list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \
      	if test -n "$$list"; then \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(plugindocdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(plugindocdir)" || exit 1; \
      	fi; \
      	for p in $$list; do \
      	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
      	  echo "$$d$$p"; \
      	done | $(am__base_list) | \
      	while read files; do \
      	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindocdir)'"; \
      	  $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindocdir)" || exit $$?; \
      	done
      
      uninstall-dist_plugindocDATA:
      	@$(NORMAL_UNINSTALL)
      	@list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \
      	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
      	dir='$(DESTDIR)$(plugindocdir)'; $(am__uninstall_files_from_dir)
      
      # This directory's subdirectories are mostly independent; you can cd
      # into them and run 'make' without going through this Makefile.
      # To change the values of 'make' variables: instead of editing Makefiles,
      # (1) if the variable is set in 'config.status', edit 'config.status'
      #     (which will cause the Makefiles to be regenerated when you run 'make');
      # (2) otherwise, pass the desired values on the 'make' command line.
      $(am__recursive_targets):
      	@fail=; \
      	if $(am__make_keepgoing); then \
      	  failcom='fail=yes'; \
      	else \
      	  failcom='exit 1'; \
      	fi; \
      	dot_seen=no; \
      	target=`echo $@ | sed s/-recursive//`; \
      	case "$@" in \
      	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
      	  *) list='$(SUBDIRS)' ;; \
      	esac; \
      	for subdir in $$list; do \
      	  echo "Making $$target in $$subdir"; \
      	  if test "$$subdir" = "."; then \
      	    dot_seen=yes; \
      	    local_target="$$target-am"; \
      	  else \
      	    local_target="$$target"; \
      	  fi; \
      	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
      	  || eval $$failcom; \
      	done; \
      	if test "$$dot_seen" = "no"; then \
      	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
      	fi; test -z "$$fail"
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-recursive
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
      	  include_option=--etags-include; \
      	  empty_fix=.; \
      	else \
      	  include_option=--include; \
      	  empty_fix=; \
      	fi; \
      	list='$(SUBDIRS)'; for subdir in $$list; do \
      	  if test "$$subdir" = .; then :; else \
      	    test ! -f $$subdir/TAGS || \
      	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
      	  fi; \
      	done; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-recursive
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-recursive
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
      	  if test "$$subdir" = .; then :; else \
      	    $(am__make_dryrun) \
      	      || test -d "$(distdir)/$$subdir" \
      	      || $(MKDIR_P) "$(distdir)/$$subdir" \
      	      || exit 1; \
      	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
      	    $(am__relativize); \
      	    new_distdir=$$reldir; \
      	    dir1=$$subdir; dir2="$(top_distdir)"; \
      	    $(am__relativize); \
      	    new_top_distdir=$$reldir; \
      	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
      	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
      	    ($(am__cd) $$subdir && \
      	      $(MAKE) $(AM_MAKEFLAGS) \
      	        top_distdir="$$new_top_distdir" \
      	        distdir="$$new_distdir" \
      		am__remove_distdir=: \
      		am__skip_length_check=: \
      		am__skip_mode_fix=: \
      	        distdir) \
      	      || exit 1; \
      	  fi; \
      	done
      check-am: all-am
      check: check-recursive
      all-am: Makefile $(DATA)
      installdirs: installdirs-recursive
      installdirs-am:
      	for dir in "$(DESTDIR)$(plugindocdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-recursive
      install-exec: install-exec-recursive
      install-data: install-data-recursive
      uninstall: uninstall-recursive
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-recursive
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-recursive
      
      clean-am: clean-generic clean-libtool mostlyclean-am
      
      distclean: distclean-recursive
      	-rm -f Makefile
      distclean-am: clean-am distclean-generic distclean-tags
      
      dvi: dvi-recursive
      
      dvi-am:
      
      html: html-recursive
      
      html-am:
      
      info: info-recursive
      
      info-am:
      
      install-data-am: install-dist_plugindocDATA
      
      install-dvi: install-dvi-recursive
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-recursive
      
      install-html-am:
      
      install-info: install-info-recursive
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-recursive
      
      install-pdf-am:
      
      install-ps: install-ps-recursive
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-recursive
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-recursive
      
      mostlyclean-am: mostlyclean-generic mostlyclean-libtool
      
      pdf: pdf-recursive
      
      pdf-am:
      
      ps: ps-recursive
      
      ps-am:
      
      uninstall-am: uninstall-dist_plugindocDATA
      
      .MAKE: $(am__recursive_targets) install-am install-strip
      
      .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
      	check-am clean clean-generic clean-libtool cscopelist-am ctags \
      	ctags-am distclean distclean-generic distclean-libtool \
      	distclean-tags distdir dvi dvi-am html html-am info info-am \
      	install install-am install-data install-data-am \
      	install-dist_plugindocDATA install-dvi install-dvi-am \
      	install-exec install-exec-am install-html install-html-am \
      	install-info install-info-am install-man install-pdf \
      	install-pdf-am install-ps install-ps-am install-strip \
      	installcheck installcheck-am installdirs installdirs-am \
      	maintainer-clean maintainer-clean-generic mostlyclean \
      	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
      	tags tags-am uninstall uninstall-am \
      	uninstall-dist_plugindocDATA
      
      .PRECIOUS: Makefile
      
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/geanydoc/Makefile.am0000644000175000017500000000012412671261352020342 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = src tests
      plugin = geanydoc
      geany-plugins-1.27/geanydoc/THANKS0000644000175000017500000000000012671261352017212 0ustar00frlanfrlan00000000000000geany-plugins-1.27/geanydoc/AUTHORS0000644000175000017500000000004312671261352017356 0ustar00frlanfrlan00000000000000Yura Siamashka 
      geany-plugins-1.27/geanydoc/NEWS0000644000175000017500000000001512671261352017004 0ustar00frlanfrlan00000000000000See "README"
      geany-plugins-1.27/geanydoc/COPYING0000644000175000017500000010451312671261352017350 0ustar00frlanfrlan00000000000000                    GNU GENERAL PUBLIC LICENSE
                             Version 3, 29 June 2007
      
       Copyright (C) 2007 Free Software Foundation, Inc. 
       Everyone is permitted to copy and distribute verbatim copies
       of this license document, but changing it is not allowed.
      
                                  Preamble
      
        The GNU General Public License is a free, copyleft license for
      software and other kinds of works.
      
        The licenses for most software and other practical works are designed
      to take away your freedom to share and change the works.  By contrast,
      the GNU General Public License is intended to guarantee your freedom to
      share and change all versions of a program--to make sure it remains free
      software for all its users.  We, the Free Software Foundation, use the
      GNU General Public License for most of our software; it applies also to
      any other work released this way by its authors.  You can apply it to
      your programs, too.
      
        When we speak of free software, we are referring to freedom, not
      price.  Our General Public Licenses are designed to make sure that you
      have the freedom to distribute copies of free software (and charge for
      them if you wish), that you receive source code or can get it if you
      want it, that you can change the software or use pieces of it in new
      free programs, and that you know you can do these things.
      
        To protect your rights, we need to prevent others from denying you
      these rights or asking you to surrender the rights.  Therefore, you have
      certain responsibilities if you distribute copies of the software, or if
      you modify it: responsibilities to respect the freedom of others.
      
        For example, if you distribute copies of such a program, whether
      gratis or for a fee, you must pass on to the recipients the same
      freedoms that you received.  You must make sure that they, too, receive
      or can get the source code.  And you must show them these terms so they
      know their rights.
      
        Developers that use the GNU GPL protect your rights with two steps:
      (1) assert copyright on the software, and (2) offer you this License
      giving you legal permission to copy, distribute and/or modify it.
      
        For the developers' and authors' protection, the GPL clearly explains
      that there is no warranty for this free software.  For both users' and
      authors' sake, the GPL requires that modified versions be marked as
      changed, so that their problems will not be attributed erroneously to
      authors of previous versions.
      
        Some devices are designed to deny users access to install or run
      modified versions of the software inside them, although the manufacturer
      can do so.  This is fundamentally incompatible with the aim of
      protecting users' freedom to change the software.  The systematic
      pattern of such abuse occurs in the area of products for individuals to
      use, which is precisely where it is most unacceptable.  Therefore, we
      have designed this version of the GPL to prohibit the practice for those
      products.  If such problems arise substantially in other domains, we
      stand ready to extend this provision to those domains in future versions
      of the GPL, as needed to protect the freedom of users.
      
        Finally, every program is threatened constantly by software patents.
      States should not allow patents to restrict development and use of
      software on general-purpose computers, but in those that do, we wish to
      avoid the special danger that patents applied to a free program could
      make it effectively proprietary.  To prevent this, the GPL assures that
      patents cannot be used to render the program non-free.
      
        The precise terms and conditions for copying, distribution and
      modification follow.
      
                             TERMS AND CONDITIONS
      
        0. Definitions.
      
        "This License" refers to version 3 of the GNU General Public License.
      
        "Copyright" also means copyright-like laws that apply to other kinds of
      works, such as semiconductor masks.
      
        "The Program" refers to any copyrightable work licensed under this
      License.  Each licensee is addressed as "you".  "Licensees" and
      "recipients" may be individuals or organizations.
      
        To "modify" a work means to copy from or adapt all or part of the work
      in a fashion requiring copyright permission, other than the making of an
      exact copy.  The resulting work is called a "modified version" of the
      earlier work or a work "based on" the earlier work.
      
        A "covered work" means either the unmodified Program or a work based
      on the Program.
      
        To "propagate" a work means to do anything with it that, without
      permission, would make you directly or secondarily liable for
      infringement under applicable copyright law, except executing it on a
      computer or modifying a private copy.  Propagation includes copying,
      distribution (with or without modification), making available to the
      public, and in some countries other activities as well.
      
        To "convey" a work means any kind of propagation that enables other
      parties to make or receive copies.  Mere interaction with a user through
      a computer network, with no transfer of a copy, is not conveying.
      
        An interactive user interface displays "Appropriate Legal Notices"
      to the extent that it includes a convenient and prominently visible
      feature that (1) displays an appropriate copyright notice, and (2)
      tells the user that there is no warranty for the work (except to the
      extent that warranties are provided), that licensees may convey the
      work under this License, and how to view a copy of this License.  If
      the interface presents a list of user commands or options, such as a
      menu, a prominent item in the list meets this criterion.
      
        1. Source Code.
      
        The "source code" for a work means the preferred form of the work
      for making modifications to it.  "Object code" means any non-source
      form of a work.
      
        A "Standard Interface" means an interface that either is an official
      standard defined by a recognized standards body, or, in the case of
      interfaces specified for a particular programming language, one that
      is widely used among developers working in that language.
      
        The "System Libraries" of an executable work include anything, other
      than the work as a whole, that (a) is included in the normal form of
      packaging a Major Component, but which is not part of that Major
      Component, and (b) serves only to enable use of the work with that
      Major Component, or to implement a Standard Interface for which an
      implementation is available to the public in source code form.  A
      "Major Component", in this context, means a major essential component
      (kernel, window system, and so on) of the specific operating system
      (if any) on which the executable work runs, or a compiler used to
      produce the work, or an object code interpreter used to run it.
      
        The "Corresponding Source" for a work in object code form means all
      the source code needed to generate, install, and (for an executable
      work) run the object code and to modify the work, including scripts to
      control those activities.  However, it does not include the work's
      System Libraries, or general-purpose tools or generally available free
      programs which are used unmodified in performing those activities but
      which are not part of the work.  For example, Corresponding Source
      includes interface definition files associated with source files for
      the work, and the source code for shared libraries and dynamically
      linked subprograms that the work is specifically designed to require,
      such as by intimate data communication or control flow between those
      subprograms and other parts of the work.
      
        The Corresponding Source need not include anything that users
      can regenerate automatically from other parts of the Corresponding
      Source.
      
        The Corresponding Source for a work in source code form is that
      same work.
      
        2. Basic Permissions.
      
        All rights granted under this License are granted for the term of
      copyright on the Program, and are irrevocable provided the stated
      conditions are met.  This License explicitly affirms your unlimited
      permission to run the unmodified Program.  The output from running a
      covered work is covered by this License only if the output, given its
      content, constitutes a covered work.  This License acknowledges your
      rights of fair use or other equivalent, as provided by copyright law.
      
        You may make, run and propagate covered works that you do not
      convey, without conditions so long as your license otherwise remains
      in force.  You may convey covered works to others for the sole purpose
      of having them make modifications exclusively for you, or provide you
      with facilities for running those works, provided that you comply with
      the terms of this License in conveying all material for which you do
      not control copyright.  Those thus making or running the covered works
      for you must do so exclusively on your behalf, under your direction
      and control, on terms that prohibit them from making any copies of
      your copyrighted material outside their relationship with you.
      
        Conveying under any other circumstances is permitted solely under
      the conditions stated below.  Sublicensing is not allowed; section 10
      makes it unnecessary.
      
        3. Protecting Users' Legal Rights From Anti-Circumvention Law.
      
        No covered work shall be deemed part of an effective technological
      measure under any applicable law fulfilling obligations under article
      11 of the WIPO copyright treaty adopted on 20 December 1996, or
      similar laws prohibiting or restricting circumvention of such
      measures.
      
        When you convey a covered work, you waive any legal power to forbid
      circumvention of technological measures to the extent such circumvention
      is effected by exercising rights under this License with respect to
      the covered work, and you disclaim any intention to limit operation or
      modification of the work as a means of enforcing, against the work's
      users, your or third parties' legal rights to forbid circumvention of
      technological measures.
      
        4. Conveying Verbatim Copies.
      
        You may convey verbatim copies of the Program's source code as you
      receive it, in any medium, provided that you conspicuously and
      appropriately publish on each copy an appropriate copyright notice;
      keep intact all notices stating that this License and any
      non-permissive terms added in accord with section 7 apply to the code;
      keep intact all notices of the absence of any warranty; and give all
      recipients a copy of this License along with the Program.
      
        You may charge any price or no price for each copy that you convey,
      and you may offer support or warranty protection for a fee.
      
        5. Conveying Modified Source Versions.
      
        You may convey a work based on the Program, or the modifications to
      produce it from the Program, in the form of source code under the
      terms of section 4, provided that you also meet all of these conditions:
      
          a) The work must carry prominent notices stating that you modified
          it, and giving a relevant date.
      
          b) The work must carry prominent notices stating that it is
          released under this License and any conditions added under section
          7.  This requirement modifies the requirement in section 4 to
          "keep intact all notices".
      
          c) You must license the entire work, as a whole, under this
          License to anyone who comes into possession of a copy.  This
          License will therefore apply, along with any applicable section 7
          additional terms, to the whole of the work, and all its parts,
          regardless of how they are packaged.  This License gives no
          permission to license the work in any other way, but it does not
          invalidate such permission if you have separately received it.
      
          d) If the work has interactive user interfaces, each must display
          Appropriate Legal Notices; however, if the Program has interactive
          interfaces that do not display Appropriate Legal Notices, your
          work need not make them do so.
      
        A compilation of a covered work with other separate and independent
      works, which are not by their nature extensions of the covered work,
      and which are not combined with it such as to form a larger program,
      in or on a volume of a storage or distribution medium, is called an
      "aggregate" if the compilation and its resulting copyright are not
      used to limit the access or legal rights of the compilation's users
      beyond what the individual works permit.  Inclusion of a covered work
      in an aggregate does not cause this License to apply to the other
      parts of the aggregate.
      
        6. Conveying Non-Source Forms.
      
        You may convey a covered work in object code form under the terms
      of sections 4 and 5, provided that you also convey the
      machine-readable Corresponding Source under the terms of this License,
      in one of these ways:
      
          a) Convey the object code in, or embodied in, a physical product
          (including a physical distribution medium), accompanied by the
          Corresponding Source fixed on a durable physical medium
          customarily used for software interchange.
      
          b) Convey the object code in, or embodied in, a physical product
          (including a physical distribution medium), accompanied by a
          written offer, valid for at least three years and valid for as
          long as you offer spare parts or customer support for that product
          model, to give anyone who possesses the object code either (1) a
          copy of the Corresponding Source for all the software in the
          product that is covered by this License, on a durable physical
          medium customarily used for software interchange, for a price no
          more than your reasonable cost of physically performing this
          conveying of source, or (2) access to copy the
          Corresponding Source from a network server at no charge.
      
          c) Convey individual copies of the object code with a copy of the
          written offer to provide the Corresponding Source.  This
          alternative is allowed only occasionally and noncommercially, and
          only if you received the object code with such an offer, in accord
          with subsection 6b.
      
          d) Convey the object code by offering access from a designated
          place (gratis or for a charge), and offer equivalent access to the
          Corresponding Source in the same way through the same place at no
          further charge.  You need not require recipients to copy the
          Corresponding Source along with the object code.  If the place to
          copy the object code is a network server, the Corresponding Source
          may be on a different server (operated by you or a third party)
          that supports equivalent copying facilities, provided you maintain
          clear directions next to the object code saying where to find the
          Corresponding Source.  Regardless of what server hosts the
          Corresponding Source, you remain obligated to ensure that it is
          available for as long as needed to satisfy these requirements.
      
          e) Convey the object code using peer-to-peer transmission, provided
          you inform other peers where the object code and Corresponding
          Source of the work are being offered to the general public at no
          charge under subsection 6d.
      
        A separable portion of the object code, whose source code is excluded
      from the Corresponding Source as a System Library, need not be
      included in conveying the object code work.
      
        A "User Product" is either (1) a "consumer product", which means any
      tangible personal property which is normally used for personal, family,
      or household purposes, or (2) anything designed or sold for incorporation
      into a dwelling.  In determining whether a product is a consumer product,
      doubtful cases shall be resolved in favor of coverage.  For a particular
      product received by a particular user, "normally used" refers to a
      typical or common use of that class of product, regardless of the status
      of the particular user or of the way in which the particular user
      actually uses, or expects or is expected to use, the product.  A product
      is a consumer product regardless of whether the product has substantial
      commercial, industrial or non-consumer uses, unless such uses represent
      the only significant mode of use of the product.
      
        "Installation Information" for a User Product means any methods,
      procedures, authorization keys, or other information required to install
      and execute modified versions of a covered work in that User Product from
      a modified version of its Corresponding Source.  The information must
      suffice to ensure that the continued functioning of the modified object
      code is in no case prevented or interfered with solely because
      modification has been made.
      
        If you convey an object code work under this section in, or with, or
      specifically for use in, a User Product, and the conveying occurs as
      part of a transaction in which the right of possession and use of the
      User Product is transferred to the recipient in perpetuity or for a
      fixed term (regardless of how the transaction is characterized), the
      Corresponding Source conveyed under this section must be accompanied
      by the Installation Information.  But this requirement does not apply
      if neither you nor any third party retains the ability to install
      modified object code on the User Product (for example, the work has
      been installed in ROM).
      
        The requirement to provide Installation Information does not include a
      requirement to continue to provide support service, warranty, or updates
      for a work that has been modified or installed by the recipient, or for
      the User Product in which it has been modified or installed.  Access to a
      network may be denied when the modification itself materially and
      adversely affects the operation of the network or violates the rules and
      protocols for communication across the network.
      
        Corresponding Source conveyed, and Installation Information provided,
      in accord with this section must be in a format that is publicly
      documented (and with an implementation available to the public in
      source code form), and must require no special password or key for
      unpacking, reading or copying.
      
        7. Additional Terms.
      
        "Additional permissions" are terms that supplement the terms of this
      License by making exceptions from one or more of its conditions.
      Additional permissions that are applicable to the entire Program shall
      be treated as though they were included in this License, to the extent
      that they are valid under applicable law.  If additional permissions
      apply only to part of the Program, that part may be used separately
      under those permissions, but the entire Program remains governed by
      this License without regard to the additional permissions.
      
        When you convey a copy of a covered work, you may at your option
      remove any additional permissions from that copy, or from any part of
      it.  (Additional permissions may be written to require their own
      removal in certain cases when you modify the work.)  You may place
      additional permissions on material, added by you to a covered work,
      for which you have or can give appropriate copyright permission.
      
        Notwithstanding any other provision of this License, for material you
      add to a covered work, you may (if authorized by the copyright holders of
      that material) supplement the terms of this License with terms:
      
          a) Disclaiming warranty or limiting liability differently from the
          terms of sections 15 and 16 of this License; or
      
          b) Requiring preservation of specified reasonable legal notices or
          author attributions in that material or in the Appropriate Legal
          Notices displayed by works containing it; or
      
          c) Prohibiting misrepresentation of the origin of that material, or
          requiring that modified versions of such material be marked in
          reasonable ways as different from the original version; or
      
          d) Limiting the use for publicity purposes of names of licensors or
          authors of the material; or
      
          e) Declining to grant rights under trademark law for use of some
          trade names, trademarks, or service marks; or
      
          f) Requiring indemnification of licensors and authors of that
          material by anyone who conveys the material (or modified versions of
          it) with contractual assumptions of liability to the recipient, for
          any liability that these contractual assumptions directly impose on
          those licensors and authors.
      
        All other non-permissive additional terms are considered "further
      restrictions" within the meaning of section 10.  If the Program as you
      received it, or any part of it, contains a notice stating that it is
      governed by this License along with a term that is a further
      restriction, you may remove that term.  If a license document contains
      a further restriction but permits relicensing or conveying under this
      License, you may add to a covered work material governed by the terms
      of that license document, provided that the further restriction does
      not survive such relicensing or conveying.
      
        If you add terms to a covered work in accord with this section, you
      must place, in the relevant source files, a statement of the
      additional terms that apply to those files, or a notice indicating
      where to find the applicable terms.
      
        Additional terms, permissive or non-permissive, may be stated in the
      form of a separately written license, or stated as exceptions;
      the above requirements apply either way.
      
        8. Termination.
      
        You may not propagate or modify a covered work except as expressly
      provided under this License.  Any attempt otherwise to propagate or
      modify it is void, and will automatically terminate your rights under
      this License (including any patent licenses granted under the third
      paragraph of section 11).
      
        However, if you cease all violation of this License, then your
      license from a particular copyright holder is reinstated (a)
      provisionally, unless and until the copyright holder explicitly and
      finally terminates your license, and (b) permanently, if the copyright
      holder fails to notify you of the violation by some reasonable means
      prior to 60 days after the cessation.
      
        Moreover, your license from a particular copyright holder is
      reinstated permanently if the copyright holder notifies you of the
      violation by some reasonable means, this is the first time you have
      received notice of violation of this License (for any work) from that
      copyright holder, and you cure the violation prior to 30 days after
      your receipt of the notice.
      
        Termination of your rights under this section does not terminate the
      licenses of parties who have received copies or rights from you under
      this License.  If your rights have been terminated and not permanently
      reinstated, you do not qualify to receive new licenses for the same
      material under section 10.
      
        9. Acceptance Not Required for Having Copies.
      
        You are not required to accept this License in order to receive or
      run a copy of the Program.  Ancillary propagation of a covered work
      occurring solely as a consequence of using peer-to-peer transmission
      to receive a copy likewise does not require acceptance.  However,
      nothing other than this License grants you permission to propagate or
      modify any covered work.  These actions infringe copyright if you do
      not accept this License.  Therefore, by modifying or propagating a
      covered work, you indicate your acceptance of this License to do so.
      
        10. Automatic Licensing of Downstream Recipients.
      
        Each time you convey a covered work, the recipient automatically
      receives a license from the original licensors, to run, modify and
      propagate that work, subject to this License.  You are not responsible
      for enforcing compliance by third parties with this License.
      
        An "entity transaction" is a transaction transferring control of an
      organization, or substantially all assets of one, or subdividing an
      organization, or merging organizations.  If propagation of a covered
      work results from an entity transaction, each party to that
      transaction who receives a copy of the work also receives whatever
      licenses to the work the party's predecessor in interest had or could
      give under the previous paragraph, plus a right to possession of the
      Corresponding Source of the work from the predecessor in interest, if
      the predecessor has it or can get it with reasonable efforts.
      
        You may not impose any further restrictions on the exercise of the
      rights granted or affirmed under this License.  For example, you may
      not impose a license fee, royalty, or other charge for exercise of
      rights granted under this License, and you may not initiate litigation
      (including a cross-claim or counterclaim in a lawsuit) alleging that
      any patent claim is infringed by making, using, selling, offering for
      sale, or importing the Program or any portion of it.
      
        11. Patents.
      
        A "contributor" is a copyright holder who authorizes use under this
      License of the Program or a work on which the Program is based.  The
      work thus licensed is called the contributor's "contributor version".
      
        A contributor's "essential patent claims" are all patent claims
      owned or controlled by the contributor, whether already acquired or
      hereafter acquired, that would be infringed by some manner, permitted
      by this License, of making, using, or selling its contributor version,
      but do not include claims that would be infringed only as a
      consequence of further modification of the contributor version.  For
      purposes of this definition, "control" includes the right to grant
      patent sublicenses in a manner consistent with the requirements of
      this License.
      
        Each contributor grants you a non-exclusive, worldwide, royalty-free
      patent license under the contributor's essential patent claims, to
      make, use, sell, offer for sale, import and otherwise run, modify and
      propagate the contents of its contributor version.
      
        In the following three paragraphs, a "patent license" is any express
      agreement or commitment, however denominated, not to enforce a patent
      (such as an express permission to practice a patent or covenant not to
      sue for patent infringement).  To "grant" such a patent license to a
      party means to make such an agreement or commitment not to enforce a
      patent against the party.
      
        If you convey a covered work, knowingly relying on a patent license,
      and the Corresponding Source of the work is not available for anyone
      to copy, free of charge and under the terms of this License, through a
      publicly available network server or other readily accessible means,
      then you must either (1) cause the Corresponding Source to be so
      available, or (2) arrange to deprive yourself of the benefit of the
      patent license for this particular work, or (3) arrange, in a manner
      consistent with the requirements of this License, to extend the patent
      license to downstream recipients.  "Knowingly relying" means you have
      actual knowledge that, but for the patent license, your conveying the
      covered work in a country, or your recipient's use of the covered work
      in a country, would infringe one or more identifiable patents in that
      country that you have reason to believe are valid.
      
        If, pursuant to or in connection with a single transaction or
      arrangement, you convey, or propagate by procuring conveyance of, a
      covered work, and grant a patent license to some of the parties
      receiving the covered work authorizing them to use, propagate, modify
      or convey a specific copy of the covered work, then the patent license
      you grant is automatically extended to all recipients of the covered
      work and works based on it.
      
        A patent license is "discriminatory" if it does not include within
      the scope of its coverage, prohibits the exercise of, or is
      conditioned on the non-exercise of one or more of the rights that are
      specifically granted under this License.  You may not convey a covered
      work if you are a party to an arrangement with a third party that is
      in the business of distributing software, under which you make payment
      to the third party based on the extent of your activity of conveying
      the work, and under which the third party grants, to any of the
      parties who would receive the covered work from you, a discriminatory
      patent license (a) in connection with copies of the covered work
      conveyed by you (or copies made from those copies), or (b) primarily
      for and in connection with specific products or compilations that
      contain the covered work, unless you entered into that arrangement,
      or that patent license was granted, prior to 28 March 2007.
      
        Nothing in this License shall be construed as excluding or limiting
      any implied license or other defenses to infringement that may
      otherwise be available to you under applicable patent law.
      
        12. No Surrender of Others' Freedom.
      
        If conditions are imposed on you (whether by court order, agreement or
      otherwise) that contradict the conditions of this License, they do not
      excuse you from the conditions of this License.  If you cannot convey a
      covered work so as to satisfy simultaneously your obligations under this
      License and any other pertinent obligations, then as a consequence you may
      not convey it at all.  For example, if you agree to terms that obligate you
      to collect a royalty for further conveying from those to whom you convey
      the Program, the only way you could satisfy both those terms and this
      License would be to refrain entirely from conveying the Program.
      
        13. Use with the GNU Affero General Public License.
      
        Notwithstanding any other provision of this License, you have
      permission to link or combine any covered work with a work licensed
      under version 3 of the GNU Affero General Public License into a single
      combined work, and to convey the resulting work.  The terms of this
      License will continue to apply to the part which is the covered work,
      but the special requirements of the GNU Affero General Public License,
      section 13, concerning interaction through a network will apply to the
      combination as such.
      
        14. Revised Versions of this License.
      
        The Free Software Foundation may publish revised and/or new versions of
      the GNU General Public License from time to time.  Such new versions will
      be similar in spirit to the present version, but may differ in detail to
      address new problems or concerns.
      
        Each version is given a distinguishing version number.  If the
      Program specifies that a certain numbered version of the GNU General
      Public License "or any later version" applies to it, you have the
      option of following the terms and conditions either of that numbered
      version or of any later version published by the Free Software
      Foundation.  If the Program does not specify a version number of the
      GNU General Public License, you may choose any version ever published
      by the Free Software Foundation.
      
        If the Program specifies that a proxy can decide which future
      versions of the GNU General Public License can be used, that proxy's
      public statement of acceptance of a version permanently authorizes you
      to choose that version for the Program.
      
        Later license versions may give you additional or different
      permissions.  However, no additional obligations are imposed on any
      author or copyright holder as a result of your choosing to follow a
      later version.
      
        15. Disclaimer of Warranty.
      
        THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
      APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
      HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
      OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
      THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
      PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
      IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
      ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
      
        16. Limitation of Liability.
      
        IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
      WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
      THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
      GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
      USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
      DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
      PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
      EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
      SUCH DAMAGES.
      
        17. Interpretation of Sections 15 and 16.
      
        If the disclaimer of warranty and limitation of liability provided
      above cannot be given local legal effect according to their terms,
      reviewing courts shall apply local law that most closely approximates
      an absolute waiver of all civil liability in connection with the
      Program, unless a warranty or assumption of liability accompanies a
      copy of the Program in return for a fee.
      
                           END OF TERMS AND CONDITIONS
      
                  How to Apply These Terms to Your New Programs
      
        If you develop a new program, and you want it to be of the greatest
      possible use to the public, the best way to achieve this is to make it
      free software which everyone can redistribute and change under these terms.
      
        To do so, attach the following notices to the program.  It is safest
      to attach them to the start of each source file to most effectively
      state the exclusion of warranty; and each file should have at least
      the "copyright" line and a pointer to where the full notice is found.
      
          
          Copyright (C)   
      
          This program is free software: you can redistribute it and/or modify
          it under the terms of the GNU General Public License as published by
          the Free Software Foundation, either version 3 of the License, or
          (at your option) any later version.
      
          This program is distributed in the hope that it will be useful,
          but WITHOUT ANY WARRANTY; without even the implied warranty of
          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
          GNU General Public License for more details.
      
          You should have received a copy of the GNU General Public License
          along with this program.  If not, see .
      
      Also add information on how to contact you by electronic and paper mail.
      
        If the program does terminal interaction, make it output a short
      notice like this when it starts in an interactive mode:
      
            Copyright (C)   
          This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
          This is free software, and you are welcome to redistribute it
          under certain conditions; type `show c' for details.
      
      The hypothetical commands `show w' and `show c' should show the appropriate
      parts of the General Public License.  Of course, your program's commands
      might be different; for a GUI interface, you would use an "about box".
      
        You should also get your employer (if you work as a programmer) or school,
      if any, to sign a "copyright disclaimer" for the program, if necessary.
      For more information on this, and how to apply and follow the GNU GPL, see
      .
      
        The GNU General Public License does not permit incorporating your program
      into proprietary programs.  If your program is a subroutine library, you
      may consider it more useful to permit linking proprietary applications with
      the library.  If this is what you want to do, use the GNU Lesser General
      Public License instead of this License.  But first, please read
      .
      geany-plugins-1.27/geanydoc/ChangeLog0000644000175000017500000000000012671261352020051 0ustar00frlanfrlan00000000000000geany-plugins-1.27/geanydoc/src/0000755000175000017500000000000012671261442017100 5ustar00frlanfrlan00000000000000geany-plugins-1.27/geanydoc/src/geanydoc.c0000644000175000017500000003323012671261352021036 0ustar00frlanfrlan00000000000000/*
       *  geanydoc.c
       *
       *  Copyright 2008 Yura Siamashka 
       *
       *  This program is free software; you can redistribute it and/or modify
       *  it under the terms of the GNU General Public License as published by
       *  the Free Software Foundation; either version 3 of the License, or
       *  (at your option) any later version.
       *
       *  This program is free software: you can redistribute it and/or modify
       *  it under the terms of the GNU General Public License as published by
       *  the Free Software Foundation, either version 3 of the License, or
       *  (at your option) any later version.
       *
       *  This program is distributed in the hope that it will be useful,
       *  but WITHOUT ANY WARRANTY; without even the implied warranty of
       *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       *  GNU General Public License for more details.
       *
       *  You should have received a copy of the GNU General Public License
       *  along with this program.  If not, see .
       */
      
      #include 
      #include 
      
      #ifdef HAVE_CONFIG_H
      #include "config.h"
      #endif
      
      #include "geanyplugin.h"
      
      
      #include "geanydoc.h"
      
      /* These items are set by Geany before init() is called. */
      PluginFields *plugin_fields;
      GeanyData *geany_data;
      
      static GtkWidget *keyb1;
      static GtkWidget *keyb2;
      
      
      /* Check that Geany supports plugin API version 128 or later, and check
       * for binary compatibility. */
      PLUGIN_VERSION_CHECK(224)
      /* All plugins must set name, description, version and author. */
      PLUGIN_SET_TRANSLATABLE_INFO(LOCALEDIR, GETTEXT_PACKAGE,
      	_("Doc"), _("Call documentation viewer on current symbol."), VERSION,
      	"Yura Siamshka ")
      
      /* Keybinding(s) */
           enum
           {
      	     KB_DOCUMENT_WORD,
      	     KB_DOCUMENT_WORD_ASK,
      	     KB_COUNT
           };
      
      PLUGIN_KEY_GROUP(doc_chars, KB_COUNT)
      
           GtkWidget *create_Interactive(void);
      
           static gboolean word_check_left(gchar c)
      {
      	if (g_ascii_isalnum(c) || c == '_' || c == '.')
      		return TRUE;
      	return FALSE;
      }
      
      static gboolean
      word_check_right(gchar c)
      {
      	if (g_ascii_isalnum(c) || c == '_')
      		return TRUE;
      	return FALSE;
      }
      
      static gchar *
      current_word(void)
      {
      	gchar *txt;
      	GeanyDocument *doc;
      
      	gint pos;
      	gint cstart, cend;
      	gchar c;
      	gint text_len;
      
      	doc = document_get_current();
      	g_return_val_if_fail(doc != NULL && doc->file_name != NULL, NULL);
      
      	text_len = sci_get_selected_text_length(doc->editor->sci);
      	if (text_len > 1)
      	{
      		txt = g_malloc(text_len + 1);
      		sci_get_selected_text(doc->editor->sci, txt);
      		return txt;
      	}
      
      	pos = sci_get_current_position(doc->editor->sci);
      	if (pos > 0)
      		pos--;
      
      	cstart = pos;
      	c = sci_get_char_at(doc->editor->sci, cstart);
      
      	if (!word_check_left(c))
      		return NULL;
      
      	while (word_check_left(c))
      	{
      		cstart--;
      		if (cstart >= 0)
      			c = sci_get_char_at(doc->editor->sci, cstart);
      		else
      			break;
      	}
      	cstart++;
      
      	cend = pos;
      	c = sci_get_char_at(doc->editor->sci, cend);
      	while (word_check_right(c) && cend < sci_get_length(doc->editor->sci))
      	{
      		cend++;
      		c = sci_get_char_at(doc->editor->sci, cend);
      	}
      
      	if (cstart == cend)
      		return NULL;
      	txt = g_malloc0(cend - cstart + 1);
      
      	sci_get_text_range(doc->editor->sci, cstart, cend, txt);
      	return txt;
      }
      
      /* name should be in UTF-8, and can have a path. */
      static void
      show_output(const gchar * std_output, const gchar * name, const gchar * force_encoding,
      	    gint filetype_new_file)
      {
      	gint page;
      	GtkNotebook *book;
      	GeanyDocument *doc, *cur_doc;
      
      	if (std_output)
      	{
      		cur_doc = document_get_current();
      		doc = document_find_by_filename(name);
      		if (doc == NULL)
      		{
      			doc = document_new_file(name,
      						   filetypes[filetype_new_file],
      						   std_output);
      		}
      		else
      		{
      			sci_set_text(doc->editor->sci, std_output);
      			book = GTK_NOTEBOOK(geany->main_widgets->notebook);
      			page = gtk_notebook_page_num(book, GTK_WIDGET(doc->editor->sci));
      			gtk_notebook_set_current_page(book, page);
      		}
      		document_set_text_changed(doc, FALSE);
      		document_set_encoding(doc, (force_encoding ? force_encoding : "UTF-8"));
      		navqueue_goto_line(cur_doc, document_get_current(), 1);
      	}
      	else
      	{
      		ui_set_statusbar(FALSE, _("Could not parse the output of command"));
      	}
      }
      
      static void
      show_doc(const gchar * word, gint cmd_num)
      {
      	GeanyDocument *doc;
      	const gchar *ftype;
      	gchar *command;
      	gchar *tmp;
      	gboolean intern;
      
      	doc = document_get_current();
      	g_return_if_fail(doc != NULL && doc->file_name != NULL);
      
      	ftype = doc->file_type->name;
      	command = config_get_command(ftype, cmd_num, &intern);
      	if (EMPTY(command))
      	{
      		g_free(command);
      		return;
      	}
      
      	tmp = strstr(command, "%w");
      	if (tmp != NULL)
      	{
      		tmp[1] = 's';
      		setptr(command, g_strdup_printf(command, word));
      	}
      
      	if (intern)
      	{
      		g_spawn_command_line_sync(command, &tmp, NULL, NULL, NULL);
      		if (! EMPTY(tmp))
      		{
      			show_output(tmp, "*DOC*", NULL, doc->file_type->id);
      		}
      		else
      		{
      			show_doc(word, cmd_num + 1);
      		}
      		g_free(tmp);
      	}
      	else
      	{
      		g_spawn_command_line_async(command, NULL);
      	}
      	g_free(command);
      }
      
      static void
      kb_doc(G_GNUC_UNUSED guint key_id)
      {
      	gchar *word = current_word();
      	if (word)
      	{
      		show_doc(word, 0);
      		g_free(word);
      	}
      }
      
      static void
      kb_doc_ask(G_GNUC_UNUSED guint key_id)
      {
      	gchar *word = NULL;
      	GtkWidget *dialog, *entry;
      
      	/* example configuration dialog */
      	dialog = create_Interactive();
      
      	/* run the dialog and check for the response code */
      	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
      	{
      		entry = ui_lookup_widget(dialog, "entry_word");
      		word = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
      	}
      	gtk_widget_destroy(dialog);
      
      	if (word)
      	{
      		show_doc(word, 0);
      		g_free(word);
      	}
      }
      
      static void
      on_comboboxType_changed(GtkComboBox * combobox, G_GNUC_UNUSED gpointer user_data)
      {
      	gchar *from, *to;
      	GtkWidget *cmd0 = ui_lookup_widget(GTK_WIDGET(combobox), "entryCommand0");
      	GtkWidget *cmd1 = ui_lookup_widget(GTK_WIDGET(combobox), "entryCommand1");
      	GtkWidget *intern = ui_lookup_widget(GTK_WIDGET(combobox), "cbIntern");
      
      	gchar *cmd0_txt = (gchar *) gtk_entry_get_text(GTK_ENTRY(cmd0));
      	gchar *cmd1_txt = (gchar *) gtk_entry_get_text(GTK_ENTRY(cmd1));
      	gboolean intern_b = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(intern));
      	GKeyFile *config = (GKeyFile *) g_object_get_data(G_OBJECT(combobox), "config");
      
      	from = g_object_get_data(G_OBJECT(combobox), "current");
      	to = gtk_combo_box_get_active_text(combobox);
      
      	if (from != NULL)
      	{
      		if (! EMPTY(cmd0_txt))
      			g_key_file_set_string(config, from, "command0", cmd0_txt);
      		else
      			g_key_file_remove_key(config, from, "command0", NULL);
      		if (! EMPTY(cmd1_txt))
      			g_key_file_set_string(config, from, "command1", cmd1_txt);
      		else
      			g_key_file_remove_key(config, from, "command1", NULL);
      		g_key_file_set_boolean(config, from, "internal", intern_b);
      		g_free(from);
      	}
      	g_object_set_data(G_OBJECT(combobox), "current", g_strdup(to));
      
      	cmd0_txt = utils_get_setting_string(config, to, "command0", "");
      	cmd1_txt = utils_get_setting_string(config, to, "command1", "");
      	intern_b = utils_get_setting_boolean(config, to, "internal", FALSE);
      
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(intern), intern_b);
      	gtk_entry_set_text(GTK_ENTRY(cmd0), cmd0_txt);
      	gtk_entry_set_text(GTK_ENTRY(cmd1), cmd1_txt);
      }
      
      #define GLADE_HOOKUP_OBJECT(component,widget,name) \
        g_object_set_data_full (G_OBJECT (component), name, \
          gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
      
      #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
        g_object_set_data (G_OBJECT (component), name, widget)
      
      GtkWidget *
      create_Interactive(void)
      {
      	GtkWidget *dialog_vbox1;
      	GtkWidget *entry_word;
      	GtkWidget *dialog = gtk_dialog_new_with_buttons("Document interactive",
      							GTK_WINDOW(geany->main_widgets->window),
      							GTK_DIALOG_MODAL |
      							GTK_DIALOG_DESTROY_WITH_PARENT,
      							GTK_STOCK_OK,
      							GTK_RESPONSE_ACCEPT,
      							GTK_STOCK_CANCEL,
      							GTK_RESPONSE_REJECT,
      							NULL);
      	dialog_vbox1 = GTK_DIALOG(dialog)->vbox;
      
      	entry_word = gtk_entry_new();
      	gtk_widget_show(entry_word);
      	gtk_box_pack_start(GTK_BOX(dialog_vbox1), entry_word, TRUE, TRUE, 0);
      
      
      	GLADE_HOOKUP_OBJECT(dialog, entry_word, "entry_word");
      	return dialog;
      }
      
      static GtkWidget *
      create_Configure(void)
      {
      	GtkWidget *Configure;
      	GtkWidget *dialog_vbox1;
      	GtkWidget *vbox1;
      	GtkWidget *cbIntern;
      	GtkWidget *comboboxType;
      	GtkWidget *table1;
      	GtkWidget *label3;
      	GtkWidget *label4;
      	GtkWidget *entryCommand0;
      	GtkWidget *entryCommand1;
      	GtkWidget *label2;
      	GtkWidget *dialog_action_area1;
      	GtkWidget *cancelbutton1;
      	GtkWidget *okbutton1;
      
      	Configure = gtk_dialog_new();
      	gtk_window_set_title(GTK_WINDOW(Configure), _("Doc"));
      	gtk_window_set_type_hint(GTK_WINDOW(Configure), GDK_WINDOW_TYPE_HINT_DIALOG);
      
      	dialog_vbox1 = GTK_DIALOG(Configure)->vbox;
      	gtk_widget_show(dialog_vbox1);
      
      	vbox1 = gtk_vbox_new(FALSE, 0);
      	gtk_widget_show(vbox1);
      	gtk_box_pack_start(GTK_BOX(dialog_vbox1), vbox1, TRUE, TRUE, 0);
      
      	cbIntern = gtk_check_button_new_with_mnemonic(_("Put output in buffer"));
      	gtk_widget_show(cbIntern);
      	gtk_box_pack_start(GTK_BOX(vbox1), cbIntern, FALSE, FALSE, 0);
      
      	comboboxType = gtk_combo_box_new_text();
      	gtk_widget_show(comboboxType);
      	gtk_box_pack_start(GTK_BOX(vbox1), comboboxType, FALSE, FALSE, 0);
      
      	table1 = gtk_table_new(2, 2, FALSE);
      	gtk_widget_show(table1);
      	gtk_box_pack_start(GTK_BOX(vbox1), table1, TRUE, TRUE, 0);
      
      	label3 = gtk_label_new(_("Command 0:"));
      	gtk_widget_show(label3);
      	gtk_table_attach(GTK_TABLE(table1), label3, 0, 1, 0, 1,
      			 (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0);
      	gtk_misc_set_alignment(GTK_MISC(label3), 0, 0.5);
      
      	label4 = gtk_label_new(_("Command 1:"));
      	gtk_widget_show(label4);
      	gtk_table_attach(GTK_TABLE(table1), label4, 0, 1, 1, 2,
      			 (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0);
      	gtk_misc_set_alignment(GTK_MISC(label4), 0, 0.5);
      
      	entryCommand0 = gtk_entry_new();
      	gtk_widget_show(entryCommand0);
      	gtk_table_attach(GTK_TABLE(table1), entryCommand0, 1, 2, 0, 1,
      			 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0);
      	gtk_entry_set_invisible_char(GTK_ENTRY(entryCommand0), 8226);
      
      	entryCommand1 = gtk_entry_new();
      	gtk_widget_show(entryCommand1);
      	gtk_table_attach(GTK_TABLE(table1), entryCommand1, 1, 2, 1, 2,
      			 (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0);
      	gtk_entry_set_invisible_char(GTK_ENTRY(entryCommand1), 8226);
      
      	label2 = gtk_label_new(_("%w will be replaced with current word\n"));
      	gtk_widget_show(label2);
      	gtk_box_pack_start(GTK_BOX(dialog_vbox1), label2, FALSE, FALSE, 0);
      
      	dialog_action_area1 = GTK_DIALOG(Configure)->action_area;
      	gtk_widget_show(dialog_action_area1);
      	gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END);
      
      	cancelbutton1 = gtk_button_new_from_stock("gtk-cancel");
      	gtk_widget_show(cancelbutton1);
      	gtk_dialog_add_action_widget(GTK_DIALOG(Configure), cancelbutton1, GTK_RESPONSE_CANCEL);
      	GTK_WIDGET_SET_FLAGS(cancelbutton1, GTK_CAN_DEFAULT);
      
      	okbutton1 = gtk_button_new_from_stock("gtk-ok");
      	gtk_widget_show(okbutton1);
      	gtk_dialog_add_action_widget(GTK_DIALOG(Configure), okbutton1, GTK_RESPONSE_OK);
      	GTK_WIDGET_SET_FLAGS(okbutton1, GTK_CAN_DEFAULT);
      
      	g_signal_connect_after((gpointer) comboboxType, "changed",
      			       G_CALLBACK(on_comboboxType_changed), NULL);
      
      	/* Store pointers to all widgets, for use by lookup_widget(). */
      	GLADE_HOOKUP_OBJECT_NO_REF(Configure, Configure, "Configure");
      	GLADE_HOOKUP_OBJECT_NO_REF(Configure, dialog_vbox1, "dialog_vbox1");
      	GLADE_HOOKUP_OBJECT(Configure, vbox1, "vbox1");
      	GLADE_HOOKUP_OBJECT(Configure, cbIntern, "cbIntern");
      	GLADE_HOOKUP_OBJECT(Configure, comboboxType, "comboboxType");
      	GLADE_HOOKUP_OBJECT(Configure, table1, "table1");
      	GLADE_HOOKUP_OBJECT(Configure, label3, "label3");
      	GLADE_HOOKUP_OBJECT(Configure, label4, "label4");
      	GLADE_HOOKUP_OBJECT(Configure, entryCommand0, "entryCommand0");
      	GLADE_HOOKUP_OBJECT(Configure, entryCommand1, "entryCommand1");
      	GLADE_HOOKUP_OBJECT(Configure, label2, "label2");
      	GLADE_HOOKUP_OBJECT_NO_REF(Configure, dialog_action_area1, "dialog_action_area1");
      	GLADE_HOOKUP_OBJECT(Configure, cancelbutton1, "cancelbutton1");
      	GLADE_HOOKUP_OBJECT(Configure, okbutton1, "okbutton1");
      
      	return Configure;
      }
      
      void
      plugin_init(G_GNUC_UNUSED GeanyData * data)
      {
      	gchar *kb_label1;
      	gchar *kb_label2;
      
      	kb_label1 = _("Document current word");
      	kb_label2 = _("Document interactive");
      
      	config_init();
      
      	keyb1 = gtk_menu_item_new();
      	keyb2 = gtk_menu_item_new();
      
      	keybindings_set_item(plugin_key_group, KB_DOCUMENT_WORD, kb_doc,
      				0, 0, kb_label1, kb_label1, keyb1);
      	keybindings_set_item(plugin_key_group, KB_DOCUMENT_WORD_ASK, kb_doc_ask,
      				0, 0, kb_label2, kb_label2, keyb2);
      }
      
      static void
      init_Configure(GtkWidget * dialog)
      {
      	guint i;
      	GtkWidget *cbTypes;
      
      	cbTypes = ui_lookup_widget(dialog, "comboboxType");
      	g_object_set(cbTypes, "wrap-width", 3, NULL);
      
      	for (i = 0; i < geany->filetypes_array->len; i++)
      	{
      		gtk_combo_box_append_text(GTK_COMBO_BOX(cbTypes),
      					  ((struct GeanyFiletype *) (filetypes[i]))->
      					  name);
      	}
      	g_object_set_data(G_OBJECT(cbTypes), "config", config_clone());
      	g_object_set_data(G_OBJECT(cbTypes), "current", NULL);
      	gtk_combo_box_set_active(GTK_COMBO_BOX(cbTypes), 0);
      }
      
      void
      plugin_configure_single(G_GNUC_UNUSED GtkWidget * parent)
      {
      	int ret;
      	GtkWidget *dialog;
      	GtkWidget *cbTypes;
      	GKeyFile *config;
      	gchar *current;
      
      	/* example configuration dialog */
      	dialog = create_Configure();
      	init_Configure(dialog);
      
      	cbTypes = ui_lookup_widget(dialog, "comboboxType");
      
      	/* run the dialog and check for the response code */
      
      	ret = gtk_dialog_run(GTK_DIALOG(dialog));
      	config = (GKeyFile *) g_object_get_data(G_OBJECT(cbTypes), "config");
      	current = g_object_get_data(G_OBJECT(cbTypes), "current");
      	if (ret == GTK_RESPONSE_OK)
      	{
      		on_comboboxType_changed(GTK_COMBO_BOX(cbTypes), NULL);
      		config_set(config);
      	}
      	else
      	{
      		g_key_file_free(config);
      	}
      	g_free(current);
      	gtk_widget_destroy(dialog);
      }
      
      void
      plugin_cleanup(void)
      {
      	config_uninit();
      	keyb1 = NULL;
      	keyb2 = NULL;
      }
      geany-plugins-1.27/geanydoc/src/Makefile.in0000644000175000017500000007307312671261401021152 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = geanydoc/src
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(geanypluginsdir)"
      LTLIBRARIES = $(geanyplugins_LTLIBRARIES)
      am__DEPENDENCIES_1 =
      am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
      geanydoc_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
      am_geanydoc_la_OBJECTS = geanydoc_la-config.lo geanydoc_la-geanydoc.lo
      geanydoc_la_OBJECTS = $(am_geanydoc_la_OBJECTS)
      AM_V_lt = $(am__v_lt_@AM_V@)
      am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
      am__v_lt_0 = --silent
      am__v_lt_1 = 
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
      depcomp = $(SHELL) $(top_srcdir)/depcomp
      am__depfiles_maybe = depfiles
      am__mv = mv -f
      COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
      	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
      LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
      	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
      	$(AM_CFLAGS) $(CFLAGS)
      AM_V_CC = $(am__v_CC_@AM_V@)
      am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
      am__v_CC_0 = @echo "  CC      " $@;
      am__v_CC_1 = 
      CCLD = $(CC)
      LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
      	$(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_CCLD = $(am__v_CCLD_@AM_V@)
      am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
      am__v_CCLD_0 = @echo "  CCLD    " $@;
      am__v_CCLD_1 = 
      SOURCES = $(geanydoc_la_SOURCES)
      DIST_SOURCES = $(geanydoc_la_SOURCES)
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/cppcheck.mk \
      	$(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      @MINGW_FALSE@GP_PREFIX = $(prefix)
      @MINGW_TRUE@GP_PREFIX = .
      @MINGW_FALSE@GP_DATADIR = $(datadir)
      @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share
      @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR)
      @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale
      @MINGW_FALSE@GP_DOCDIR = $(docdir)
      @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE)
      @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir)
      @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE)
      @MINGW_FALSE@GP_LIBDIR = $(libdir)
      @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib
      @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir)
      @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE)
      LOCAL_AM_CFLAGS = \
      	-DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \
      	-DPREFIX=\""$(GP_PREFIX)"\" \
      	-DDOCDIR=\""$(GP_DOCDIR)"\" \
      	-DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \
      	-DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \
      	-DLIBDIR=\""$(GP_LIBDIR)"\" \
      	-DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \
      	-DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \
      	-DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \
      	-DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \
      	-DPLUGIN="\"$(plugin)\""
      
      AM_CFLAGS = \
      	${LOCAL_AM_CFLAGS} \
      	$(GEANY_CFLAGS) \
      	$(GP_CFLAGS)
      
      AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS)
      COMMONLIBS = \
      	$(GEANY_LIBS) \
      	$(INTLLIBS)
      
      plugin = geanydoc
      geanyplugins_LTLIBRARIES = geanydoc.la
      geanydoc_la_SOURCES = \
      	config.c \
      	geanydoc.c \
      	geanydoc.h
      
      geanydoc_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"GeanyDoc\"
      geanydoc_la_LIBADD = $(COMMONLIBS)
      all: all-am
      
      .SUFFIXES:
      .SUFFIXES: .c .lo .o .obj
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign geanydoc/src/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign geanydoc/src/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES)
      	@$(NORMAL_INSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	list2=; for p in $$list; do \
      	  if test -f $$p; then \
      	    list2="$$list2 $$p"; \
      	  else :; fi; \
      	done; \
      	test -z "$$list2" || { \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \
      	}
      
      uninstall-geanypluginsLTLIBRARIES:
      	@$(NORMAL_UNINSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	for p in $$list; do \
      	  $(am__strip_dir) \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \
      	done
      
      clean-geanypluginsLTLIBRARIES:
      	-test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES)
      	@list='$(geanyplugins_LTLIBRARIES)'; \
      	locs=`for p in $$list; do echo $$p; done | \
      	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
      	      sort -u`; \
      	test -z "$$locs" || { \
      	  echo rm -f $${locs}; \
      	  rm -f $${locs}; \
      	}
      
      geanydoc.la: $(geanydoc_la_OBJECTS) $(geanydoc_la_DEPENDENCIES) $(EXTRA_geanydoc_la_DEPENDENCIES) 
      	$(AM_V_CCLD)$(LINK) -rpath $(geanypluginsdir) $(geanydoc_la_OBJECTS) $(geanydoc_la_LIBADD) $(LIBS)
      
      mostlyclean-compile:
      	-rm -f *.$(OBJEXT)
      
      distclean-compile:
      	-rm -f *.tab.c
      
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geanydoc_la-config.Plo@am__quote@
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/geanydoc_la-geanydoc.Plo@am__quote@
      
      .c.o:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
      
      .c.obj:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
      
      .c.lo:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
      @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
      
      geanydoc_la-config.lo: config.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geanydoc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT geanydoc_la-config.lo -MD -MP -MF $(DEPDIR)/geanydoc_la-config.Tpo -c -o geanydoc_la-config.lo `test -f 'config.c' || echo '$(srcdir)/'`config.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/geanydoc_la-config.Tpo $(DEPDIR)/geanydoc_la-config.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='config.c' object='geanydoc_la-config.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geanydoc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o geanydoc_la-config.lo `test -f 'config.c' || echo '$(srcdir)/'`config.c
      
      geanydoc_la-geanydoc.lo: geanydoc.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geanydoc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT geanydoc_la-geanydoc.lo -MD -MP -MF $(DEPDIR)/geanydoc_la-geanydoc.Tpo -c -o geanydoc_la-geanydoc.lo `test -f 'geanydoc.c' || echo '$(srcdir)/'`geanydoc.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/geanydoc_la-geanydoc.Tpo $(DEPDIR)/geanydoc_la-geanydoc.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='geanydoc.c' object='geanydoc_la-geanydoc.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(geanydoc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o geanydoc_la-geanydoc.lo `test -f 'geanydoc.c' || echo '$(srcdir)/'`geanydoc.c
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-am
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-am
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-am
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      @HAVE_CPPCHECK_FALSE@check-local:
      check-am: all-am
      	$(MAKE) $(AM_MAKEFLAGS) check-local
      check: check-am
      all-am: Makefile $(LTLIBRARIES)
      installdirs:
      	for dir in "$(DESTDIR)$(geanypluginsdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-am
      install-exec: install-exec-am
      install-data: install-data-am
      uninstall: uninstall-am
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-am
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-am
      
      clean-am: clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \
      	mostlyclean-am
      
      distclean: distclean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      distclean-am: clean-am distclean-compile distclean-generic \
      	distclean-tags
      
      dvi: dvi-am
      
      dvi-am:
      
      html: html-am
      
      html-am:
      
      info: info-am
      
      info-am:
      
      install-data-am: install-geanypluginsLTLIBRARIES
      
      install-dvi: install-dvi-am
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-am
      
      install-html-am:
      
      install-info: install-info-am
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-am
      
      install-pdf-am:
      
      install-ps: install-ps-am
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-am
      
      mostlyclean-am: mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool
      
      pdf: pdf-am
      
      pdf-am:
      
      ps: ps-am
      
      ps-am:
      
      uninstall-am: uninstall-geanypluginsLTLIBRARIES
      
      .MAKE: check-am install-am install-strip
      
      .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
      	clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \
      	cscopelist-am ctags ctags-am distclean distclean-compile \
      	distclean-generic distclean-libtool distclean-tags distdir dvi \
      	dvi-am html html-am info info-am install install-am \
      	install-data install-data-am install-dvi install-dvi-am \
      	install-exec install-exec-am install-geanypluginsLTLIBRARIES \
      	install-html install-html-am install-info install-info-am \
      	install-man install-pdf install-pdf-am install-ps \
      	install-ps-am install-strip installcheck installcheck-am \
      	installdirs maintainer-clean maintainer-clean-generic \
      	mostlyclean mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
      	uninstall-am uninstall-geanypluginsLTLIBRARIES
      
      .PRECIOUS: Makefile
      
      
      @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir)
      @HAVE_CPPCHECK_TRUE@	$(CPPCHECK) \
      @HAVE_CPPCHECK_TRUE@		-q --template gcc --error-exitcode=2 \
      @HAVE_CPPCHECK_TRUE@		$(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \
      @HAVE_CPPCHECK_TRUE@		$(srcdir)
      
      @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/geanydoc/src/geanydoc.h0000644000175000017500000000240612671261352021044 0ustar00frlanfrlan00000000000000/*
       *  geanydoc.h
       *
       *  Copyright 2008 Yura Siamashka 
       *
       *  This program is free software; you can redistribute it and/or modify
       *  it under the terms of the GNU General Public License as published by
       *  the Free Software Foundation; either version 3 of the License, or
       *  (at your option) any later version.
       *
       *  This program is free software: you can redistribute it and/or modify
       *  it under the terms of the GNU General Public License as published by
       *  the Free Software Foundation, either version 3 of the License, or
       *  (at your option) any later version.
       *
       *  This program is distributed in the hope that it will be useful,
       *  but WITHOUT ANY WARRANTY; without even the implied warranty of
       *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       *  GNU General Public License for more details.
       *
       *  You should have received a copy of the GNU General Public License
       *  along with this program.  If not, see .
       */
      
      #ifndef __GEANYDOC_GEANYDOC_H__
      #define __GEANYDOC_GEANYDOC_H__
      
      /* from config.c */
      
      void config_init(void);
      void config_uninit(void);
      GKeyFile *config_clone(void);
      void config_set(GKeyFile * cfg);
      gchar *config_get_command(const gchar * lang, gint cmd_num, gboolean * intern);
      
      
      #endif
      geany-plugins-1.27/geanydoc/src/config.c0000644000175000017500000000627312671261352020521 0ustar00frlanfrlan00000000000000/*
       *  config.c
       *
       *  Copyright 2008 Yura Siamashka 
       *
       *  This program is free software; you can redistribute it and/or modify
       *  it under the terms of the GNU General Public License as published by
       *  the Free Software Foundation; either version 3 of the License, or
       *  (at your option) any later version.
       *
       *  This program is free software: you can redistribute it and/or modify
       *  it under the terms of the GNU General Public License as published by
       *  the Free Software Foundation, either version 3 of the License, or
       *  (at your option) any later version.
       *
       *  This program is distributed in the hope that it will be useful,
       *  but WITHOUT ANY WARRANTY; without even the implied warranty of
       *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       *  GNU General Public License for more details.
       *
       *  You should have received a copy of the GNU General Public License
       *  along with this program.  If not, see .
       */
      
      #include 
      
      #include "geanyplugin.h"
      
      #include "geanydoc.h"
      
      extern GeanyData *geany_data;
      
      const gchar defaults[] =
      	"[C]\n"
      	"internal = false\n"
      	"command0 = man -P \"col -b\" -S 2:3:5 '%w'\n"
      	"command1 = devhelp -s '%w'\n"
      	"[C++]\n"
      	"internal = false\n"
      	"command0 = man -P \"col -b\" -S 2:3:5 '%w'\n"
      	"command1 = devhelp -s '%w'\n"
      	"[PHP]\n"
      	"internal = false\n"
      	"command0 = firefox \"http://www.php.net/%w\"\n"
      	"[Sh]\n"
      	"internal = true\n"
      	"command0 = man -P \"col -b\" -S 1:4:5:6:7:8:9 '%w'\n"
      	"[Python]\n"
      	"internal = true\n"
      	"command0 = pydoc '%w'\n"
      	"[None]\n"
      	"internal = false\n" "command0 = firefox \"http://www.google.com/search?q=%w\"\n";
      
      static GKeyFile *config = NULL;
      static gchar *config_file = NULL;
      
      void
      config_init(void)
      {
      	config_file = g_build_filename(geany->app->configdir, "plugins", "geanydoc", NULL);
      	utils_mkdir(config_file, TRUE);
      
      	setptr(config_file, g_build_filename(config_file, "geanydoc.conf", NULL));
      
      	config = g_key_file_new();
      	if (!g_key_file_load_from_file(config, config_file, G_KEY_FILE_KEEP_COMMENTS, NULL))
      	{
      		g_key_file_load_from_data(config, defaults, sizeof(defaults),
      					  G_KEY_FILE_KEEP_COMMENTS, NULL);
      	}
      }
      
      void
      config_uninit(void)
      {
      	g_free(config_file);
      	config_file = NULL;
      	g_key_file_free(config);
      	config = NULL;
      }
      
      GKeyFile *
      config_clone(void)
      {
      	GKeyFile *ret;
      	gchar *txt = g_key_file_to_data(config, NULL, NULL);
      	ret = g_key_file_new();
      	g_key_file_load_from_data(ret, txt, strlen(txt), G_KEY_FILE_KEEP_COMMENTS, NULL);
      	g_free(txt);
      	return ret;
      }
      
      void
      config_set(GKeyFile * cfg)
      {
      	gchar *data;
      
      	g_key_file_free(config);
      	config = cfg;
      
      	data = g_key_file_to_data(config, NULL, NULL);
      	utils_write_file(config_file, data);
      	g_free(data);
      }
      
      gchar *
      config_get_command(const gchar * lang, gint cmd_num, gboolean * intern)
      {
      	gchar *ret, *tmp;
      	gchar *key = g_strdup_printf("command%d", cmd_num);
      	ret = utils_get_setting_string(config, lang, key, "");
      	g_free(key);
      	if (EMPTY(ret))
      		return ret;
      	key = g_strdup_printf("command%d", cmd_num + 1);
      	tmp = utils_get_setting_string(config, lang, key, "");
      	g_free(key);
      	if (! EMPTY(tmp))
      		*intern = TRUE;
      	else
      		*intern = utils_get_setting_boolean(config, lang, "internal", FALSE);
      	g_free(tmp);
      	return ret;
      }
      geany-plugins-1.27/geanydoc/src/Makefile.am0000644000175000017500000000046212671261352021136 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk
      plugin = geanydoc
      
      geanyplugins_LTLIBRARIES = geanydoc.la
      
      geanydoc_la_SOURCES = \
      	config.c \
      	geanydoc.c \
      	geanydoc.h
      
      geanydoc_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"GeanyDoc\"
      geanydoc_la_LIBADD = $(COMMONLIBS)
      
      include $(top_srcdir)/build/cppcheck.mk
      geany-plugins-1.27/geanydoc/README0000644000175000017500000000471012671261352017173 0ustar00frlanfrlan00000000000000.. |(version)| replace:: 0.5
      
      ========
      geanydoc
      ========
      
      .. contents::
      
      About
      =====
      
      Geanydoc is plugin for Geany IDE that allow execute specified commands on the
      current word at the cursor position. This word is passed as an argument to these commands.
      It allow either place output of these commands in geany buffer \*DOC\* or just
      execute external program. Geanydoc is intended to be used for searching documentation
      API in different sources.
      
      In order to use it you need Geany >= 0.16.
      
      Usage
      =====
      
      geanydoc define 2 keyboard shortcut "Document current word" and "Document interactive"
      First you need to assign key to them in "Edit->Preferences->Keybinding->Doc".
      
      "Document current word" search documentation on the current word near cursor position.
      "Document interactive" search documentation on word you enter in interactive dialog.
      
      Settings
      ========
      
      geanydoc allow to execute different commands for different filetypes. Use combobox
      to select type you need.
      
      "Put output in buffer" if you check this checkbox geanydoc will execute command wait for
      it's  exit and place it's output in geany buffer. If you have this button unchecked
      geanydoc will simply spawn command and forgot about it.
      
      NOTE: if you have multiple command all commands but last are treated as "Put output in buffer"
      true. This checkbox is used only for last command.
      
      If you specify several commands, second command will be called only if first one didn't return
      something in output.
      
      License
      =======
      
      geanydoc is distributed under the terms of the GNU General Public License
      as published by the Free Software Foundation; either version 3 of the
      License, or (at your option) any later version. A copy of this license
      can be found in the file COPYING included with the source code of this
      program.
      
      Ideas, questions, patches and bug reports
      =========================================
      
      If you add something, or fix a bug, please send a patch (in 'diff -u'
      format) to the geany mailing list or to one of the authors listed bellow.
      
      Coding
      ======
      
      Use static functions where possible.
      Try to use GLib types and functions - e.g. g_free instead of free and
      try to use only GLib 2.6 and GTK 2.6 functions.
      
      Style
      =====
      
      The file indent-all.sh contains information about
      the current code style. Run this script before commit.
      
      Download
      ========
      
      geanydoc is part of the combined Geany Plugins release.
      For more information and downloads, please visit
      http://plugins.geany.org/
      
      
      Author
      ======
      Yura Siamashka yurand2(at)gmail(dot)com
      geany-plugins-1.27/Makefile.am0000644000175000017500000000437612671261352016566 0ustar00frlanfrlan00000000000000ACLOCAL_AMFLAGS = -I build/cache -I build -I build/bundled -I geanypy/m4 --install
      AM_DISTCHECK_CONFIGURE_FLAGS = --with-geany-libdir='$${libdir}'
      
      SUBDIRS = po
      
      if ENABLE_ADDONS
      SUBDIRS += addons
      endif
      
      if ENABLE_AUTOCLOSE
      SUBDIRS += autoclose
      endif
      
      if ENABLE_AUTOMARK
      SUBDIRS += automark
      endif
      
      if ENABLE_CODENAV
      SUBDIRS += codenav
      endif
      
      if ENABLE_COMMANDER
      SUBDIRS += commander
      endif
      
      if ENABLE_DEBUGGER
      SUBDIRS += debugger
      endif
      
      if ENABLE_DEFINEFORMAT
      SUBDIRS += defineformat
      endif
      
      if ENABLE_DEVHELP
      SUBDIRS += devhelp
      endif
      
      if ENABLE_GEANYCTAGS
      SUBDIRS += geanyctags
      endif
      
      if ENABLE_GEANYDOC
      SUBDIRS += geanydoc
      endif
      
      if ENABLE_GEANYEXTRASEL
      SUBDIRS += geanyextrasel
      endif
      
      if ENABLE_GEANYGENDOC
      SUBDIRS += geanygendoc
      endif
      
      if ENABLE_GEANYINSERTNUM
      SUBDIRS += geanyinsertnum
      endif
      
      if ENABLE_GEANYLATEX
      SUBDIRS += geanylatex
      endif
      
      if ENABLE_GEANYLIPSUM
      SUBDIRS += geanylipsum
      endif
      
      if ENABLE_GEANYLUA
      SUBDIRS += geanylua
      endif
      
      if ENABLE_GEANYMACRO
      SUBDIRS += geanymacro
      endif
      
      if ENABLE_GEANYMINISCRIPT
      SUBDIRS += geanyminiscript
      endif
      
      if ENABLE_GEANYNUMBEREDBOOKMARKS
      SUBDIRS += geanynumberedbookmarks
      endif
      
      if ENABLE_GEANYPG
      SUBDIRS += geanypg
      endif
      
      if ENABLE_GEANYPRJ
      SUBDIRS += geanyprj
      endif
      
      if ENABLE_GEANYPY
      SUBDIRS += geanypy
      endif
      
      if ENABLE_GEANYSENDMAIL
      SUBDIRS += geanysendmail
      endif
      
      if ENABLE_GEANYVC
      SUBDIRS += geanyvc
      endif
      
      if ENABLE_GENIUSPASTE
      SUBDIRS += geniuspaste
      endif
      
      if ENABLE_GITCHANGEBAR
      SUBDIRS += git-changebar
      endif
      
      if ENABLE_LINEOPERATIONS
      SUBDIRS += lineoperations
      endif
      
      if ENABLE_MARKDOWN
      SUBDIRS += markdown
      endif
      
      if ENABLE_MULTITERM
      SUBDIRS += multiterm
      endif
      
      if ENABLE_OVERVIEW
      SUBDIRS += overview
      endif
      
      if ENABLE_PAIRTAGHIGHLIGHTER
      SUBDIRS += pairtaghighlighter
      endif
      
      if ENABLE_POHELPER
      SUBDIRS += pohelper
      endif
      
      if ENABLE_PRETTY_PRINTER
      SUBDIRS += pretty-printer
      endif
      
      if ENABLE_PROJECTORGANIZER
      SUBDIRS += projectorganizer
      endif
      
      if ENABLE_SCOPE
      SUBDIRS += scope
      endif
      
      if ENABLE_SHIFTCOLUMN
      SUBDIRS += shiftcolumn
      endif
      
      if ENABLE_SPELLCHECK
      SUBDIRS += spellcheck
      endif
      
      if ENABLE_TABLECONVERT
      SUBDIRS += tableconvert
      endif
      
      if ENABLE_TREEBROWSER
      SUBDIRS += treebrowser
      endif
      
      if ENABLE_UPDATECHECKER
      SUBDIRS += updatechecker
      endif
      
      if ENABLE_WEBHELPER
      SUBDIRS += webhelper
      endif
      
      if ENABLE_XMLSNIPPETS
      SUBDIRS += xmlsnippets
      endif
      geany-plugins-1.27/treebrowser/0000755000175000017500000000000012671261444017065 5ustar00frlanfrlan00000000000000geany-plugins-1.27/treebrowser/Makefile.in0000644000175000017500000006450412671261403021136 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = treebrowser
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindoc_DATA) \
      	$(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      SOURCES =
      DIST_SOURCES =
      RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
      	ctags-recursive dvi-recursive html-recursive info-recursive \
      	install-data-recursive install-dvi-recursive \
      	install-exec-recursive install-html-recursive \
      	install-info-recursive install-pdf-recursive \
      	install-ps-recursive install-recursive installcheck-recursive \
      	installdirs-recursive pdf-recursive ps-recursive \
      	tags-recursive uninstall-recursive
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(plugindocdir)"
      DATA = $(dist_plugindoc_DATA)
      RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
        distclean-recursive maintainer-clean-recursive
      am__recursive_targets = \
        $(RECURSIVE_TARGETS) \
        $(RECURSIVE_CLEAN_TARGETS) \
        $(am__extra_recursive_targets)
      AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
      	distdir
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      DIST_SUBDIRS = $(SUBDIRS)
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/vars.auxfiles.mk \
      	$(top_srcdir)/build/vars.docs.mk AUTHORS COPYING ChangeLog \
      	NEWS README
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      am__relativize = \
        dir0=`pwd`; \
        sed_first='s,^\([^/]*\)/.*$$,\1,'; \
        sed_rest='s,^[^/]*/*,,'; \
        sed_last='s,^.*/\([^/]*\)$$,\1,'; \
        sed_butlast='s,/*[^/]*$$,,'; \
        while test -n "$$dir1"; do \
          first=`echo "$$dir1" | sed -e "$$sed_first"`; \
          if test "$$first" != "."; then \
            if test "$$first" = ".."; then \
              dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
              dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
            else \
              first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
              if test "$$first2" = "$$first"; then \
                dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
              else \
                dir2="../$$dir2"; \
              fi; \
              dir0="$$dir0"/"$$first"; \
            fi; \
          fi; \
          dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
        done; \
        reldir="$$dir2"
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      plugindocdir = $(docdir)/$(plugin)
      htmldocdir = $(plugindocdir)
      plugindatadir = $(pkgdatadir)/$(plugin)
      pluginlibdir = $(pkglibdir)/$(plugin)
      examplesdir = $(plugindatadir)
      dist_plugindoc_DATA = \
      	README \
      	ChangeLog \
      	NEWS \
      	COPYING \
      	AUTHORS \
      	$(AUXFILES)
      
      EXTRA_DIST = 
      SUBDIRS = src
      plugin = treebrowser
      all: all-recursive
      
      .SUFFIXES:
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign treebrowser/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign treebrowser/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      install-dist_plugindocDATA: $(dist_plugindoc_DATA)
      	@$(NORMAL_INSTALL)
      	@list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \
      	if test -n "$$list"; then \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(plugindocdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(plugindocdir)" || exit 1; \
      	fi; \
      	for p in $$list; do \
      	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
      	  echo "$$d$$p"; \
      	done | $(am__base_list) | \
      	while read files; do \
      	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindocdir)'"; \
      	  $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindocdir)" || exit $$?; \
      	done
      
      uninstall-dist_plugindocDATA:
      	@$(NORMAL_UNINSTALL)
      	@list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \
      	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
      	dir='$(DESTDIR)$(plugindocdir)'; $(am__uninstall_files_from_dir)
      
      # This directory's subdirectories are mostly independent; you can cd
      # into them and run 'make' without going through this Makefile.
      # To change the values of 'make' variables: instead of editing Makefiles,
      # (1) if the variable is set in 'config.status', edit 'config.status'
      #     (which will cause the Makefiles to be regenerated when you run 'make');
      # (2) otherwise, pass the desired values on the 'make' command line.
      $(am__recursive_targets):
      	@fail=; \
      	if $(am__make_keepgoing); then \
      	  failcom='fail=yes'; \
      	else \
      	  failcom='exit 1'; \
      	fi; \
      	dot_seen=no; \
      	target=`echo $@ | sed s/-recursive//`; \
      	case "$@" in \
      	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
      	  *) list='$(SUBDIRS)' ;; \
      	esac; \
      	for subdir in $$list; do \
      	  echo "Making $$target in $$subdir"; \
      	  if test "$$subdir" = "."; then \
      	    dot_seen=yes; \
      	    local_target="$$target-am"; \
      	  else \
      	    local_target="$$target"; \
      	  fi; \
      	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
      	  || eval $$failcom; \
      	done; \
      	if test "$$dot_seen" = "no"; then \
      	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
      	fi; test -z "$$fail"
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-recursive
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
      	  include_option=--etags-include; \
      	  empty_fix=.; \
      	else \
      	  include_option=--include; \
      	  empty_fix=; \
      	fi; \
      	list='$(SUBDIRS)'; for subdir in $$list; do \
      	  if test "$$subdir" = .; then :; else \
      	    test ! -f $$subdir/TAGS || \
      	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
      	  fi; \
      	done; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-recursive
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-recursive
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
      	  if test "$$subdir" = .; then :; else \
      	    $(am__make_dryrun) \
      	      || test -d "$(distdir)/$$subdir" \
      	      || $(MKDIR_P) "$(distdir)/$$subdir" \
      	      || exit 1; \
      	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
      	    $(am__relativize); \
      	    new_distdir=$$reldir; \
      	    dir1=$$subdir; dir2="$(top_distdir)"; \
      	    $(am__relativize); \
      	    new_top_distdir=$$reldir; \
      	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
      	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
      	    ($(am__cd) $$subdir && \
      	      $(MAKE) $(AM_MAKEFLAGS) \
      	        top_distdir="$$new_top_distdir" \
      	        distdir="$$new_distdir" \
      		am__remove_distdir=: \
      		am__skip_length_check=: \
      		am__skip_mode_fix=: \
      	        distdir) \
      	      || exit 1; \
      	  fi; \
      	done
      check-am: all-am
      check: check-recursive
      all-am: Makefile $(DATA)
      installdirs: installdirs-recursive
      installdirs-am:
      	for dir in "$(DESTDIR)$(plugindocdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-recursive
      install-exec: install-exec-recursive
      install-data: install-data-recursive
      uninstall: uninstall-recursive
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-recursive
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-recursive
      
      clean-am: clean-generic clean-libtool mostlyclean-am
      
      distclean: distclean-recursive
      	-rm -f Makefile
      distclean-am: clean-am distclean-generic distclean-tags
      
      dvi: dvi-recursive
      
      dvi-am:
      
      html: html-recursive
      
      html-am:
      
      info: info-recursive
      
      info-am:
      
      install-data-am: install-dist_plugindocDATA
      
      install-dvi: install-dvi-recursive
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-recursive
      
      install-html-am:
      
      install-info: install-info-recursive
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-recursive
      
      install-pdf-am:
      
      install-ps: install-ps-recursive
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-recursive
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-recursive
      
      mostlyclean-am: mostlyclean-generic mostlyclean-libtool
      
      pdf: pdf-recursive
      
      pdf-am:
      
      ps: ps-recursive
      
      ps-am:
      
      uninstall-am: uninstall-dist_plugindocDATA
      
      .MAKE: $(am__recursive_targets) install-am install-strip
      
      .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
      	check-am clean clean-generic clean-libtool cscopelist-am ctags \
      	ctags-am distclean distclean-generic distclean-libtool \
      	distclean-tags distdir dvi dvi-am html html-am info info-am \
      	install install-am install-data install-data-am \
      	install-dist_plugindocDATA install-dvi install-dvi-am \
      	install-exec install-exec-am install-html install-html-am \
      	install-info install-info-am install-man install-pdf \
      	install-pdf-am install-ps install-ps-am install-strip \
      	installcheck installcheck-am installdirs installdirs-am \
      	maintainer-clean maintainer-clean-generic mostlyclean \
      	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
      	tags tags-am uninstall uninstall-am \
      	uninstall-dist_plugindocDATA
      
      .PRECIOUS: Makefile
      
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/treebrowser/Makefile.am0000644000175000017500000000012112671261352021111 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = src
      plugin = treebrowser
      geany-plugins-1.27/treebrowser/AUTHORS0000644000175000017500000000013612671261352020133 0ustar00frlanfrlan00000000000000Adrian Dimitrov 
      
      And THANKS to all in #geany for support and help
      geany-plugins-1.27/treebrowser/NEWS0000644000175000017500000000033612671261352017564 0ustar00frlanfrlan00000000000000Most important changes in 0.20:
      
      	* Added bookmarks support
      	* Added keybindings support
      	* Added mime type icons in the tree
      	* Many bugfixes and code improvements
      
      For full list of changes, please look at the ChangeLog.
      geany-plugins-1.27/treebrowser/COPYING0000644000175000017500000000000012671261352020104 0ustar00frlanfrlan00000000000000geany-plugins-1.27/treebrowser/ChangeLog0000644000175000017500000003363312671261352020645 0ustar00frlanfrlan00000000000000+---------------------------+
      | KNOWN BUGS                |
      +---------------------------+
      
      	(FIXED) http://sourceforge.net/tracker/?func=detail&aid=3034450&group_id=222729&atid=1056532
      	(FIXED) CRYTICAL warning when unloading the plugin
      		"CRITICAL	: g_object_ref: assertion `object->ref_count > 0' failed"
      	(FIXED) Double click on bookmarks, do nothing
      	(FIXED) show/hide hidden files not working on Windows
      	(FIXED) "Go Up" not working if the current path ends with slash // thanks to  for the report
      	* It is impossible to rename file/directory in Windows, dunno why
      	* It is impossible to delete file/directory in Windows, dunno why
      
      
      +---------------------------+
      | TODO                      |
      +---------------------------+
      
      	(DONE) codestyle improve to be same as other parts as geany`s
      	(DONE) configuration dialog
      	(DONE) tracking path to current focused document (work only for refreshed directories)
      	* In windows can choice between devices (C:\, D:\,...)
      	(DONE) Saving state of Showbars in config file everytime where is changed
      	(DONE) oneclick document opening
      	(DONE) filter separating ex.: "*.c;*.cpp;*.h"
      	(DONE) Complete following path from current document view
      	(DONE) Hide object files as native filebroser (*.o;*.a;*.so;*.dll;*.lib..)
      	(DONE) Using font from geany settings for sidebar
      	(REJECTED) Migrating to stash
      	(DONE) Adding keybindings for renaming/deleting/refreshing
      	(DONE) Add option to change bars position // requested by 
      	(DONE) Add option to autorename point the newest created objects by the Treebrowser
      
      
      +-------------------------------+
      | Development release ChangeLog |
      +-------------------------------+
      
      
      08-02-2011 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Added "Find in Files" option to right click context
      		(patch by oly, thanks)
      
      23-02-2011 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fix an issue with tab switching with unsaved documents.
      		(patch from Frank Lanitz, thanks)
      
      
      14-02-2011 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      
      
      14-02-2011 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Try to prevent from potentially frees string literals (reported by kugel)
      
      
      14-02-2011 	Adrian Dimitrov 		
      
      	* One year release (from the idea to working plugin, thanks for all for the support)
      
      	* src/treebrowser.c
      		Completed file tracking functionality, now tracking and files that are not in the cached directories
      			This is the last TODO point from the started idea. Today is it exactly one from the first release.
      		Make default terminal for Windows always be "cmd"
      		Fixed directory separator for when chrooting be G_DIR_SEPARATOR_S not always "/"
      
      
      12-02-2011 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		When Windows detected, it is creating config file (if it needen) with Explorer for external viewer
      
      
      10-02-2011 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Added function to close directory childrens (patch by Oliver Marks (#3175562), thanks)
      		Replaced TreeBrowser`s hidden file check with the native filebrowser check (thanks to geany`s team),
      			this may be fixing the bug #3157070 (Treebrowser plugin crashes Geany with files ending in ~)
      
      
      14-12-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed nighty compilation error (reported by Enrico Tröger)
      
      
      10-12-2010 	Adrian Dimitrov 		
      
      	* ChangeLog
      		Update
      	* README
      		Update
      	* src/treebrowser.c
      		Fixed warning: ISO C90 forbids mixed declarations and code (in check_hidden())
      		Fixed warning: 'return' with no value, in function returning non-void (in treebrowser_checkdir())
      		Fixed compilation warning with strlen()
      		Description changed (taken from ubuntu`s repos)
      
      
      10-12-2010 	Adrian Dimitrov 		
      
      	Bumped version 0.20
      		Now will following the version number of geany
      
      
      09-12-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed wrong colors in addressbar when last directory wasn`t existing,
      			but then chrooting.
      		"Right click" menu rearanged to looks more logically
      
      
      01-11-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Added dialog question when creating/removing file, to prevent from losing
      			target files if they exists.
      
      
      01-11-2010 	Adrian Dimitrov 		
      
      	* ChangeLog
      		Revision 1688, Modified Thu Oct 28 21:02:33 2010 UTC by colombanw
      
      		Build system: don't force building the Treebrowser plugin
      
      		If the dependencies of the Treebrowser plugin are not met, simply
      		disable the plugin rather than abort the whole build.
      
      		Also add checks for creat(), sys/types.h, sys/stat.h and fcntl.h, and
      		fix the check for GIO to correctly handle the case it's not available.
      
      
      25-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed wrong expaned status of the directories
      
      
      17-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed order of includes with gio.h
      			(Patch by Enrico Troger)
      
      
      17-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed memory leaks
      			(Patch by Colomban Wendling)
      		Fixed missing GIcon compilation error in gtk versions before 2.14
      		Fixed some compilation warnings on unused variables
      		Fixed translation string _("Empty") to be _("(Empty)")
      
      
      17-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Refactor a bit check_hidden() not to leak memory
      			(Patch by Colomban Wendling)
      
      
      16-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed gio troubles (BIG THANKS TO Colomban Wendling)
      
      
      16-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed unref data in utils_pixbuf_from_path()
      		Changed default icon for bookmarks to GTK_STOCK_HOME
      
      
      16-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Added new option to show mime-type icons (can be configured by the preferences)
      			(Idea from Colomban Wendling`s mail)
      
      
      09-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed possible segfault when deleting file which is in bookmarks tree
      		Fixed wrong Show toolbars state when it turned off from the plugin configuration
      		Fixed collapsing and preloading bookmarks list when renaming, and deleting objects
      	* README
      		Try to add screenshot for the website
      
      
      09-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixes possible segfaults with bookmarks in ubuntu 10.10
      	* README
      		Update and fixes website compitables
      
      
      09-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed translatable info
      			(thanks to Frank Lanitz   for patch)
      		Fixed fixed bad code and compilation warning in unused vars
      			(thanks to Frank Lanitz   for patch)
      		Fixed some compilation warnings
      		Try to prevent from "ISO C90 forbids mixed declarations and code" compile message
      
      
      08-10-2010 	Frank Lanitz  
      
      	*  src/treebrowser.c
      		Replace deprecated PLUGIN_KEY_GROUP macro.
      
      
      08-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Added keybindings for renaming/deleting/refreshing
      			(from the todo list)
      		Added: now when option for show hidden files is disabled, it don`t show
      			files that ends with '~'
      		Fixed possible segfault when option "Hidding object files" is enabled
      			(idea from native filebrowser plugin)
      
      
      05-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed wrong english message for not existing directory
      			(thanks to Dimitar Zhekov (dimitar.zhekov@gmail.com))
      		Added option to autorename point the newest created objects by the Treebrowser
      			Improved autorename focus while renamed is successful then close old and
      			  open new file;
      		Improved dialog for nonexisting folder
      			(now apear only when toolbars is hidden)
      		Fixed some warnings when compiling
      		Fixed gtk_tree_store_iter_is_valid() warning when loading the plugin
      
      
      03-10-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed bugs in Bookmarks
      			(directory expander, renaming and deleting files/directories)
      		Fixed bug with empty path to chroot
      		Fixed showing wrong tooltips in settings dialog
      		Merged show_bars and show_bars_at_top in one combobox
      			(I think that this is more suitable)
      		Fixed bug in show/hide toolbar
      		Removed option for change how deep directories will be scanned
      			(I think that this is unusable and in some cases make geany to freezy)
      		Removed option "ON_EXPAND_REFRESH" - This is unnessecary already
      
      
      19-08-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Applied patch from Colomban Wendling
      		to fix issue with creat() declaration
      		THANKS
      
      
      16-05-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Fixed Bookmarks state when refreshing the tree
      
      
      25-04-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Added option to change bars position (Top or Bottom)
      
      
      25-04-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		Menu elements are inactive instands of hidden
      		Added experimental bookmarks view
      		Added option to show/hide tree lines
      		Added option to copy the uri into clipboard
      		Added option to search into the view by the name // thanks to native filebrowser
      		Added tooltips with uri // thanks to native filebrowser
      		Added option to open terminal
      		Applied patch from Enrico to fix gtk+-2.8 compitable for tree lines
      		Fixed "Go Up" not working if the current path ends with slash
      
      
      19-04-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		added clear icon in filter // thanks to native filebrowser plugin
      		using font from geany settings for sidebar  // thanks to native filebrowser plugin
      
      
      17-04-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		added option to hide object files *.so;*.obj;*.so;*.dll;*.a;*.lib
      		fixed a few warnings
      
      
      14-04-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		strings cleanup
      		(This is version 0.2, because the plugin become 2 months old :)
      
      
      11-04-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		fixed bug when turned off "On expand refresh"
      		fixed runtime crytical warnings reported in http://nopaste.geany.org/p/m3f018a3e
      			and thanks to Enrico for help with gdb :)
      		added empty element when directory not filled, and changed default option values
      			for "On expand refresh"
      
      
      10-04-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		fixed wrong root refresh on delete and create when objects are in toplevel
      		some string changed in prefs dialog
      		added option to close document if it is deleted from treebrowser
      		highlighing addressbar if typed directory not exists
      		make right click menu dynamic
      
      
      31-03-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		fixed saving state of Show the toolbars when starting Geany
      		moving settings saving in separated function - save_settings()
      		now changing root directory when change current project
      		fixed bug when 'Right click->Refresh'
      
      
      30-03-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		fixed expaned state when create/delete/remove files or directories
      
      
      26-03-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		fixed bug with 'On expand, refresh.'
      		now right click not select item from list
      
      
      23-03-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		added option when expanding to refresh directory tree
      		fixed complier warning with glib
      
      
      22-03-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		fixed some bugs
      		fixed few old compiler warnings
      		applied few patches from Enrico Troger (code improvement)
      
      
      21-03-2010 	Adrian Dimitrov 		
      
      	* src/treebrowser.c
      		fixed few compile warnings with glib and unused vars
      		fixed expanding, now directory is open when it click filling for first time
      		fixed possible segfault on start
      		added menu option to go up
      		fixed duplicated vbox varname now is 'sidebar_vbox'
      		added configuration dialog
      		fixed externally open menu
      		added option to close bars in bars
      		added options to expand/collapse all from menu
      		fixed compile error with glib < 2.12.0
      		added option to go current doc path in menu
      
      
      20-03-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		clear comments
      		changelog update
      		if filter start with '!;' then filters are temporary reversed
      			ex.: '!;*.c;*.h' will show all expect .c and .h files
      
      
      19-03-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		clear up the syntax and function names
      		fixed many bugs with renaming/creating/deleting objects
      		added multiple filtering criterias (separated by ';')
      		added oneclick document opening
      
      
      18-03-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		add option to reverse filematch filter
      
      
      17-03-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		migrated to dialogs_show_msgbox and dialogs_show_question
      		fix problem with path initialization
      
      
      16-03-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		fix compilation warning messages
      		fix some crytical errors
      
      
      21-02-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		fix patch applyed from Enrico about initial directories
      
      
      20-02-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		made strings suitable for localization
      		fixed problem with default chroot
      		added option to disable chrooting on double click on directory
      
      
      17-02-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		added options to add/remove/rename directories and files
      		code cleanup
      
      
      14-02-2010 	Adrian Dimitrov 	
      
      	* src/treebrowser.c
      		initial, with base options
      geany-plugins-1.27/treebrowser/src/0000755000175000017500000000000012671261444017654 5ustar00frlanfrlan00000000000000geany-plugins-1.27/treebrowser/src/Makefile.in0000644000175000017500000007177312671261403021733 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = treebrowser/src
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(geanypluginsdir)"
      LTLIBRARIES = $(geanyplugins_LTLIBRARIES)
      am__DEPENDENCIES_1 =
      am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
      treebrowser_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \
      	$(am__DEPENDENCIES_1)
      am_treebrowser_la_OBJECTS = treebrowser_la-treebrowser.lo
      treebrowser_la_OBJECTS = $(am_treebrowser_la_OBJECTS)
      AM_V_lt = $(am__v_lt_@AM_V@)
      am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
      am__v_lt_0 = --silent
      am__v_lt_1 = 
      treebrowser_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
      	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
      	$(treebrowser_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
      	$@
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
      depcomp = $(SHELL) $(top_srcdir)/depcomp
      am__depfiles_maybe = depfiles
      am__mv = mv -f
      COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
      	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
      LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
      	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
      	$(AM_CFLAGS) $(CFLAGS)
      AM_V_CC = $(am__v_CC_@AM_V@)
      am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
      am__v_CC_0 = @echo "  CC      " $@;
      am__v_CC_1 = 
      CCLD = $(CC)
      LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
      	$(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_CCLD = $(am__v_CCLD_@AM_V@)
      am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
      am__v_CCLD_0 = @echo "  CCLD    " $@;
      am__v_CCLD_1 = 
      SOURCES = $(treebrowser_la_SOURCES)
      DIST_SOURCES = $(treebrowser_la_SOURCES)
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/cppcheck.mk \
      	$(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      @MINGW_FALSE@GP_PREFIX = $(prefix)
      @MINGW_TRUE@GP_PREFIX = .
      @MINGW_FALSE@GP_DATADIR = $(datadir)
      @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share
      @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR)
      @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale
      @MINGW_FALSE@GP_DOCDIR = $(docdir)
      @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE)
      @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir)
      @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE)
      @MINGW_FALSE@GP_LIBDIR = $(libdir)
      @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib
      @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir)
      @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE)
      LOCAL_AM_CFLAGS = \
      	-DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \
      	-DPREFIX=\""$(GP_PREFIX)"\" \
      	-DDOCDIR=\""$(GP_DOCDIR)"\" \
      	-DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \
      	-DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \
      	-DLIBDIR=\""$(GP_LIBDIR)"\" \
      	-DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \
      	-DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \
      	-DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \
      	-DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \
      	-DPLUGIN="\"$(plugin)\""
      
      AM_CFLAGS = \
      	${LOCAL_AM_CFLAGS} \
      	$(GEANY_CFLAGS) \
      	$(GP_CFLAGS)
      
      AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS)
      COMMONLIBS = \
      	$(GEANY_LIBS) \
      	$(INTLLIBS)
      
      plugin = treebrowser
      geanyplugins_LTLIBRARIES = treebrowser.la
      treebrowser_la_SOURCES = treebrowser.c
      treebrowser_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"TreeBrowser\"
      treebrowser_la_CFLAGS = $(AM_CFLAGS) $(GIO_CFLAGS)
      treebrowser_la_LIBADD = $(COMMONLIBS) $(GIO_LIBS)
      AM_CPPCHECKFLAGS =  \
      	--suppress='deallocDealloc:$(srcdir)/treebrowser.c' \
      	--suppress='doubleFree:$(srcdir)/treebrowser.c'
      all: all-am
      
      .SUFFIXES:
      .SUFFIXES: .c .lo .o .obj
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign treebrowser/src/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign treebrowser/src/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES)
      	@$(NORMAL_INSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	list2=; for p in $$list; do \
      	  if test -f $$p; then \
      	    list2="$$list2 $$p"; \
      	  else :; fi; \
      	done; \
      	test -z "$$list2" || { \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \
      	}
      
      uninstall-geanypluginsLTLIBRARIES:
      	@$(NORMAL_UNINSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	for p in $$list; do \
      	  $(am__strip_dir) \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \
      	done
      
      clean-geanypluginsLTLIBRARIES:
      	-test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES)
      	@list='$(geanyplugins_LTLIBRARIES)'; \
      	locs=`for p in $$list; do echo $$p; done | \
      	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
      	      sort -u`; \
      	test -z "$$locs" || { \
      	  echo rm -f $${locs}; \
      	  rm -f $${locs}; \
      	}
      
      treebrowser.la: $(treebrowser_la_OBJECTS) $(treebrowser_la_DEPENDENCIES) $(EXTRA_treebrowser_la_DEPENDENCIES) 
      	$(AM_V_CCLD)$(treebrowser_la_LINK) -rpath $(geanypluginsdir) $(treebrowser_la_OBJECTS) $(treebrowser_la_LIBADD) $(LIBS)
      
      mostlyclean-compile:
      	-rm -f *.$(OBJEXT)
      
      distclean-compile:
      	-rm -f *.tab.c
      
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treebrowser_la-treebrowser.Plo@am__quote@
      
      .c.o:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
      
      .c.obj:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
      
      .c.lo:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
      @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
      
      treebrowser_la-treebrowser.lo: treebrowser.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(treebrowser_la_CPPFLAGS) $(CPPFLAGS) $(treebrowser_la_CFLAGS) $(CFLAGS) -MT treebrowser_la-treebrowser.lo -MD -MP -MF $(DEPDIR)/treebrowser_la-treebrowser.Tpo -c -o treebrowser_la-treebrowser.lo `test -f 'treebrowser.c' || echo '$(srcdir)/'`treebrowser.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/treebrowser_la-treebrowser.Tpo $(DEPDIR)/treebrowser_la-treebrowser.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='treebrowser.c' object='treebrowser_la-treebrowser.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(treebrowser_la_CPPFLAGS) $(CPPFLAGS) $(treebrowser_la_CFLAGS) $(CFLAGS) -c -o treebrowser_la-treebrowser.lo `test -f 'treebrowser.c' || echo '$(srcdir)/'`treebrowser.c
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-am
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-am
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-am
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      @HAVE_CPPCHECK_FALSE@check-local:
      check-am: all-am
      	$(MAKE) $(AM_MAKEFLAGS) check-local
      check: check-am
      all-am: Makefile $(LTLIBRARIES)
      installdirs:
      	for dir in "$(DESTDIR)$(geanypluginsdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-am
      install-exec: install-exec-am
      install-data: install-data-am
      uninstall: uninstall-am
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-am
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-am
      
      clean-am: clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \
      	mostlyclean-am
      
      distclean: distclean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      distclean-am: clean-am distclean-compile distclean-generic \
      	distclean-tags
      
      dvi: dvi-am
      
      dvi-am:
      
      html: html-am
      
      html-am:
      
      info: info-am
      
      info-am:
      
      install-data-am: install-geanypluginsLTLIBRARIES
      
      install-dvi: install-dvi-am
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-am
      
      install-html-am:
      
      install-info: install-info-am
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-am
      
      install-pdf-am:
      
      install-ps: install-ps-am
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-am
      
      mostlyclean-am: mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool
      
      pdf: pdf-am
      
      pdf-am:
      
      ps: ps-am
      
      ps-am:
      
      uninstall-am: uninstall-geanypluginsLTLIBRARIES
      
      .MAKE: check-am install-am install-strip
      
      .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
      	clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \
      	cscopelist-am ctags ctags-am distclean distclean-compile \
      	distclean-generic distclean-libtool distclean-tags distdir dvi \
      	dvi-am html html-am info info-am install install-am \
      	install-data install-data-am install-dvi install-dvi-am \
      	install-exec install-exec-am install-geanypluginsLTLIBRARIES \
      	install-html install-html-am install-info install-info-am \
      	install-man install-pdf install-pdf-am install-ps \
      	install-ps-am install-strip installcheck installcheck-am \
      	installdirs maintainer-clean maintainer-clean-generic \
      	mostlyclean mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
      	uninstall-am uninstall-geanypluginsLTLIBRARIES
      
      .PRECIOUS: Makefile
      
      
      @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir)
      @HAVE_CPPCHECK_TRUE@	$(CPPCHECK) \
      @HAVE_CPPCHECK_TRUE@		-q --template gcc --error-exitcode=2 \
      @HAVE_CPPCHECK_TRUE@		$(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \
      @HAVE_CPPCHECK_TRUE@		$(srcdir)
      
      @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/treebrowser/src/Makefile.am0000644000175000017500000000076412671261352021715 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk
      plugin = treebrowser
      
      geanyplugins_LTLIBRARIES = treebrowser.la
      
      treebrowser_la_SOURCES = treebrowser.c
      treebrowser_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"TreeBrowser\"
      treebrowser_la_CFLAGS = $(AM_CFLAGS) $(GIO_CFLAGS)
      treebrowser_la_LIBADD = $(COMMONLIBS) $(GIO_LIBS)
      
      AM_CPPCHECKFLAGS = --suppress='deallocDealloc:$(srcdir)/treebrowser.c'
      AM_CPPCHECKFLAGS += --suppress='doubleFree:$(srcdir)/treebrowser.c'
      
      include $(top_srcdir)/build/cppcheck.mk
      geany-plugins-1.27/treebrowser/src/treebrowser.c0000644000175000017500000020266112671261352022370 0ustar00frlanfrlan00000000000000/*
       *      treebrowser.c - v0.20
       *
       *      Copyright 2010 Adrian Dimitrov 
       */
      
      #ifdef HAVE_CONFIG_H
      # include "config.h"
      #endif
      
      #include 
      #include 
      #include 
      #include 
      #include 
      #include 
      #include 
      
      #include "geany.h"
      #include "geanyplugin.h"
      
      #ifdef HAVE_GIO
      # include 
      #endif
      
      #ifdef G_OS_WIN32
      # include 
      #endif
      
      /* These items are set by Geany before plugin_init() is called. */
      GeanyPlugin 				*geany_plugin;
      GeanyData 					*geany_data;
      
      static gint 				page_number 				= 0;
      static GtkTreeStore 		*treestore;
      static GtkWidget 			*treeview;
      static GtkWidget 			*sidebar_vbox;
      static GtkWidget 			*sidebar_vbox_bars;
      static GtkWidget 			*filter;
      static GtkWidget 			*addressbar;
      static gchar 				*addressbar_last_address 	= NULL;
      
      static GtkTreeIter 			bookmarks_iter;
      static gboolean 			bookmarks_expanded = FALSE;
      
      static GtkTreeViewColumn 	*treeview_column_text;
      static GtkCellRenderer 		*render_icon, *render_text;
      
      /* ------------------
       * FLAGS
       * ------------------ */
      
      static gboolean 			flag_on_expand_refresh 		= FALSE;
      
      /* ------------------
       *  CONFIG VARS
       * ------------------ */
      
      #ifndef G_OS_WIN32
      # define CONFIG_OPEN_EXTERNAL_CMD_DEFAULT "nautilus '%d'"
      # define CONFIG_OPEN_TERMINAL_DEFAULT "xterm"
      #else
      # define CONFIG_OPEN_EXTERNAL_CMD_DEFAULT "explorer '%d'"
      # define CONFIG_OPEN_TERMINAL_DEFAULT "cmd"
      #endif
      
      static gchar 				*CONFIG_FILE 				= NULL;
      static gchar 				*CONFIG_OPEN_EXTERNAL_CMD 	= NULL;
      static gchar 				*CONFIG_OPEN_TERMINAL 	= NULL;
      static gboolean 			CONFIG_REVERSE_FILTER 		= FALSE;
      static gboolean 			CONFIG_ONE_CLICK_CHDOC 		= FALSE;
      static gboolean 			CONFIG_SHOW_HIDDEN_FILES 	= FALSE;
      static gboolean 			CONFIG_HIDE_OBJECT_FILES 	= FALSE;
      static gint 				CONFIG_SHOW_BARS			= 1;
      static gboolean 			CONFIG_CHROOT_ON_DCLICK		= FALSE;
      static gboolean 			CONFIG_FOLLOW_CURRENT_DOC 	= TRUE;
      static gboolean 			CONFIG_ON_DELETE_CLOSE_FILE = TRUE;
      static gboolean 			CONFIG_ON_OPEN_FOCUS_EDITOR = FALSE;
      static gboolean 			CONFIG_SHOW_TREE_LINES 		= TRUE;
      static gboolean 			CONFIG_SHOW_BOOKMARKS 		= FALSE;
      static gint 				CONFIG_SHOW_ICONS 			= 2;
      static gboolean				CONFIG_OPEN_NEW_FILES 		= TRUE;
      
      /* ------------------
       * TREEVIEW STRUCT
       * ------------------ */
      
      enum
      {
      	TREEBROWSER_COLUMNC 								= 4,
      
      	TREEBROWSER_COLUMN_ICON 							= 0,
      	TREEBROWSER_COLUMN_NAME 							= 1,
      	TREEBROWSER_COLUMN_URI 								= 2,
      	TREEBROWSER_COLUMN_FLAG 							= 3,
      
      	TREEBROWSER_RENDER_ICON 							= 0,
      	TREEBROWSER_RENDER_TEXT 							= 1,
      
      	TREEBROWSER_FLAGS_SEPARATOR 						= -1
      };
      
      
      /* Keybinding(s) */
      enum
      {
      	KB_FOCUS_FILE_LIST,
      	KB_FOCUS_PATH_ENTRY,
      	KB_RENAME_OBJECT,
      	KB_CREATE_FILE,
      	KB_CREATE_DIR,
      	KB_REFRESH,
      	KB_COUNT
      };
      
      
      /* ------------------
       * PLUGIN INFO
       * ------------------ */
      
      PLUGIN_VERSION_CHECK(224)
      
      PLUGIN_SET_TRANSLATABLE_INFO(
      	LOCALEDIR,
      	GETTEXT_PACKAGE,
      	_("TreeBrowser"),
      	_("This plugin adds a tree browser to Geany, allowing the user to browse files using a tree view of the directory being browsed."),
      	"0.20" ,
      	"Adrian Dimitrov (dimitrov.adrian@gmail.com)")
      
      
      /* ------------------
       * PREDEFINES
       * ------------------ */
      
      #define foreach_slist_free(node, list) for (node = list, list = NULL; g_slist_free_1(list), node != NULL; list = node, node = node->next)
      
      static GList*
      _gtk_cell_layout_get_cells(GtkTreeViewColumn *column)
      {
      #if GTK_CHECK_VERSION(2, 12, 0)
      	return gtk_cell_layout_get_cells(GTK_CELL_LAYOUT(column));
      #else
      	return gtk_tree_view_column_get_cell_renderers(column);
      #endif
      }
      
      
      /* ------------------
       * PROTOTYPES
       * ------------------ */
      
      static void 	project_change_cb(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GKeyFile *config, G_GNUC_UNUSED gpointer data);
      static void 	treebrowser_browse(gchar *directory, gpointer parent);
      static void 	treebrowser_bookmarks_set_state(void);
      static void 	treebrowser_load_bookmarks(void);
      static void 	gtk_tree_store_iter_clear_nodes(gpointer iter, gboolean delete_root);
      static void 	treebrowser_rename_current(void);
      static void 	on_menu_create_new_object(GtkMenuItem *menuitem, const gchar *type);
      static void 	load_settings(void);
      static gboolean save_settings(void);
      
      
      /* ------------------
       * PLUGIN CALLBACKS
       * ------------------ */
      
      PluginCallback plugin_callbacks[] =
      {
      	{ "project-open", (GCallback) &project_change_cb, TRUE, NULL },
      	{ "project-save", (GCallback) &project_change_cb, TRUE, NULL },
      	{ NULL, NULL, FALSE, NULL }
      };
      
      
      /* ------------------
       * TREEBROWSER CORE FUNCTIONS
       * ------------------ */
      
      static gboolean
      tree_view_row_expanded_iter(GtkTreeView *tree_view, GtkTreeIter *iter)
      {
      	GtkTreePath *tree_path;
      	gboolean expanded;
      
      	tree_path = gtk_tree_model_get_path(gtk_tree_view_get_model(tree_view), iter);
      	expanded = gtk_tree_view_row_expanded(tree_view, tree_path);
      	gtk_tree_path_free(tree_path);
      
      	return expanded;
      }
      
      static GdkPixbuf *
      utils_pixbuf_from_stock(const gchar *stock_id)
      {
      	GtkIconSet *icon_set;
      
      	icon_set = gtk_icon_factory_lookup_default(stock_id);
      
      	if (icon_set)
      		return gtk_icon_set_render_icon(icon_set, gtk_widget_get_default_style(),
      										gtk_widget_get_default_direction(),
      										GTK_STATE_NORMAL, GTK_ICON_SIZE_MENU, NULL, NULL);
      	return NULL;
      }
      
      static GdkPixbuf *
      utils_pixbuf_from_path(gchar *path)
      {
      #if defined(HAVE_GIO) && GTK_CHECK_VERSION(2, 14, 0)
      	GIcon 		*icon;
      	GdkPixbuf 	*ret = NULL;
      	GtkIconInfo *info;
      	gchar 		*ctype;
      	gint 		width;
      
      	ctype = g_content_type_guess(path, NULL, 0, NULL);
      	icon = g_content_type_get_icon(ctype);
      	g_free(ctype);
      
      	if (icon != NULL)
      	{
      		gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, NULL);
      		info = gtk_icon_theme_lookup_by_gicon(gtk_icon_theme_get_default(), icon, width, GTK_ICON_LOOKUP_USE_BUILTIN);
      		g_object_unref(icon);
      		if (!info)
      			return NULL;
      		ret = gtk_icon_info_load_icon (info, NULL);
      		gtk_icon_info_free(info);
      	}
      	return ret;
      #else
      	return utils_pixbuf_from_stock(g_file_test(path, G_FILE_TEST_IS_DIR)
      									? GTK_STOCK_DIRECTORY
      									: GTK_STOCK_FILE);
      #endif
      }
      
      
      /* result must be freed */
      static gchar*
      path_is_in_dir(gchar* src, gchar* find)
      {
      	guint i = 0;
      
      	gchar *diffed_path = NULL, *tmp = NULL;
      	gchar **src_segments = NULL, **find_segments = NULL;
      	guint src_segments_n = 0, find_segments_n = 0, n = 0;
      
      	src_segments = g_strsplit(src, G_DIR_SEPARATOR_S, 0);
      	find_segments = g_strsplit(find, G_DIR_SEPARATOR_S, 0);
      
      	src_segments_n = g_strv_length(src_segments);
      	find_segments_n = g_strv_length(find_segments);
      
      	n = src_segments_n;
      	if (find_segments_n < n)
      		n = find_segments_n;
      
      	for(i = 1; iapp->project;
      	GeanyDocument	*doc 		= document_get_current();
      
      	if (doc != NULL && doc->file_name != NULL && g_path_is_absolute(doc->file_name))
      	{
      		gchar *dir_name;
      		gchar *ret;
      
      		dir_name = g_path_get_dirname(doc->file_name);
      		ret = utils_get_locale_from_utf8(dir_name);
      		g_free (dir_name);
      
      		return ret;
      	}
      
      	if (project)
      		dir = project->base_path;
      	else
      		dir = geany->prefs->default_open_path;
      
      	if (! EMPTY(dir))
      		return utils_get_locale_from_utf8(dir);
      
      	return g_get_current_dir();
      }
      
      static gchar *
      get_terminal(void)
      {
      	gchar 		*terminal;
      #ifdef G_OS_WIN32
      	terminal = g_strdup("cmd");
      #else
      	terminal = g_strdup(CONFIG_OPEN_TERMINAL);
      #endif
      	return terminal;
      }
      
      static gboolean
      treebrowser_checkdir(gchar *directory)
      {
      	gboolean is_dir;
      	static const GdkColor red 	= {0, 0xffff, 0x6666, 0x6666};
      	static const GdkColor white = {0, 0xffff, 0xffff, 0xffff};
      	static gboolean old_value = TRUE;
      
      	is_dir = g_file_test(directory, G_FILE_TEST_IS_DIR);
      
      	if (old_value != is_dir)
      	{
      		gtk_widget_modify_base(GTK_WIDGET(addressbar), GTK_STATE_NORMAL, is_dir ? NULL : &red);
      		gtk_widget_modify_text(GTK_WIDGET(addressbar), GTK_STATE_NORMAL, is_dir ? NULL : &white);
      		old_value = is_dir;
      	}
      
      	if (!is_dir)
      	{
      		if (CONFIG_SHOW_BARS == 0)
      			dialogs_show_msgbox(GTK_MESSAGE_ERROR, _("%s: no such directory."), directory);
      
      		return FALSE;
      	}
      
      	return is_dir;
      }
      
      static void
      treebrowser_chroot(const gchar *dir)
      {
      	gchar *directory;
      
      	if (g_str_has_suffix(dir, G_DIR_SEPARATOR_S))
      		directory = g_strndup(dir, strlen(dir)-1);
      	else
      		directory = g_strdup(dir);
      
      	gtk_entry_set_text(GTK_ENTRY(addressbar), directory);
      
      	if (!directory || strlen(directory) == 0)
      		setptr(directory, g_strdup(G_DIR_SEPARATOR_S));
      
      	if (! treebrowser_checkdir(directory))
      	{
      		g_free(directory);
      		return;
      	}
      
      	treebrowser_bookmarks_set_state();
      
      	gtk_tree_store_clear(treestore);
      	setptr(addressbar_last_address, directory);
      
      	treebrowser_browse(addressbar_last_address, NULL);
      	treebrowser_load_bookmarks();
      }
      
      static void
      treebrowser_browse(gchar *directory, gpointer parent)
      {
      	GtkTreeIter 	iter, iter_empty, *last_dir_iter = NULL;
      	gboolean 		is_dir;
      	gboolean 		expanded = FALSE, has_parent;
      	gchar 			*utf8_name;
      	GSList 			*list, *node;
      
      	gchar 			*fname;
      	gchar 			*uri;
      
      	directory 		= g_strconcat(directory, G_DIR_SEPARATOR_S, NULL);
      
      	has_parent = parent ? gtk_tree_store_iter_is_valid(treestore, parent) : FALSE;
      	if (has_parent)
      	{
      		if (parent == &bookmarks_iter)
      			treebrowser_load_bookmarks();
      	}
      	else
      		parent = NULL;
      
      	if (has_parent && tree_view_row_expanded_iter(GTK_TREE_VIEW(treeview), parent))
      	{
      		expanded = TRUE;
      		treebrowser_bookmarks_set_state();
      	}
      
      	if (parent)
      		gtk_tree_store_iter_clear_nodes(parent, FALSE);
      
      	list = utils_get_file_list(directory, NULL, NULL);
      	if (list != NULL)
      	{
      		foreach_slist_free(node, list)
      		{
      			fname 		= node->data;
      			uri 		= g_strconcat(directory, fname, NULL);
      			is_dir 		= g_file_test (uri, G_FILE_TEST_IS_DIR);
      			utf8_name 	= utils_get_utf8_from_locale(fname);
      
      			if (!check_hidden(uri))
      			{
      				GdkPixbuf *icon = NULL;
      
      				if (is_dir)
      				{
      					if (last_dir_iter == NULL)
      						gtk_tree_store_prepend(treestore, &iter, parent);
      					else
      					{
      						gtk_tree_store_insert_after(treestore, &iter, parent, last_dir_iter);
      						gtk_tree_iter_free(last_dir_iter);
      					}
      					last_dir_iter = gtk_tree_iter_copy(&iter);
      					icon = CONFIG_SHOW_ICONS ? utils_pixbuf_from_stock(GTK_STOCK_DIRECTORY) : NULL;
      					gtk_tree_store_set(treestore, &iter,
      										TREEBROWSER_COLUMN_ICON, 	icon,
      										TREEBROWSER_COLUMN_NAME, 	fname,
      										TREEBROWSER_COLUMN_URI, 	uri,
      										-1);
      					gtk_tree_store_prepend(treestore, &iter_empty, &iter);
      					gtk_tree_store_set(treestore, &iter_empty,
      									TREEBROWSER_COLUMN_ICON, 	NULL,
      									TREEBROWSER_COLUMN_NAME, 	_("(Empty)"),
      									TREEBROWSER_COLUMN_URI, 	NULL,
      									-1);
      				}
      				else
      				{
      					if (check_filtered(utf8_name))
      					{
      						icon = CONFIG_SHOW_ICONS == 2
      									? utils_pixbuf_from_path(uri)
      									: CONFIG_SHOW_ICONS
      										? utils_pixbuf_from_stock(GTK_STOCK_FILE)
      										: NULL;
      						gtk_tree_store_append(treestore, &iter, parent);
      						gtk_tree_store_set(treestore, &iter,
      										TREEBROWSER_COLUMN_ICON, 	icon,
      										TREEBROWSER_COLUMN_NAME, 	fname,
      										TREEBROWSER_COLUMN_URI, 	uri,
      										-1);
      					}
      				}
      
      				if (icon)
      					g_object_unref(icon);
      			}
      			g_free(utf8_name);
      			g_free(uri);
      			g_free(fname);
      		}
      	}
      	else
      	{
      		gtk_tree_store_prepend(treestore, &iter_empty, parent);
      		gtk_tree_store_set(treestore, &iter_empty,
      						TREEBROWSER_COLUMN_ICON, 	NULL,
      						TREEBROWSER_COLUMN_NAME, 	_("(Empty)"),
      						TREEBROWSER_COLUMN_URI, 	NULL,
      						-1);
      	}
      
      	if (has_parent)
      	{
      		if (expanded)
      			gtk_tree_view_expand_row(GTK_TREE_VIEW(treeview), gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), parent), FALSE);
      	}
      	else
      		treebrowser_load_bookmarks();
      
      	g_free(directory);
      
      }
      
      static void
      treebrowser_bookmarks_set_state(void)
      {
      	if (gtk_tree_store_iter_is_valid(treestore, &bookmarks_iter))
      		bookmarks_expanded = tree_view_row_expanded_iter(GTK_TREE_VIEW(treeview), &bookmarks_iter);
      	else
      		bookmarks_expanded = FALSE;
      }
      
      static void
      treebrowser_load_bookmarks(void)
      {
      	gchar 		*bookmarks;
      	gchar 		*contents, *path_full;
      	gchar 		**lines, **line;
      	GtkTreeIter iter;
      	gchar 		*pos;
      	GdkPixbuf 	*icon = NULL;
      
      	if (! CONFIG_SHOW_BOOKMARKS)
      		return;
      
      	bookmarks = g_build_filename(g_get_home_dir(), ".gtk-bookmarks", NULL);
      	if (g_file_get_contents(bookmarks, &contents, NULL, NULL))
      	{
      		if (gtk_tree_store_iter_is_valid(treestore, &bookmarks_iter))
      		{
      			bookmarks_expanded = tree_view_row_expanded_iter(GTK_TREE_VIEW(treeview), &bookmarks_iter);
      			gtk_tree_store_iter_clear_nodes(&bookmarks_iter, FALSE);
      		}
      		else
      		{
      			gtk_tree_store_prepend(treestore, &bookmarks_iter, NULL);
      			icon = CONFIG_SHOW_ICONS ? utils_pixbuf_from_stock(GTK_STOCK_HOME) : NULL;
      			gtk_tree_store_set(treestore, &bookmarks_iter,
      											TREEBROWSER_COLUMN_ICON, 	icon,
      											TREEBROWSER_COLUMN_NAME, 	_("Bookmarks"),
      											TREEBROWSER_COLUMN_URI, 	NULL,
      											-1);
      			if (icon)
      				g_object_unref(icon);
      
      			gtk_tree_store_insert_after(treestore, &iter, NULL, &bookmarks_iter);
      			gtk_tree_store_set(treestore, &iter,
      											TREEBROWSER_COLUMN_ICON, 	NULL,
      											TREEBROWSER_COLUMN_NAME, 	NULL,
      											TREEBROWSER_COLUMN_URI, 	NULL,
      											TREEBROWSER_COLUMN_FLAG, 	TREEBROWSER_FLAGS_SEPARATOR,
      											-1);
      		}
      		lines = g_strsplit (contents, "\n", 0);
      		for (line = lines; *line; ++line)
      		{
      			if (**line)
      			{
      				pos = g_utf8_strchr (*line, -1, ' ');
      				if (pos != NULL)
      				{
      					*pos = '\0';
      				}
      			}
      			path_full = g_filename_from_uri(*line, NULL, NULL);
      			if (path_full != NULL)
      			{
      				if (g_file_test(path_full, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))
      				{
      					gchar *file_name = g_path_get_basename(path_full);
      
      					gtk_tree_store_append(treestore, &iter, &bookmarks_iter);
      					icon = CONFIG_SHOW_ICONS ? utils_pixbuf_from_stock(GTK_STOCK_DIRECTORY) : NULL;
      					gtk_tree_store_set(treestore, &iter,
      												TREEBROWSER_COLUMN_ICON, 	icon,
      												TREEBROWSER_COLUMN_NAME, 	file_name,
      												TREEBROWSER_COLUMN_URI, 	path_full,
      												-1);
      					g_free(file_name);
      					if (icon)
      						g_object_unref(icon);
      					gtk_tree_store_append(treestore, &iter, &iter);
      					gtk_tree_store_set(treestore, &iter,
      											TREEBROWSER_COLUMN_ICON, 	NULL,
      											TREEBROWSER_COLUMN_NAME, 	_("(Empty)"),
      											TREEBROWSER_COLUMN_URI, 	NULL,
      												-1);
      				}
      				g_free(path_full);
      			}
      		}
      		g_strfreev(lines);
      		g_free(contents);
      		if (bookmarks_expanded)
      		{
      			GtkTreePath *tree_path;
      
      			tree_path = gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), &bookmarks_iter);
      			gtk_tree_view_expand_row(GTK_TREE_VIEW(treeview), tree_path, FALSE);
      			gtk_tree_path_free(tree_path);
      		}
      	}
      	g_free(bookmarks);
      }
      
      static gboolean
      treebrowser_search(gchar *uri, gpointer parent)
      {
      	GtkTreeIter 	iter;
      	GtkTreePath 	*path;
      	gchar 			*uri_current;
      
      	if (gtk_tree_model_iter_children(GTK_TREE_MODEL(treestore), &iter, parent))
      	{
      		do
      		{
      			if (gtk_tree_model_iter_has_child(GTK_TREE_MODEL(treestore), &iter))
      				if (treebrowser_search(uri, &iter))
      					return TRUE;
      
      			gtk_tree_model_get(GTK_TREE_MODEL(treestore), &iter, TREEBROWSER_COLUMN_URI, &uri_current, -1);
      
      			if (utils_str_equal(uri, uri_current) == TRUE)
      			{
      				path = gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), &iter);
      				gtk_tree_view_expand_to_path(GTK_TREE_VIEW(treeview), path);
      				gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(treeview), path, NULL, FALSE, 0, 0);
      				gtk_tree_view_set_cursor(GTK_TREE_VIEW(treeview), path, treeview_column_text, FALSE);
      				gtk_tree_path_free(path);
      				g_free(uri_current);
      				return TRUE;
      			}
      			else
      				g_free(uri_current);
      
      		} while (gtk_tree_model_iter_next(GTK_TREE_MODEL(treestore), &iter));
      	}
      
      	return FALSE;
      }
      
      static void
      fs_remove(gchar *root, gboolean delete_root)
      {
      	gchar *path;
      	const gchar *name;
      
      	if (! g_file_test(root, G_FILE_TEST_EXISTS))
      		return;
      
      	if (g_file_test(root, G_FILE_TEST_IS_DIR))
      	{
      		GDir *dir;
      		dir = g_dir_open (root, 0, NULL);
      
      		if (!dir)
      		{
      			if (delete_root)
      			{
      				g_remove(root);
      			}
      			else return;
      		}
      
      		name = g_dir_read_name (dir);
      		while (name != NULL)
      		{
      			path = g_build_filename(root, name, NULL);
      			if (g_file_test(path, G_FILE_TEST_IS_DIR))
      				fs_remove(path, delete_root);
      			g_remove(path);
      			g_free(path);
      			name = g_dir_read_name(dir);
      		}
      		g_dir_close(dir);
      	}
      	else
      		delete_root = TRUE;
      
      	if (delete_root)
      		g_remove(root);
      
      	return;
      }
      
      static void
      showbars(gboolean state)
      {
      	if (state)
      	{
      		gtk_widget_show(sidebar_vbox_bars);
      		if (!CONFIG_SHOW_BARS)
      			CONFIG_SHOW_BARS = 1;
      	}
      	else
      	{
      		gtk_widget_hide(sidebar_vbox_bars);
      		CONFIG_SHOW_BARS = 0;
      	}
      
      	save_settings();
      }
      
      static void
      gtk_tree_store_iter_clear_nodes(gpointer iter, gboolean delete_root)
      {
      	GtkTreeIter i;
      
      	if (gtk_tree_model_iter_children(GTK_TREE_MODEL(treestore), &i, iter))
      	{
      		while (gtk_tree_store_remove(GTK_TREE_STORE(treestore), &i))
      			/* do nothing */;
      	}
      	if (delete_root)
      		gtk_tree_store_remove(GTK_TREE_STORE(treestore), iter);
      }
      
      static gboolean
      treebrowser_expand_to_path(gchar* root, gchar* find)
      {
      	guint i = 0;
      	gboolean founded = FALSE, global_founded = FALSE;
      	gchar *new = NULL;
      	gchar **root_segments = NULL, **find_segments = NULL;
      	guint find_segments_n = 0;
      
      	root_segments = g_strsplit(root, G_DIR_SEPARATOR_S, 0);
      	find_segments = g_strsplit(find, G_DIR_SEPARATOR_S, 0);
      
      	find_segments_n = g_strv_length(find_segments)-1;
      
      
      	for (i = 1; i<=find_segments_n; i++)
      	{
      		new = g_strconcat(new ? new : "", G_DIR_SEPARATOR_S, find_segments[i], NULL);
      
      		if (founded)
      		{
      			if (treebrowser_search(new, NULL))
      				global_founded = TRUE;
      		}
      		else
      			if (utils_str_equal(root, new) == TRUE)
      				founded = TRUE;
      	}
      
      	g_free(new);
      	g_strfreev(root_segments);
      	g_strfreev(find_segments);
      
      	return global_founded;
      }
      
      static gboolean
      treebrowser_track_current(void)
      {
      
      	GeanyDocument	*doc 		= document_get_current();
      	gchar 			*path_current;
      	gchar			**path_segments = NULL;
      	gchar 			*froot = NULL;
      
      	if (doc != NULL && doc->file_name != NULL && g_path_is_absolute(doc->file_name))
      	{
      		path_current = utils_get_locale_from_utf8(doc->file_name);
      
      		/*
      		 * Checking if the document is in the expanded or collapsed files
      		 */
      		if (! treebrowser_search(path_current, NULL))
      		{
      			/*
      			 * Else we have to chroting to the document`s nearles path
      			 */
      
      			froot = path_is_in_dir(addressbar_last_address, g_path_get_dirname(path_current));
      
      			if (froot == NULL)
      				froot = g_strdup(G_DIR_SEPARATOR_S);
      
      			if (utils_str_equal(froot, addressbar_last_address) != TRUE)
      				treebrowser_chroot(froot);
      
      			treebrowser_expand_to_path(froot, path_current);
      		}
      
      		g_strfreev(path_segments);
      		g_free(froot);
      		g_free(path_current);
      
      		return FALSE;
      	}
      	return FALSE;
      }
      
      static gboolean
      treebrowser_iter_rename(gpointer iter)
      {
      	GtkTreeViewColumn 	*column;
      	GtkCellRenderer 	*renderer;
      	GtkTreePath 		*path;
      	GList 				*renderers;
      
      	if (gtk_tree_store_iter_is_valid(treestore, iter))
      	{
      		path = gtk_tree_model_get_path(GTK_TREE_MODEL(treestore), iter);
      		if (G_LIKELY(path != NULL))
      		{
      			column 		= gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), 0);
      			renderers 	= _gtk_cell_layout_get_cells(column);
      			renderer 	= g_list_nth_data(renderers, TREEBROWSER_RENDER_TEXT);
      
      			g_object_set(G_OBJECT(renderer), "editable", TRUE, NULL);
      			gtk_tree_view_set_cursor_on_cell(GTK_TREE_VIEW(treeview), path, column, renderer, TRUE);
      
      			gtk_tree_path_free(path);
      			g_list_free(renderers);
      			return TRUE;
      		}
      	}
      	return FALSE;
      }
      
      static void
      treebrowser_rename_current(void)
      {
      	GtkTreeSelection 	*selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
      	GtkTreeIter 		iter;
      	GtkTreeModel 		*model;
      
      	if (gtk_tree_selection_get_selected(selection, &model, &iter))
      	{
      		treebrowser_iter_rename(&iter);
      	}
      }
      
      static void
      treebrowser_create_new_current(const gchar *type)
      {
      	on_menu_create_new_object(NULL, type);
      }
      
      
      /* ------------------
       * RIGHTCLICK MENU EVENTS
       * ------------------*/
      
      static void
      on_menu_go_up(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	gchar *uri;
      
      	uri = g_path_get_dirname(addressbar_last_address);
      	treebrowser_chroot(uri);
      	g_free(uri);
      }
      
      static void
      on_menu_current_path(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	gchar *uri;
      
      	uri = get_default_dir();
      	treebrowser_chroot(uri);
      	g_free(uri);
      }
      
      static void
      on_menu_open_externally(GtkMenuItem *menuitem, gchar *uri)
      {
      	gchar 				*cmd, *locale_cmd, *dir, *c;
      	GString 			*cmd_str 	= g_string_new(CONFIG_OPEN_EXTERNAL_CMD);
      	GError 				*error 		= NULL;
      
      	dir = g_file_test(uri, G_FILE_TEST_IS_DIR) ? g_strdup(uri) : g_path_get_dirname(uri);
      
      	utils_string_replace_all(cmd_str, "%f", uri);
      	utils_string_replace_all(cmd_str, "%d", dir);
      
      	cmd = g_string_free(cmd_str, FALSE);
      	locale_cmd = utils_get_locale_from_utf8(cmd);
      	if (! g_spawn_command_line_async(locale_cmd, &error))
      	{
      		c = strchr(cmd, ' ');
      		if (c != NULL)
      			*c = '\0';
      		ui_set_statusbar(TRUE,
      			_("Could not execute configured external command '%s' (%s)."),
      			cmd, error->message);
      		g_error_free(error);
      	}
      	g_free(locale_cmd);
      	g_free(cmd);
      	g_free(dir);
      }
      
      static void
      on_menu_open_terminal(GtkMenuItem *menuitem, gchar *uri)
      {
      	gchar *argv[2] = {NULL, NULL};
      	argv[0] = get_terminal();
      
      	if (g_file_test(uri, G_FILE_TEST_EXISTS))
      		uri = g_file_test(uri, G_FILE_TEST_IS_DIR) ? g_strdup(uri) : g_path_get_dirname(uri);
      	else
      		uri = g_strdup(addressbar_last_address);
      
      	g_spawn_async(uri, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
      	g_free(uri);
      	g_free(argv[0]);
      }
      
      static void
      on_menu_set_as_root(GtkMenuItem *menuitem, gchar *uri)
      {
      	if (g_file_test(uri, G_FILE_TEST_IS_DIR))
      		treebrowser_chroot(uri);
      }
      
      static void
      on_menu_find_in_files(GtkMenuItem *menuitem, gchar *uri)
      {
      	search_show_find_in_files_dialog(uri);
      }
      
      static void
      on_menu_create_new_object(GtkMenuItem *menuitem, const gchar *type)
      {
      	GtkTreeSelection 	*selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
      	GtkTreeIter 		iter, iter_parent;
      	GtkTreeModel 		*model;
      	gchar 				*uri, *uri_new = NULL;
      	gboolean 			refresh_root = FALSE;
      
      	if (gtk_tree_selection_get_selected(selection, &model, &iter))
      	{
      		gtk_tree_model_get(model, &iter, TREEBROWSER_COLUMN_URI, &uri, -1);
      		/* If not a directory, find parent directory */
      		if (! g_file_test(uri, G_FILE_TEST_IS_DIR))
      		{
      			if (gtk_tree_model_iter_parent(GTK_TREE_MODEL(treestore), &iter_parent, &iter))
      			{
      				iter = iter_parent;
      				/* Set URI from parent iter */
      				g_free(uri);
      				gtk_tree_model_get(model, &iter_parent, TREEBROWSER_COLUMN_URI, &uri, -1);
      			}
      			else
      				refresh_root = TRUE;
      		}
      	}
      	else
      	{
      		refresh_root 	= TRUE;
      		uri 			= g_strdup(addressbar_last_address);
      	}
      
      	if (utils_str_equal(type, "directory"))
      		uri_new = g_strconcat(uri, G_DIR_SEPARATOR_S, _("NewDirectory"), NULL);
      	else if (utils_str_equal(type, "file"))
      		uri_new = g_strconcat(uri, G_DIR_SEPARATOR_S, _("NewFile"), NULL);
      
      	if (uri_new)
      	{
      		if (!(g_file_test(uri_new, G_FILE_TEST_EXISTS) &&
      			!dialogs_show_question(_("Target file '%s' exists\n, do you really want to replace it with empty file?"), uri_new)))
      		{
      			gboolean creation_success = FALSE;
      
      			while(g_file_test(uri_new, G_FILE_TEST_EXISTS))
      				setptr(uri_new, g_strconcat(uri_new, "_", NULL));
      
      			if (utils_str_equal(type, "directory"))
      				creation_success = (g_mkdir(uri_new, 0755) == 0);
      			else
      				creation_success = (g_creat(uri_new, 0644) != -1);
      
      			if (creation_success)
      			{
      				treebrowser_browse(uri, refresh_root ? NULL : &iter);
      				if (treebrowser_search(uri_new, NULL))
      					treebrowser_rename_current();
      				if (utils_str_equal(type, "file") && CONFIG_OPEN_NEW_FILES == TRUE)
      					document_open_file(uri_new,FALSE, NULL,NULL);
      			}
      		}
      		g_free(uri_new);
      	}
      	g_free(uri);
      }
      
      static void
      on_menu_rename(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	treebrowser_rename_current();
      }
      
      static void
      on_menu_delete(GtkMenuItem *menuitem, gpointer *user_data)
      {
      
      	GtkTreeSelection 	*selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
      	GtkTreeIter 		iter, iter_parent;
      	GtkTreeModel 		*model;
      	gchar 				*uri, *uri_parent;
      
      	if (! gtk_tree_selection_get_selected(selection, &model, &iter))
      		return;
      
      	gtk_tree_model_get(model, &iter, TREEBROWSER_COLUMN_URI, &uri, -1);
      
      	if (dialogs_show_question(_("Do you really want to delete '%s' ?"), uri))
      	{
      		if (CONFIG_ON_DELETE_CLOSE_FILE && !g_file_test(uri, G_FILE_TEST_IS_DIR))
      			document_close(document_find_by_filename(uri));
      
      		uri_parent = g_path_get_dirname(uri);
      		fs_remove(uri, TRUE);
      		if (gtk_tree_model_iter_parent(GTK_TREE_MODEL(treestore), &iter_parent, &iter))
      			treebrowser_browse(uri_parent, &iter_parent);
      		else
      			treebrowser_browse(uri_parent, NULL);
      		g_free(uri_parent);
      	}
      	g_free(uri);
      }
      
      static void
      on_menu_refresh(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	GtkTreeSelection 	*selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
      	GtkTreeIter 		iter;
      	GtkTreeModel 		*model;
      	gchar 				*uri;
      
      	if (gtk_tree_selection_get_selected(selection, &model, &iter))
      	{
      		gtk_tree_model_get(model, &iter, TREEBROWSER_COLUMN_URI, &uri, -1);
      		if (g_file_test(uri, G_FILE_TEST_IS_DIR))
      			treebrowser_browse(uri, &iter);
      		g_free(uri);
      	}
      	else
      		treebrowser_browse(addressbar_last_address, NULL);
      }
      
      static void
      on_menu_expand_all(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	gtk_tree_view_expand_all(GTK_TREE_VIEW(treeview));
      }
      
      static void
      on_menu_collapse_all(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	gtk_tree_view_collapse_all(GTK_TREE_VIEW(treeview));
      }
      
      static void
      on_menu_close(GtkMenuItem *menuitem, gchar *uri)
      {
      	if (g_file_test(uri, G_FILE_TEST_EXISTS))
      		document_close(document_find_by_filename(uri));
      }
      
      static void
      on_menu_close_children(GtkMenuItem *menuitem, gchar *uri)
      {
      	guint i;
      	size_t uri_len = strlen(uri);
      	for (i=0; i < GEANY(documents_array)->len; i++)
      	{
      		if (documents[i]->is_valid)
      		{
      			/* the document filename should always be longer than the uri when closing children
      			 * Compare the beginning of the filename string to see if it matchs the uri*/
      			if (strlen(documents[i]->file_name) > uri_len)
      			{
      				if (strncmp(uri, documents[i]->file_name, uri_len)==0)
      					document_close(documents[i]);
      			}
      		}
      	}
      }
      
      static void
      on_menu_copy_uri(GtkMenuItem *menuitem, gchar *uri)
      {
      	GtkClipboard *cb = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
      	gtk_clipboard_set_text(cb, uri, -1);
      }
      
      static void
      on_menu_show_bookmarks(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	CONFIG_SHOW_BOOKMARKS = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem));
      	save_settings();
      	treebrowser_chroot(addressbar_last_address);
      }
      
      static void
      on_menu_show_hidden_files(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	CONFIG_SHOW_HIDDEN_FILES = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem));
      	save_settings();
      	treebrowser_browse(addressbar_last_address, NULL);
      }
      
      static void
      on_menu_show_bars(GtkMenuItem *menuitem, gpointer *user_data)
      {
      	showbars(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem)));
      }
      
      static GtkWidget*
      create_popup_menu(const gchar *name, const gchar *uri)
      {
      	GtkWidget *item, *menu = gtk_menu_new();
      
      	gboolean is_exists 		= g_file_test(uri, G_FILE_TEST_EXISTS);
      	gboolean is_dir 		= is_exists ? g_file_test(uri, G_FILE_TEST_IS_DIR) : FALSE;
      	gboolean is_document 	= document_find_by_filename(uri) != NULL ? TRUE : FALSE;
      
      	item = ui_image_menu_item_new(GTK_STOCK_GO_UP, _("Go up"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_go_up), NULL);
      
      	item = ui_image_menu_item_new(GTK_STOCK_GO_UP, _("Set path from document"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_current_path), NULL);
      
      	item = ui_image_menu_item_new(GTK_STOCK_OPEN, _("_Open externally"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect_data(item, "activate", G_CALLBACK(on_menu_open_externally), g_strdup(uri), (GClosureNotify)g_free, 0);
      	gtk_widget_set_sensitive(item, is_exists);
      
      	item = ui_image_menu_item_new("utilities-terminal", _("Open Terminal"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect_data(item, "activate", G_CALLBACK(on_menu_open_terminal), g_strdup(uri), (GClosureNotify)g_free, 0);
      
      	item = ui_image_menu_item_new(GTK_STOCK_GOTO_TOP, _("Set as root"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect_data(item, "activate", G_CALLBACK(on_menu_set_as_root), g_strdup(uri), (GClosureNotify)g_free, 0);
      	gtk_widget_set_sensitive(item, is_dir);
      
      	item = ui_image_menu_item_new(GTK_STOCK_REFRESH, _("Refresh"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_refresh), NULL);
      
      	item = ui_image_menu_item_new(GTK_STOCK_FIND, _("_Find in Files"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect_data(item, "activate", G_CALLBACK(on_menu_find_in_files), g_strdup(uri), (GClosureNotify)g_free, 0);
      	gtk_widget_set_sensitive(item, is_dir);
      
      	item = gtk_separator_menu_item_new();
      	gtk_container_add(GTK_CONTAINER(menu), item);
      
      	item = ui_image_menu_item_new(GTK_STOCK_ADD, _("Create new directory"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_create_new_object), (gpointer)"directory");
      
      	item = ui_image_menu_item_new(GTK_STOCK_NEW, _("Create new file"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_create_new_object), (gpointer)"file");
      
      	item = ui_image_menu_item_new(GTK_STOCK_SAVE_AS, _("Rename"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_rename), NULL);
      	gtk_widget_set_sensitive(item, is_exists);
      
      	item = ui_image_menu_item_new(GTK_STOCK_DELETE, _("Delete"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_delete), NULL);
      	gtk_widget_set_sensitive(item, is_exists);
      
      	item = gtk_separator_menu_item_new();
      	gtk_container_add(GTK_CONTAINER(menu), item);
      
      	item = ui_image_menu_item_new(GTK_STOCK_CLOSE, g_strdup_printf(_("Close: %s"), name));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect_data(item, "activate", G_CALLBACK(on_menu_close), g_strdup(uri), (GClosureNotify)g_free, 0);
      	gtk_widget_set_sensitive(item, is_document);
      
      	item = ui_image_menu_item_new(GTK_STOCK_CLOSE, g_strdup_printf(_("Close Child Documents ")));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect_data(item, "activate", G_CALLBACK(on_menu_close_children), g_strdup(uri), (GClosureNotify)g_free, 0);
      	gtk_widget_set_sensitive(item, is_dir);
      
      	item = ui_image_menu_item_new(GTK_STOCK_COPY, _("_Copy full path to clipboard"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect_data(item, "activate", G_CALLBACK(on_menu_copy_uri), g_strdup(uri), (GClosureNotify)g_free, 0);
      	gtk_widget_set_sensitive(item, is_exists);
      
      	item = gtk_separator_menu_item_new();
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	gtk_widget_show(item);
      
      	item = ui_image_menu_item_new(GTK_STOCK_GO_FORWARD, _("Expand all"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_expand_all), NULL);
      
      	item = ui_image_menu_item_new(GTK_STOCK_GO_BACK, _("Collapse all"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_collapse_all), NULL);
      
      	item = gtk_separator_menu_item_new();
      	gtk_container_add(GTK_CONTAINER(menu), item);
      
      	item = gtk_check_menu_item_new_with_mnemonic(_("Show bookmarks"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), CONFIG_SHOW_BOOKMARKS);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_show_bookmarks), NULL);
      
      	item = gtk_check_menu_item_new_with_mnemonic(_("Show hidden files"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), CONFIG_SHOW_HIDDEN_FILES);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_show_hidden_files), NULL);
      
      	item = gtk_check_menu_item_new_with_mnemonic(_("Show toolbars"));
      	gtk_container_add(GTK_CONTAINER(menu), item);
      	gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), CONFIG_SHOW_BARS ? TRUE : FALSE);
      	g_signal_connect(item, "activate", G_CALLBACK(on_menu_show_bars), NULL);
      
      	gtk_widget_show_all(menu);
      
      	return menu;
      }
      
      
      /* ------------------
       * TOOLBAR`S EVENTS
       * ------------------ */
      
      static void
      on_button_go_up(void)
      {
      	gchar *uri;
      
      	uri = g_path_get_dirname(addressbar_last_address);
      	treebrowser_chroot(uri);
      	g_free(uri);
      }
      
      static void
      on_button_refresh(void)
      {
      	treebrowser_chroot(addressbar_last_address);
      }
      
      static void
      on_button_go_home(void)
      {
      	gchar *uri;
      
      	uri = g_strdup(g_get_home_dir());
      	treebrowser_chroot(uri);
      	g_free(uri);
      }
      
      static void
      on_button_current_path(void)
      {
      	gchar *uri;
      
      	uri = get_default_dir();
      	treebrowser_chroot(uri);
      	g_free(uri);
      }
      
      static void
      on_button_hide_bars(void)
      {
      	showbars(FALSE);
      }
      
      static void
      on_addressbar_activate(GtkEntry *entry, gpointer user_data)
      {
      	gchar *directory = gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1);
      	treebrowser_chroot(directory);
      }
      
      static void
      on_filter_activate(GtkEntry *entry, gpointer user_data)
      {
      	treebrowser_chroot(addressbar_last_address);
      }
      
      static void
      on_filter_clear(GtkEntry *entry, gint icon_pos, GdkEvent *event, gpointer data)
      {
      	gtk_entry_set_text(entry, "");
      	treebrowser_chroot(addressbar_last_address);
      }
      
      
      /* ------------------
       * TREEVIEW EVENTS
       * ------------------ */
      
      static gboolean
      on_treeview_mouseclick(GtkWidget *widget, GdkEventButton *event, GtkTreeSelection *selection)
      {
      	if (event->button == 3)
      	{
      		GtkTreeIter 	iter;
      		GtkTreeModel 	*model;
      		GtkTreePath *path;
      		GtkWidget *menu;
      		gchar *name = NULL, *uri = NULL;
      
      		/* Get tree path for row that was clicked */
      		if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeview),
      																		 (gint) event->x,
      																		 (gint) event->y,
      																		 &path, NULL, NULL, NULL))
      		{
      			/* Unselect current selection; select clicked row from path */
      			gtk_tree_selection_unselect_all(selection);
      			gtk_tree_selection_select_path(selection, path);
      			gtk_tree_path_free(path);
      		}
      
      		if (gtk_tree_selection_get_selected(selection, &model, &iter))
      			gtk_tree_model_get(GTK_TREE_MODEL(treestore), &iter,
      								TREEBROWSER_COLUMN_NAME, &name,
      								TREEBROWSER_COLUMN_URI, &uri,
      								-1);
      
      		menu = create_popup_menu(name != NULL ? name : "", uri != NULL ? uri : "");
      		gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time);
      
      		g_free(name);
      		g_free(uri);
      		return TRUE;
      	}
      
      	return FALSE;
      }
      
      static gboolean
      on_treeview_keypress(GtkWidget *widget, GdkEventKey *event)
      {
      	GtkTreeIter		iter;
      	GtkTreeModel	*model;
      	GtkTreePath		*path;
      
      	if (event->keyval == GDK_space)
      	{
      		if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)), &model, &iter))
      		{
      			path = gtk_tree_model_get_path(model, &iter);
      			if (gtk_tree_view_row_expanded(GTK_TREE_VIEW(widget), path))
      				gtk_tree_view_collapse_row(GTK_TREE_VIEW(widget), path);
      			else
      				gtk_tree_view_expand_row(GTK_TREE_VIEW(widget), path, FALSE);
      			return TRUE;
      		}
      	}
      	if (event->keyval == GDK_BackSpace)
      	{
      		on_button_go_up();
      		return TRUE;
      	}
      	if (event->keyval == GDK_Menu)
      	{
      		gchar *name = NULL, *uri = NULL;
      		GtkWidget *menu;
      
      		if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)), &model, &iter))
      			gtk_tree_model_get(GTK_TREE_MODEL(treestore), &iter,
      								TREEBROWSER_COLUMN_NAME, &name,
      								TREEBROWSER_COLUMN_URI, &uri,
      								-1);
      
      		menu = create_popup_menu(name != NULL ? name : "", uri != NULL ? uri : "");
      		gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 0, event->time);
      
      		g_free(name);
      		g_free(uri);
      
      		return TRUE;
      	}
      	if (event->keyval == GDK_Left)
      	{
      		if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)), &model, &iter))
      		{
      			path = gtk_tree_model_get_path(model, &iter);
      			if (gtk_tree_view_row_expanded(GTK_TREE_VIEW(widget), path))
      				gtk_tree_view_collapse_row(GTK_TREE_VIEW(widget), path);
      			else if (gtk_tree_path_get_depth(path) > 1) {
      				gtk_tree_path_up(path);
      				gtk_tree_view_set_cursor(GTK_TREE_VIEW(widget), path, NULL, FALSE);
      				gtk_tree_selection_select_path(gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)), path);
      			}
      		}
      		return TRUE;
      	}
      	if (event->keyval == GDK_Right)
      	{
      		if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widget)), &model, &iter))
      		{
      			path = gtk_tree_model_get_path(model, &iter);
      			if (!gtk_tree_view_row_expanded(GTK_TREE_VIEW(widget), path))
      				gtk_tree_view_expand_row(GTK_TREE_VIEW(widget), path, FALSE);
      		}
      		return TRUE;
      	}
      
      	return FALSE;
      }
      
      static void
      on_treeview_changed(GtkWidget *widget, gpointer user_data)
      {
      	GtkTreeIter 	iter;
      	GtkTreeModel 	*model;
      	gchar 			*uri;
      
      	if (gtk_tree_selection_get_selected(GTK_TREE_SELECTION(widget), &model, &iter))
      	{
      		gtk_tree_model_get(GTK_TREE_MODEL(treestore), &iter,
      							TREEBROWSER_COLUMN_URI, &uri,
      							-1);
      		if (uri == NULL)
      			return;
      
      		if (g_file_test(uri, G_FILE_TEST_EXISTS)) {
      			if (!g_file_test(uri, G_FILE_TEST_IS_DIR) && CONFIG_ONE_CLICK_CHDOC)
      				document_open_file(uri, FALSE, NULL, NULL);
      		} else
      			gtk_tree_store_iter_clear_nodes(&iter, TRUE);
      
      		g_free(uri);
      	}
      }
      
      static void
      on_treeview_row_activated(GtkWidget *widget, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)
      {
      	GtkTreeIter 	iter;
      	gchar 			*uri;
      
      	gtk_tree_model_get_iter(GTK_TREE_MODEL(treestore), &iter, path);
      	gtk_tree_model_get(GTK_TREE_MODEL(treestore), &iter, TREEBROWSER_COLUMN_URI, &uri, -1);
      
      	if (uri == NULL)
      		return;
      
      	if (g_file_test (uri, G_FILE_TEST_IS_DIR))
      		if (CONFIG_CHROOT_ON_DCLICK)
      			treebrowser_chroot(uri);
      		else
      			if (gtk_tree_view_row_expanded(GTK_TREE_VIEW(widget), path))
      				gtk_tree_view_collapse_row(GTK_TREE_VIEW(widget), path);
      			else {
      				treebrowser_browse(uri, &iter);
      				gtk_tree_view_expand_row(GTK_TREE_VIEW(widget), path, FALSE);
      			}
      	else {
      		document_open_file(uri, FALSE, NULL, NULL);
      		if (CONFIG_ON_OPEN_FOCUS_EDITOR)
      			keybindings_send_command(GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_EDITOR);
      	}
      
      	g_free(uri);
      }
      
      static void
      on_treeview_row_expanded(GtkWidget *widget, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
      {
      	gchar *uri;
      
      	gtk_tree_model_get(GTK_TREE_MODEL(treestore), iter, TREEBROWSER_COLUMN_URI, &uri, -1);
      	if (uri == NULL)
      		return;
      
      	if (flag_on_expand_refresh == FALSE)
      	{
      		flag_on_expand_refresh = TRUE;
      		treebrowser_browse(uri, iter);
      		gtk_tree_view_expand_row(GTK_TREE_VIEW(treeview), path, FALSE);
      		flag_on_expand_refresh = FALSE;
      	}
      	if (CONFIG_SHOW_ICONS)
      	{
      		GdkPixbuf *icon = utils_pixbuf_from_stock(GTK_STOCK_OPEN);
      
      		gtk_tree_store_set(treestore, iter, TREEBROWSER_COLUMN_ICON, icon, -1);
      		g_object_unref(icon);
      	}
      
      	g_free(uri);
      }
      
      static void
      on_treeview_row_collapsed(GtkWidget *widget, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data)
      {
      	gchar *uri;
      	gtk_tree_model_get(GTK_TREE_MODEL(treestore), iter, TREEBROWSER_COLUMN_URI, &uri, -1);
      	if (uri == NULL)
      		return;
      	if (CONFIG_SHOW_ICONS)
      	{
      		GdkPixbuf *icon = utils_pixbuf_from_stock(GTK_STOCK_DIRECTORY);
      
      		gtk_tree_store_set(treestore, iter, TREEBROWSER_COLUMN_ICON, icon, -1);
      		g_object_unref(icon);
      	}
      	g_free(uri);
      }
      
      static void
      on_treeview_renamed(GtkCellRenderer *renderer, const gchar *path_string, const gchar *name_new, gpointer user_data)
      {
      
      	GtkTreeViewColumn 	*column;
      	GList 				*renderers;
      	GtkTreeIter 		iter, iter_parent;
      	gchar 				*uri, *uri_new, *dirname;
      
      	column 		= gtk_tree_view_get_column(GTK_TREE_VIEW(treeview), 0);
      	renderers 	= _gtk_cell_layout_get_cells(column);
      	renderer 	= g_list_nth_data(renderers, TREEBROWSER_RENDER_TEXT);
      
      	g_object_set(G_OBJECT(renderer), "editable", FALSE, NULL);
      
      	if (gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(treestore), &iter, path_string))
      	{
      		gtk_tree_model_get(GTK_TREE_MODEL(treestore), &iter, TREEBROWSER_COLUMN_URI, &uri, -1);
      		if (uri)
      		{
      			dirname = g_path_get_dirname(uri);
      			uri_new = g_strconcat(dirname, G_DIR_SEPARATOR_S, name_new, NULL);
      			g_free(dirname);
      			if (!(g_file_test(uri_new, G_FILE_TEST_EXISTS) &&
      				strcmp(uri, uri_new) != 0 &&
      				!dialogs_show_question(_("Target file '%s' exists, do you really want to replace it?"), uri_new)))
      			{
      				if (g_rename(uri, uri_new) == 0)
      				{
      					dirname = g_path_get_dirname(uri_new);
      					gtk_tree_store_set(treestore, &iter,
      									TREEBROWSER_COLUMN_NAME, name_new,
      									TREEBROWSER_COLUMN_URI, uri_new,
      									-1);
      					if (gtk_tree_model_iter_parent(GTK_TREE_MODEL(treestore), &iter_parent, &iter))
      						treebrowser_browse(dirname, &iter_parent);
      					else
      						treebrowser_browse(dirname, NULL);
      					g_free(dirname);
      
      					if (!g_file_test(uri, G_FILE_TEST_IS_DIR))
      					{
      						GeanyDocument *doc = document_find_by_filename(uri);
      						if (doc && document_close(doc))
      							document_open_file(uri_new, FALSE, NULL, NULL);
      					}
      				}
      			}
      			g_free(uri_new);
      			g_free(uri);
      		}
      	}
      }
      
      static void
      treebrowser_track_current_cb(void)
      {
      	if (CONFIG_FOLLOW_CURRENT_DOC)
      		treebrowser_track_current();
      }
      
      
      /* ------------------
       * TREEBROWSER INITIAL FUNCTIONS
       * ------------------ */
      
      static gboolean
      treeview_separator_func(GtkTreeModel *model, GtkTreeIter *iter, gpointer data)
      {
      	gint flag;
      	gtk_tree_model_get(model, iter, TREEBROWSER_COLUMN_FLAG, &flag, -1);
      	return (flag == TREEBROWSER_FLAGS_SEPARATOR);
      }
      
      static GtkWidget*
      create_view_and_model(void)
      {
      
      	GtkWidget 			*view;
      
      	view 					= gtk_tree_view_new();
      	treeview_column_text	= gtk_tree_view_column_new();
      	render_icon 			= gtk_cell_renderer_pixbuf_new();
      	render_text 			= gtk_cell_renderer_text_new();
      
      	gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE);
      	gtk_tree_view_append_column(GTK_TREE_VIEW(view), treeview_column_text);
      
      	gtk_tree_view_column_pack_start(treeview_column_text, render_icon, FALSE);
      	gtk_tree_view_column_set_attributes(treeview_column_text, render_icon, "pixbuf", TREEBROWSER_RENDER_ICON, NULL);
      
      	gtk_tree_view_column_pack_start(treeview_column_text, render_text, TRUE);
      	gtk_tree_view_column_add_attribute(treeview_column_text, render_text, "text", TREEBROWSER_RENDER_TEXT);
      
      	gtk_tree_view_set_enable_search(GTK_TREE_VIEW(view), TRUE);
      	gtk_tree_view_set_search_column(GTK_TREE_VIEW(view), TREEBROWSER_COLUMN_NAME);
      
      	gtk_tree_view_set_row_separator_func(GTK_TREE_VIEW(view), treeview_separator_func, NULL, NULL);
      
      	ui_widget_modify_font_from_string(view, geany->interface_prefs->tagbar_font);
      
      #if GTK_CHECK_VERSION(2, 10, 0)
      	g_object_set(view, "has-tooltip", TRUE, "tooltip-column", TREEBROWSER_COLUMN_URI, NULL);
      #endif
      
      	gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(view)), GTK_SELECTION_SINGLE);
      
      #if GTK_CHECK_VERSION(2, 10, 0)
      	gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(view), CONFIG_SHOW_TREE_LINES);
      #endif
      
      	treestore = gtk_tree_store_new(TREEBROWSER_COLUMNC, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT);
      
      	gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(treestore));
      	g_signal_connect(G_OBJECT(render_text), "edited", G_CALLBACK(on_treeview_renamed), view);
      
      	return view;
      }
      
      static void
      create_sidebar(void)
      {
      	GtkWidget 			*scrollwin;
      	GtkWidget 			*toolbar;
      	GtkWidget 			*wid;
      	GtkTreeSelection 	*selection;
      
      	treeview 				= create_view_and_model();
      	sidebar_vbox 			= gtk_vbox_new(FALSE, 0);
      	sidebar_vbox_bars 		= gtk_vbox_new(FALSE, 0);
      	selection 				= gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
      	addressbar 				= gtk_entry_new();
      	filter 					= gtk_entry_new();
      	scrollwin 				= gtk_scrolled_window_new(NULL, NULL);
      
      	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
      
      	toolbar = gtk_toolbar_new();
      	gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar), GTK_ICON_SIZE_MENU);
      	gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
      
      	wid = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_GO_UP));
      	gtk_widget_set_tooltip_text(wid, _("Go up"));
      	g_signal_connect(wid, "clicked", G_CALLBACK(on_button_go_up), NULL);
      	gtk_container_add(GTK_CONTAINER(toolbar), wid);
      
      	wid = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH));
      	gtk_widget_set_tooltip_text(wid, _("Refresh"));
      	g_signal_connect(wid, "clicked", G_CALLBACK(on_button_refresh), NULL);
      	gtk_container_add(GTK_CONTAINER(toolbar), wid);
      
      	wid = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_HOME));
      	gtk_widget_set_tooltip_text(wid, _("Home"));
      	g_signal_connect(wid, "clicked", G_CALLBACK(on_button_go_home), NULL);
      	gtk_container_add(GTK_CONTAINER(toolbar), wid);
      
      	wid = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_JUMP_TO));
      	gtk_widget_set_tooltip_text(wid, _("Set path from document"));
      	g_signal_connect(wid, "clicked", G_CALLBACK(on_button_current_path), NULL);
      	gtk_container_add(GTK_CONTAINER(toolbar), wid);
      
      	wid = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_DIRECTORY));
      	gtk_widget_set_tooltip_text(wid, _("Track path"));
      	g_signal_connect(wid, "clicked", G_CALLBACK(treebrowser_track_current), NULL);
      	gtk_container_add(GTK_CONTAINER(toolbar), wid);
      
      	wid = GTK_WIDGET(gtk_tool_button_new_from_stock(GTK_STOCK_CLOSE));
      	gtk_widget_set_tooltip_text(wid, _("Hide bars"));
      	g_signal_connect(wid, "clicked", G_CALLBACK(on_button_hide_bars), NULL);
      	gtk_container_add(GTK_CONTAINER(toolbar), wid);
      
      	gtk_container_add(GTK_CONTAINER(scrollwin), 			treeview);
      	gtk_box_pack_start(GTK_BOX(sidebar_vbox_bars), 			filter, 			FALSE, TRUE,  1);
      	gtk_box_pack_start(GTK_BOX(sidebar_vbox_bars), 			addressbar, 		FALSE, TRUE,  1);
      	gtk_box_pack_start(GTK_BOX(sidebar_vbox_bars), 			toolbar, 			FALSE, TRUE,  1);
      
      	gtk_widget_set_tooltip_text(filter,
      		_("Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' reverse try for example this '!;*.c;*.h;*.cpp'"));
      	if (gtk_check_version(2, 15, 2) == NULL)
      	{
      		ui_entry_add_clear_icon(GTK_ENTRY(filter));
      		g_signal_connect(filter, "icon-release", G_CALLBACK(on_filter_clear), NULL);
      	}
      
      	gtk_widget_set_tooltip_text(addressbar,
      		_("Addressbar for example '/projects/my-project'"));
      
      	if (CONFIG_SHOW_BARS == 2)
      	{
      		gtk_box_pack_start(GTK_BOX(sidebar_vbox), 				scrollwin, 			TRUE,  TRUE,  1);
      		gtk_box_pack_start(GTK_BOX(sidebar_vbox), 				sidebar_vbox_bars, 	FALSE, TRUE,  1);
      	}
      	else
      	{
      		gtk_box_pack_start(GTK_BOX(sidebar_vbox), 				sidebar_vbox_bars, 	FALSE, TRUE,  1);
      		gtk_box_pack_start(GTK_BOX(sidebar_vbox), 				scrollwin, 			TRUE,  TRUE,  1);
      	}
      
      	g_signal_connect(selection, 		"changed", 				G_CALLBACK(on_treeview_changed), 				NULL);
      	g_signal_connect(treeview, 			"button-press-event", 	G_CALLBACK(on_treeview_mouseclick), 			selection);
      	g_signal_connect(treeview, 			"row-activated", 		G_CALLBACK(on_treeview_row_activated), 			NULL);
      	g_signal_connect(treeview, 			"row-collapsed", 		G_CALLBACK(on_treeview_row_collapsed), 			NULL);
      	g_signal_connect(treeview, 			"row-expanded", 		G_CALLBACK(on_treeview_row_expanded), 			NULL);
      	g_signal_connect(treeview, 			"key-press-event", 		G_CALLBACK(on_treeview_keypress), 			NULL);
      	g_signal_connect(addressbar, 		"activate", 			G_CALLBACK(on_addressbar_activate), 			NULL);
      	g_signal_connect(filter, 			"activate", 			G_CALLBACK(on_filter_activate), 				NULL);
      
      	gtk_widget_show_all(sidebar_vbox);
      
      	page_number = gtk_notebook_append_page(GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook),
      							sidebar_vbox, gtk_label_new(_("Tree Browser")));
      
      	showbars(CONFIG_SHOW_BARS);
      }
      
      
      /* ------------------
       * CONFIG DIALOG
       * ------------------ */
      
      static struct
      {
      	GtkWidget *OPEN_EXTERNAL_CMD;
      	GtkWidget *OPEN_TERMINAL;
      	GtkWidget *REVERSE_FILTER;
      	GtkWidget *ONE_CLICK_CHDOC;
      	GtkWidget *SHOW_HIDDEN_FILES;
      	GtkWidget *HIDE_OBJECT_FILES;
      	GtkWidget *SHOW_BARS;
      	GtkWidget *CHROOT_ON_DCLICK;
      	GtkWidget *FOLLOW_CURRENT_DOC;
      	GtkWidget *ON_DELETE_CLOSE_FILE;
      	GtkWidget *ON_OPEN_FOCUS_EDITOR;
      	GtkWidget *SHOW_TREE_LINES;
      	GtkWidget *SHOW_BOOKMARKS;
      	GtkWidget *SHOW_ICONS;
      	GtkWidget *OPEN_NEW_FILES;
      } configure_widgets;
      
      static void
      load_settings(void)
      {
      	GKeyFile *config 	= g_key_file_new();
      
      	g_key_file_load_from_file(config, CONFIG_FILE, G_KEY_FILE_NONE, NULL);
      
      	CONFIG_OPEN_EXTERNAL_CMD 		=  utils_get_setting_string(config, "treebrowser", "open_external_cmd", 	CONFIG_OPEN_EXTERNAL_CMD_DEFAULT);
      	CONFIG_OPEN_TERMINAL 				= utils_get_setting_string(config, "treebrowser", "open_terminal", CONFIG_OPEN_TERMINAL_DEFAULT);
      	CONFIG_REVERSE_FILTER 			= utils_get_setting_boolean(config, "treebrowser", "reverse_filter", 		CONFIG_REVERSE_FILTER);
      	CONFIG_ONE_CLICK_CHDOC 			= utils_get_setting_boolean(config, "treebrowser", "one_click_chdoc", 		CONFIG_ONE_CLICK_CHDOC);
      	CONFIG_SHOW_HIDDEN_FILES 		= utils_get_setting_boolean(config, "treebrowser", "show_hidden_files", 	CONFIG_SHOW_HIDDEN_FILES);
      	CONFIG_HIDE_OBJECT_FILES 		= utils_get_setting_boolean(config, "treebrowser", "hide_object_files", 	CONFIG_HIDE_OBJECT_FILES);
      	CONFIG_SHOW_BARS 				= utils_get_setting_integer(config, "treebrowser", "show_bars", 			CONFIG_SHOW_BARS);
      	CONFIG_CHROOT_ON_DCLICK 		= utils_get_setting_boolean(config, "treebrowser", "chroot_on_dclick", 		CONFIG_CHROOT_ON_DCLICK);
      	CONFIG_FOLLOW_CURRENT_DOC 		= utils_get_setting_boolean(config, "treebrowser", "follow_current_doc", 	CONFIG_FOLLOW_CURRENT_DOC);
      	CONFIG_ON_DELETE_CLOSE_FILE 	= utils_get_setting_boolean(config, "treebrowser", "on_delete_close_file", 	CONFIG_ON_DELETE_CLOSE_FILE);
      	CONFIG_ON_OPEN_FOCUS_EDITOR		= utils_get_setting_boolean(config, "treebrowser", "on_open_focus_editor", 	CONFIG_ON_OPEN_FOCUS_EDITOR);
      	CONFIG_SHOW_TREE_LINES 			= utils_get_setting_boolean(config, "treebrowser", "show_tree_lines", 		CONFIG_SHOW_TREE_LINES);
      	CONFIG_SHOW_BOOKMARKS 			= utils_get_setting_boolean(config, "treebrowser", "show_bookmarks", 		CONFIG_SHOW_BOOKMARKS);
      	CONFIG_SHOW_ICONS 				= utils_get_setting_integer(config, "treebrowser", "show_icons", 			CONFIG_SHOW_ICONS);
      	CONFIG_OPEN_NEW_FILES			= utils_get_setting_boolean(config, "treebrowser", "open_new_files",		CONFIG_OPEN_NEW_FILES);
      
      	g_key_file_free(config);
      }
      
      static gboolean
      save_settings(void)
      {
      	GKeyFile 	*config 		= g_key_file_new();
      	gchar 		*config_dir 	= g_path_get_dirname(CONFIG_FILE);
      	gchar 		*data;
      
      	g_key_file_load_from_file(config, CONFIG_FILE, G_KEY_FILE_NONE, NULL);
      	if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0)
      	{
      		g_free(config_dir);
      		g_key_file_free(config);
      		return FALSE;
      	}
      
      	g_key_file_set_string(config, 	"treebrowser", "open_external_cmd", 	CONFIG_OPEN_EXTERNAL_CMD);
      	g_key_file_set_string(config, 	"treebrowser", "open_terminal", 	CONFIG_OPEN_TERMINAL);
      	g_key_file_set_boolean(config, 	"treebrowser", "reverse_filter", 		CONFIG_REVERSE_FILTER);
      	g_key_file_set_boolean(config, 	"treebrowser", "one_click_chdoc", 		CONFIG_ONE_CLICK_CHDOC);
      	g_key_file_set_boolean(config, 	"treebrowser", "show_hidden_files", 	CONFIG_SHOW_HIDDEN_FILES);
      	g_key_file_set_boolean(config, 	"treebrowser", "hide_object_files", 	CONFIG_HIDE_OBJECT_FILES);
      	g_key_file_set_integer(config, 	"treebrowser", "show_bars", 			CONFIG_SHOW_BARS);
      	g_key_file_set_boolean(config, 	"treebrowser", "chroot_on_dclick", 		CONFIG_CHROOT_ON_DCLICK);
      	g_key_file_set_boolean(config, 	"treebrowser", "follow_current_doc", 	CONFIG_FOLLOW_CURRENT_DOC);
      	g_key_file_set_boolean(config, 	"treebrowser", "on_delete_close_file", 	CONFIG_ON_DELETE_CLOSE_FILE);
      	g_key_file_set_boolean(config, 	"treebrowser", "on_open_focus_editor", 	CONFIG_ON_OPEN_FOCUS_EDITOR);
      	g_key_file_set_boolean(config, 	"treebrowser", "show_tree_lines", 		CONFIG_SHOW_TREE_LINES);
      	g_key_file_set_boolean(config, 	"treebrowser", "show_bookmarks", 		CONFIG_SHOW_BOOKMARKS);
      	g_key_file_set_integer(config, 	"treebrowser", "show_icons", 			CONFIG_SHOW_ICONS);
      	g_key_file_set_boolean(config,	"treebrowser", "open_new_file",			CONFIG_OPEN_NEW_FILES);
      
      	data = g_key_file_to_data(config, NULL, NULL);
      	utils_write_file(CONFIG_FILE, data);
      	g_free(data);
      
      	g_free(config_dir);
      	g_key_file_free(config);
      
      	return TRUE;
      }
      
      static void
      on_configure_response(GtkDialog *dialog, gint response, gpointer user_data)
      {
      
      	if (! (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY))
      		return;
      
      	CONFIG_OPEN_EXTERNAL_CMD 	= gtk_editable_get_chars(GTK_EDITABLE(configure_widgets.OPEN_EXTERNAL_CMD), 0, -1);
      	CONFIG_OPEN_TERMINAL     	= gtk_editable_get_chars(GTK_EDITABLE(configure_widgets.OPEN_TERMINAL), 0, -1);
      	CONFIG_REVERSE_FILTER 		= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.REVERSE_FILTER));
      	CONFIG_ONE_CLICK_CHDOC 		= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.ONE_CLICK_CHDOC));
      	CONFIG_SHOW_HIDDEN_FILES 	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.SHOW_HIDDEN_FILES));
      	CONFIG_HIDE_OBJECT_FILES 	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.HIDE_OBJECT_FILES));
      	CONFIG_SHOW_BARS 			= gtk_combo_box_get_active(GTK_COMBO_BOX(configure_widgets.SHOW_BARS));
      	CONFIG_CHROOT_ON_DCLICK 	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.CHROOT_ON_DCLICK));
      	CONFIG_FOLLOW_CURRENT_DOC 	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.FOLLOW_CURRENT_DOC));
      	CONFIG_ON_DELETE_CLOSE_FILE = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.ON_DELETE_CLOSE_FILE));
      	CONFIG_ON_OPEN_FOCUS_EDITOR	= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.ON_OPEN_FOCUS_EDITOR));
      	CONFIG_SHOW_TREE_LINES 		= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.SHOW_TREE_LINES));
      	CONFIG_SHOW_BOOKMARKS 		= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.SHOW_BOOKMARKS));
      	CONFIG_SHOW_ICONS 			= gtk_combo_box_get_active(GTK_COMBO_BOX(configure_widgets.SHOW_ICONS));
      	CONFIG_OPEN_NEW_FILES		= gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(configure_widgets.OPEN_NEW_FILES));
      
      	if (save_settings() == TRUE)
      	{
      #if GTK_CHECK_VERSION(2, 10, 0)
      		gtk_tree_view_set_enable_tree_lines(GTK_TREE_VIEW(treeview), CONFIG_SHOW_TREE_LINES);
      #endif
      		treebrowser_chroot(addressbar_last_address);
      		if (CONFIG_SHOW_BOOKMARKS)
      			treebrowser_load_bookmarks();
      		showbars(CONFIG_SHOW_BARS);
      	}
      	else
      		dialogs_show_msgbox(GTK_MESSAGE_ERROR,
      			_("Plugin configuration directory could not be created."));
      }
      
      GtkWidget*
      plugin_configure(GtkDialog *dialog)
      {
      	GtkWidget 		*label;
      	GtkWidget 		*vbox, *hbox;
      
      	vbox 	= gtk_vbox_new(FALSE, 0);
      	hbox 	= gtk_hbox_new(FALSE, 0);
      
      	label 	= gtk_label_new(_("External open command"));
      	configure_widgets.OPEN_EXTERNAL_CMD = gtk_entry_new();
      	gtk_entry_set_text(GTK_ENTRY(configure_widgets.OPEN_EXTERNAL_CMD), CONFIG_OPEN_EXTERNAL_CMD);
      	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
      	gtk_widget_set_tooltip_text(configure_widgets.OPEN_EXTERNAL_CMD,
      		_("The command to execute when using \"Open with\". You can use %f and %d wildcards.\n"
      		  "%f will be replaced with the filename including full path\n"
      		  "%d will be replaced with the path name of the selected file without the filename"));
      	gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 6);
      	gtk_box_pack_start(GTK_BOX(hbox), configure_widgets.OPEN_EXTERNAL_CMD, FALSE, FALSE, 0);
      	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 6);
      
      	hbox = gtk_hbox_new(FALSE, 0);
      	label = gtk_label_new(_("Terminal"));
      	configure_widgets.OPEN_TERMINAL = gtk_entry_new();
      	gtk_entry_set_text(GTK_ENTRY(configure_widgets.OPEN_TERMINAL), CONFIG_OPEN_TERMINAL);
      	gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
      	gtk_widget_set_tooltip_text(configure_widgets.OPEN_TERMINAL,
      		_("The terminal to use with the command \"Open Terminal\""));
      	gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 6);
      	gtk_box_pack_start(GTK_BOX(hbox), configure_widgets.OPEN_TERMINAL, FALSE, FALSE, 0);
      	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 6);
      
      	hbox = gtk_hbox_new(FALSE, 0);
      	label = gtk_label_new(_("Toolbar"));
      	configure_widgets.SHOW_BARS = gtk_combo_box_text_new();
      	gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT(configure_widgets.SHOW_BARS), _("Hidden"));
      	gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT(configure_widgets.SHOW_BARS), _("Top"));
      	gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT(configure_widgets.SHOW_BARS), _("Bottom"));
      	gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 6);
      	gtk_box_pack_start(GTK_BOX(hbox), configure_widgets.SHOW_BARS, FALSE, FALSE, 0);
      	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 6);
      	gtk_widget_set_tooltip_text(configure_widgets.SHOW_BARS,
      		_("If position is changed, the option require plugin restart."));
      	gtk_combo_box_set_active(GTK_COMBO_BOX(configure_widgets.SHOW_BARS), CONFIG_SHOW_BARS);
      
      	hbox = gtk_hbox_new(FALSE, 0);
      	label = gtk_label_new(_("Show icons"));
      	configure_widgets.SHOW_ICONS = gtk_combo_box_text_new();
      	gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT(configure_widgets.SHOW_ICONS), _("None"));
      	gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT(configure_widgets.SHOW_ICONS), _("Base"));
      	gtk_combo_box_text_append_text( GTK_COMBO_BOX_TEXT(configure_widgets.SHOW_ICONS), _("Content-type"));
      	gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 6);
      	gtk_box_pack_start(GTK_BOX(hbox), configure_widgets.SHOW_ICONS, FALSE, FALSE, 0);
      	gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 6);
      	gtk_combo_box_set_active(GTK_COMBO_BOX(configure_widgets.SHOW_ICONS), CONFIG_SHOW_ICONS);
      
      	configure_widgets.SHOW_HIDDEN_FILES = gtk_check_button_new_with_label(_("Show hidden files"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.SHOW_HIDDEN_FILES), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.SHOW_HIDDEN_FILES), CONFIG_SHOW_HIDDEN_FILES);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.SHOW_HIDDEN_FILES, FALSE, FALSE, 0);
      	gtk_widget_set_tooltip_text(configure_widgets.SHOW_HIDDEN_FILES,
      		_("On Windows, this just hide files that are prefixed with '.' (dot)"));
      
      	configure_widgets.HIDE_OBJECT_FILES = gtk_check_button_new_with_label(_("Hide object files"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.HIDE_OBJECT_FILES), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.HIDE_OBJECT_FILES), CONFIG_HIDE_OBJECT_FILES);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.HIDE_OBJECT_FILES, FALSE, FALSE, 0);
      	gtk_widget_set_tooltip_text(configure_widgets.HIDE_OBJECT_FILES,
      		_("Don't show generated object files in the file browser, this includes *.o, *.obj. *.so, *.dll, *.a, *.lib"));
      
      	configure_widgets.REVERSE_FILTER = gtk_check_button_new_with_label(_("Reverse filter"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.REVERSE_FILTER), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.REVERSE_FILTER), CONFIG_REVERSE_FILTER);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.REVERSE_FILTER, FALSE, FALSE, 0);
      
      	configure_widgets.FOLLOW_CURRENT_DOC = gtk_check_button_new_with_label(_("Follow current document"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.FOLLOW_CURRENT_DOC), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.FOLLOW_CURRENT_DOC), CONFIG_FOLLOW_CURRENT_DOC);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.FOLLOW_CURRENT_DOC, FALSE, FALSE, 0);
      
      	configure_widgets.ONE_CLICK_CHDOC = gtk_check_button_new_with_label(_("Single click, open document and focus it"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.ONE_CLICK_CHDOC), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.ONE_CLICK_CHDOC), CONFIG_ONE_CLICK_CHDOC);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.ONE_CLICK_CHDOC, FALSE, FALSE, 0);
      
      	configure_widgets.CHROOT_ON_DCLICK = gtk_check_button_new_with_label(_("Double click open directory"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.CHROOT_ON_DCLICK), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.CHROOT_ON_DCLICK), CONFIG_CHROOT_ON_DCLICK);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.CHROOT_ON_DCLICK, FALSE, FALSE, 0);
      
      	configure_widgets.ON_DELETE_CLOSE_FILE = gtk_check_button_new_with_label(_("On delete file, close it if is opened"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.ON_DELETE_CLOSE_FILE), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.ON_DELETE_CLOSE_FILE), CONFIG_ON_DELETE_CLOSE_FILE);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.ON_DELETE_CLOSE_FILE, FALSE, FALSE, 0);
      
      	configure_widgets.ON_OPEN_FOCUS_EDITOR = gtk_check_button_new_with_label(_("Focus editor on file open"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.ON_OPEN_FOCUS_EDITOR), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.ON_OPEN_FOCUS_EDITOR), CONFIG_ON_OPEN_FOCUS_EDITOR);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.ON_OPEN_FOCUS_EDITOR, FALSE, FALSE, 0);
      
      	configure_widgets.SHOW_TREE_LINES = gtk_check_button_new_with_label(_("Show tree lines"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.SHOW_TREE_LINES), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.SHOW_TREE_LINES), CONFIG_SHOW_TREE_LINES);
      #if GTK_CHECK_VERSION(2, 10, 0)
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.SHOW_TREE_LINES, FALSE, FALSE, 0);
      #endif
      
      	configure_widgets.SHOW_BOOKMARKS = gtk_check_button_new_with_label(_("Show bookmarks"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.SHOW_BOOKMARKS), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.SHOW_BOOKMARKS), CONFIG_SHOW_BOOKMARKS);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.SHOW_BOOKMARKS, FALSE, FALSE, 0);
      
      	configure_widgets.OPEN_NEW_FILES = gtk_check_button_new_with_label(_("Open new files"));
      	gtk_button_set_focus_on_click(GTK_BUTTON(configure_widgets.OPEN_NEW_FILES ), FALSE);
      	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(configure_widgets.OPEN_NEW_FILES ), CONFIG_OPEN_NEW_FILES);
      	gtk_box_pack_start(GTK_BOX(vbox), configure_widgets.OPEN_NEW_FILES , FALSE, FALSE, 0);
      
      	gtk_widget_show_all(vbox);
      
      	g_signal_connect(dialog, "response", G_CALLBACK(on_configure_response), NULL);
      
      	return vbox;
      }
      
      
      /* ------------------
       * GEANY HOOKS
       * ------------------ */
      
      static void
      project_change_cb(G_GNUC_UNUSED GObject *obj, G_GNUC_UNUSED GKeyFile *config, G_GNUC_UNUSED gpointer data)
      {
      	gchar *uri;
      
      	uri = get_default_dir();
      	treebrowser_chroot(uri);
      	g_free(uri);
      }
      
      static void kb_activate(guint key_id)
      {
      	gtk_notebook_set_current_page(GTK_NOTEBOOK(geany->main_widgets->sidebar_notebook), page_number);
      	switch (key_id)
      	{
      		case KB_FOCUS_FILE_LIST:
      			gtk_widget_grab_focus(treeview);
      			break;
      
      		case KB_FOCUS_PATH_ENTRY:
      			gtk_widget_grab_focus(addressbar);
      			break;
      
      		case KB_RENAME_OBJECT:
      			treebrowser_rename_current();
      			break;
      
      		case KB_CREATE_FILE:
      			treebrowser_create_new_current("file");
      			break;
      
      		case KB_CREATE_DIR:
      			treebrowser_create_new_current("directory");
      			break;
      
      		case KB_REFRESH:
      			on_menu_refresh(NULL, NULL);
      			break;
      	}
      }
      
      void
      plugin_init(GeanyData *data)
      {
      	GeanyKeyGroup *key_group;
      
      	CONFIG_FILE = g_strconcat(geany->app->configdir, G_DIR_SEPARATOR_S, "plugins", G_DIR_SEPARATOR_S,
      		"treebrowser", G_DIR_SEPARATOR_S, "treebrowser.conf", NULL);
      
      	flag_on_expand_refresh = FALSE;
      
      	load_settings();
      	create_sidebar();
      	treebrowser_chroot(get_default_dir());
      
      	/* setup keybindings */
      	key_group = plugin_set_key_group(geany_plugin, "file_browser", KB_COUNT, NULL);
      
      	keybindings_set_item(key_group, KB_FOCUS_FILE_LIST, kb_activate,
      		0, 0, "focus_file_list", _("Focus File List"), NULL);
      	keybindings_set_item(key_group, KB_FOCUS_PATH_ENTRY, kb_activate,
      		0, 0, "focus_path_entry", _("Focus Path Entry"), NULL);
      	keybindings_set_item(key_group, KB_RENAME_OBJECT, kb_activate,
      		0, 0, "rename_object", _("Rename Object"), NULL);
      	keybindings_set_item(key_group, KB_CREATE_FILE, kb_activate,
      		0, 0, "create_file", _("Create New File"), NULL);
      	keybindings_set_item(key_group, KB_CREATE_DIR, kb_activate,
      		0, 0, "create_dir", _("Create New Directory"), NULL);
      	keybindings_set_item(key_group, KB_REFRESH, kb_activate,
      		0, 0, "rename_refresh", _("Refresh"), NULL);
      
      	plugin_signal_connect(geany_plugin, NULL, "document-activate", TRUE,
      		(GCallback)&treebrowser_track_current_cb, NULL);
      }
      
      void
      plugin_cleanup(void)
      {
      	g_free(addressbar_last_address);
      	g_free(CONFIG_FILE);
      	g_free(CONFIG_OPEN_EXTERNAL_CMD);
      	g_free(CONFIG_OPEN_TERMINAL);
      	gtk_widget_destroy(sidebar_vbox);
      }
      geany-plugins-1.27/treebrowser/README0000644000175000017500000000332212671261352017743 0ustar00frlanfrlan00000000000000.. |(version)| replace:: 0.20
      
      TreeBrowser plugin
      ==================
      
      .. contents::
      
      
      About
      =====
      
      The TreeBrowser plugin for Geany provides an alternate way to browse through
      your files. It displays files and directories in a tree view and has more
      features than the file browser plugin delivered with Geany itself.
      
      
      Features
      ========
      
      * Project following
      * Basic filesystem functionality
      * GTK bookmarks support
      * Keybindings
      * Filterable list
      * Show content-type icons
      
      
      Requirements
      ============
      * GTK >= 2.8.0
      * GIO >= 2.0 (optional)
      * Geany >= 0.17
      
      
      Usage
      =====
      
      After compiling and/or installing TreeBrowser, start Geany and go to menu
      Tools->Plugin Manager and set checkbox at TreeBrowser plugin
      
      
      FAQ
      ===
      
      * My base directory is not remember
      	Yes it isn`t saved, and I don`t think that it have to be saved while We have in Geany "Startup path", and "Load from the last session"
      	These settings are useful and the plugin take care about them, use them and the problem with the last directory remembering will be solved.
      
      
      Download Source
      ===============
      
      Development Source Tarbal: https://github.com/geany/geany-plugins/archive/master.zip
      
      TreeBrowser is part of the combined Geany Plugins release. For more information and downloads, please visit http://plugins.geany.org/
      
      
      Installation
      ============
      
       The plugin is part from the geany-plugins projects, you can see the plugin`s install page at http://plugins.geany.org/install.html
      
      
      License
      =======
      
      TreeBrowser plugin is distrubuted under the same license as and geany.
      
      
      Ideas, questions, patches and bug reports
      =========================================
      
      Report them at https://github.com/geany/geany-plugins/issues
      
      --
      2010 Adrian Dimitrov
      dimitrov(dot)adrian(at)gmail(dot)com
      geany-plugins-1.27/po/0000755000175000017500000000000012671261441015135 5ustar00frlanfrlan00000000000000geany-plugins-1.27/po/kk.po0000644000175000017500000047706512671261352016126 0ustar00frlanfrlan00000000000000# Kazakh translation for geany plugins.
      # Copyright (C) 2015 The Geany team
      # This file is distributed under the same license as the Geany plugins package.
      # Baurzhan Muftakhidinov , 2015.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2015-11-02 21:45+0500\n"
      "Last-Translator: Baurzhan Muftakhidinov \n"
      "Language-Team: Kazakh \n"
      "Language: kk\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=1; plural=0;\n"
      "X-Generator: Poedit 1.8.5\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Бос жол)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "Бетбелгіні ө_шіру"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "Жоқ."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Құрамасы"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Бетбелгілер"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "_Жаңарту"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Хабарламалар терезесін жасыру"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Файл"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Жол"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Түрі"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Тапсырма"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Тапсырмалар"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr "Қабылдау"
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Болдырмау"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr "ОК"
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr ""
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Б_асқа құжаттарды жабу"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "Бар_лығын жабу"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr ""
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr ""
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr ""
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "Плагиннің баптаулар бумасын жасау мүмкін емес."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr "Жақшалар ( )"
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr "Пішінді жақша { }"
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr "Тік жақша [ ]"
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr "Тырнақша \" \""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr "Бірлік тырнақша ' '"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      msgid "Move cursor to beginning"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Enclose selections"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr ""
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      msgid "Reset to Default"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Жөндеу"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "Аты"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "Мәні"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr ""
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr "Қарап шығу"
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr ""
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr ""
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr ""
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr ""
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Орналасуы"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr ""
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr ""
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:523
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr ""
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Адресі"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Функция"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "Мақсат"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr ""
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr ""
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "Тоқтату"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "Қайта қосу"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr ""
      
      #: ../debugger/src/keys.c:57
      msgid "Jump to the current instruction"
      msgstr ""
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "Жөнелту"
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "Баптаулар"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "Жалғастыру"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Құжаттама"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Үлкейту"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Кішірейту"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Іздеу"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr ""
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Кітап"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Бет:"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Кілт сөз"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "Макрос"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_Файл"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "Тү_зету"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "_Түрі"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "Ө_ту"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "_Көмек"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "Жаңа тере_зе"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "Жаңа _бет"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "Бас_паға шығару…"
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Келесісін табу"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Алдыңғысын табу"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr ""
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "Қалы_пты өлшемі"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Толық экраннан шығу"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr ""
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Үлкенірек"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Кішірек"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Іздеу:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Ізделетін мәтіннің алдыңғы кездесуін табу"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Ізделетін мәтіннің келесі кездесуін табу"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "Р_егистрге тәуелді іздеу"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:149
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (бумада: %s)"
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "Іздеу"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      msgid "pattern"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "Р_егистрге тәуелді"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      msgid "_Declaration"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      msgid "Generate tags"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Келесісін табу"
      
      #: ../geanyctags/src/geanyctags.c:658
      msgid "Find tag"
      msgstr ""
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      msgid "Convert selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr ""
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "Жалпы"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Тіл"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Барлығы"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Дайындау..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Пішімдеу"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Тізімдер"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Математика"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Авторы"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Бөлім"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Түзетуші"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Журнал"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Кілт"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Ай"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Ескерту"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Нөмір"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Ұйым"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Беттер"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Атауы"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Жыл"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Ортасына қарай"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "Көбірек"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr ""
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Үлгі:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "Үнсіз келісім бойынша"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Мақала"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Презентация"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Кодталуы:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Авторы:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Күні:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Атауы:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Арнайы таңбаларды алмастыру"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr ""
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr ""
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "Пі_шім"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Сызықша таңбалары"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Көлбеу"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Жуан"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Асты сызылған"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "Үлкен"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr ""
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr ""
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Файлды таңдаңыз"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Шолу..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Түсті таңдаңыз"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Таңдау..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Қаріпті таңдау"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Таңдау..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Tab"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Жаңа жол"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:152
      msgid "Set start of search to beginning of selection"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Макрос"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Жазып алу"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_ОК"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr "Ба_с тарту"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr ""
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr ""
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Мәтін:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr ""
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "Оқиға"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "Ж_оғары апару"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "Ө_шіру"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr ""
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr ""
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "таңдалған"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr "Еле_меу"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to start of line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      msgid "Move to End of line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "Шифрлеу"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "Қолтаңба"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr ""
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr ""
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Кілттік фраза"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "белгісіз"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "ешқашан"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr ""
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Белгісіз"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "жаман"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "иә"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "жоқ"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Қолтаңба"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Жаңа жоба"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "Жаса_у"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Аты:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Орналасуы:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Негізгі жолы:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Жобаның басты орналасу жолын көрсетіңіз"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Түрі:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "Жо_ба"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Жобаны өшіру"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Файлды қосу"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Баптаулар"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Жобадан табу"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Файлды өшіру"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Бү_йір панелін жасыру"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Жоба"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "\"%s\" жобасы ашылды."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:44
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "Пошта"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr ""
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Күйі"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Жолы"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "Қай_тару"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr ""
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr ""
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr ""
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr ""
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      msgid "Failed to paste the code"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:701
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      msgid "_Removed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr "Түстер"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      msgid "Go to the previous hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      msgid "Go to the next hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      msgid "Remove _Unique Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "(Бос жол)"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Опциялар"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "Опциялар"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Орны:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Бүйір панелі"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr ""
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Қаріп:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr ""
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      msgid "Move to message window"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      msgid "Move to sidebar"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      msgid "Open Tab"
      msgstr "Бетті ашу"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      msgid "Open Window"
      msgstr "Терезені ашу"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr "Келесі бет"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      msgid "Previous tab"
      msgstr "Алдыңғы бет"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      msgid "Show Tabs"
      msgstr "Беттерді көрсету"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      msgid "New terminal"
      msgstr "Жаңа терминал"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr "MultiTerm"
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, c-format
      msgid "Unable to write default config file: %s"
      msgstr ""
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      msgid "Terminal"
      msgstr "Терминал"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      msgid "Close terminal"
      msgstr ""
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      msgid "Show Overview"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr "Ені:"
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      msgid "Position on left"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      msgid "Hide tooltip"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "Опциялар"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr "Түс:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      msgid "Toggle current translation fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      msgid "Show statistics of the current document"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr "Аударылған:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr "Дәлсіз:"
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr "Аударылмаған:"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Аударылған: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Дәлсіз: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Аударылмаған: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Түсіндірмелер"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Туралау"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "CDATA"
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Шегіну"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Space"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid "Project Organizer"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      msgid "Find in Project Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      msgid "Find Project File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Жобадан табу"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Жобадан табу"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      msgid "Index all project files:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "Yes"
      msgstr "Иә"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      msgid "No"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      msgid "project or external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      msgid "Add External Directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      msgid "Add"
      msgstr "Қосу"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      msgid "Find Symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      msgid "Add external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      msgid "Find in Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      msgid "Find File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      msgid "Find Symbol..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      msgid "Remove External Directory"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "_Көбірек"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "_Терезе"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr "Бастапқы кодын қ_арау"
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr "_Бақылау"
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "_Негізгі"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "Іске _асыру"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "Жады"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr "Бағдарлама"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr "Display"
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "И_мпорттау"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "Жазық қылу"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      msgid "breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:98
      msgid "hardware breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:99
      msgid "tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr ""
      
      #: ../scope/src/break.c:142
      msgid "Run to Cursor"
      msgstr ""
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr ""
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr ""
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr ""
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr ""
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr ""
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr ""
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr ""
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Буманы таңдау"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Файлды таңдау"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr ""
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr ""
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr ""
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr ""
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr ""
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr ""
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr ""
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "Бос емес"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "Дайын"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "Консоль"
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr ""
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr ""
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr ""
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "Орындалуда"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "Тоқтатылған"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr ""
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr ""
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr ""
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "_Жіберу"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr ""
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr ""
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Ағымдағы құжаттың емлесін тексереді."
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Буманы таңдау"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:294
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:330
      msgid "Check spelling when opening a document"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Қосымша..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Барлығын елемеу"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      msgid "LaTeX"
      msgstr "LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr "HTML"
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr "SQL"
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr ""
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr ""
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(Бос)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Бапталған '%s' сыртқы командасын орындау мүмкін емес (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Орналасу жолын құжаттан орнату"
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Жаңарту"
      
      #: ../treebrowser/src/treebrowser.c:1234
      msgid "_Find in Files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Атын өзгерту"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Өшіру"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Жасырын файлдарды көрсету"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Үй"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "\"Көмегімен ашу\" кезінде қолданылатын команда. Сіз %f және %d үлгілерін "
      "қолдана аласыз.\n"
      "%f файл атымен, толық орналасу жолымен қоса, алмастырылады\n"
      "%d таңдалған файлдың толық орналасу жолымен, сол файлдың атауына дейін, "
      "алмастырылады"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "Саймандар панелі"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "Жасырын"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "Жоғарыдан"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "Төменнен"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "Ешнәрсе"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2053
      msgid "Open new files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "Файлдар тізіміне фокусты орнату"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr "Жол өрісіне фокусты орнату"
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr "Жаңартуларға тексеру"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "ешнәрсе"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "қалыпты"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr ""
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      msgid "Bookmark this website"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Масштаб"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Артқа"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "Forward"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      msgid "List of bookmarks"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr ""
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr "Терезелер"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      geany-plugins-1.27/po/pt.po0000644000175000017500000074523212671261352016136 0ustar00frlanfrlan00000000000000# Portuguese translations for geany-plugins.
      # Copyright (C) 2009 - 2015 THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # André Glória, 2009 - 2011
      # Pedro Albuquerque , 2015, 2016.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-03-09 03:19+0000\n"
      "PO-Revision-Date: 2016-03-09 16:13+0000\n"
      "Last-Translator: Pedro Albuquerque \n"
      "Language-Team: Português \n"
      "Language: pt\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=2; plural=(n != 1);\n"
      "X-Generator: Gtranslator 2.91.6\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(linha vazia)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "_Remover marcador"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "Não."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Conteúdo"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:623
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Marcadores"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2349
      msgid "_Update"
      msgstr "At_ualizar"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Ocultar janela de mensagens"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Ficheiro"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Linha"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Tipo"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Tarefa"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Tarefas"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Contexto:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "Etiquetas XML"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Nome da etiqueta a ser inserida:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "%s será substituído na sua seleção atual. Por favor, tenha em atenção o que "
      "tem selecionado"
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Abrir URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Copiar URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr "Caracteres de inclusão"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr "Aceitar"
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Cancelar"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr "Aceitar"
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "Atalho para inclusão %d"
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "Carácter de abertura"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "Carácter de fecho"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Fec_har os outros documentos"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "Fechar _todos"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Mostrar lista de documentos"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Caminho de ficheiro \"%s\" copiado para a área de transferência"
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:317
      msgid "Copy File Path"
      msgstr "Copiar caminho do ficheiro"
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Copiar o caminho do atual documento para a área de transferência."
      
      #: ../addons/src/addons.c:52
      msgid "Addons"
      msgstr "Extensões"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Várias pequenas extensões para o Geany."
      
      #: ../addons/src/addons.c:308
      msgid "Focus Bookmark List"
      msgstr "Focar a lista de favoritos"
      
      #: ../addons/src/addons.c:310
      msgid "Focus Tasks List"
      msgstr "Focar a lista de tarefas"
      
      #: ../addons/src/addons.c:312
      msgid "Update Tasks List"
      msgstr "Atualizar lista de tarefas"
      
      #: ../addons/src/addons.c:314
      msgid "Run XML tagging"
      msgstr "Concluir etiquetas XML"
      
      #: ../addons/src/addons.c:432 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:123
      #: ../geanysendmail/src/geanysendmail.c:288 ../geanyvc/src/geanyvc.c:1849
      #: ../geniuspaste/src/geniuspaste.c:311 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1937
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr "A pasta de configuração da extensão não pôde ser criada."
      
      #: ../addons/src/addons.c:460
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      "Ativar o ícone na barra de ferramentas para mostrar a lista de documentos "
      "atualmente abertos"
      
      #: ../addons/src/addons.c:464
      msgid "Sort documents by _name"
      msgstr "Ordenar documentos por _nome"
      
      #: ../addons/src/addons.c:466
      msgid "Sort the documents in the list by their filename"
      msgstr "Ordena os documentos na lista pelo seu nome de ficheiro"
      
      #: ../addons/src/addons.c:469
      msgid "Sort documents by _occurrence"
      msgstr "Ordenar documentos por _ocorrência"
      
      #: ../addons/src/addons.c:471
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Ordena os documentos pela ordem dos separadores do documento"
      
      #: ../addons/src/addons.c:474
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Ordenar documentos por _ocorrência (invertido)"
      
      #: ../addons/src/addons.c:476
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      "Ordena os documentos pela ordem dos separadores do documento (invertido)"
      
      #: ../addons/src/addons.c:503
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Mostrar item \"Abrir URI\" no menu do editor"
      
      #: ../addons/src/addons.c:509
      msgid "Show available Tasks in the Messages Window"
      msgstr "Mostrar tarefas existentes na janela de mensagens"
      
      #: ../addons/src/addons.c:515
      msgid "Show tasks of all documents"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../addons/src/addons.c:519
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Se devem ser mostradas na lista as tarefas de todos os documentos abertos ou "
      "só as do documento atual."
      
      #: ../addons/src/addons.c:526
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      "Especifique uma lista separada por ponto e vírgula dos símbolos a procurar."
      
      #: ../addons/src/addons.c:528
      msgid "Search tokens:"
      msgstr "Símbolos a procurar:"
      
      #: ../addons/src/addons.c:545
      msgid "Show status icon in the Notification Area"
      msgstr "Mostrar ícone de estado na área de notificação"
      
      #: ../addons/src/addons.c:551
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Mostrar marcadores (linhas marcadas) na barra lateral"
      
      #: ../addons/src/addons.c:557
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      "Marcar todas as ocorrências de uma palavra sobre a qual faça duplo-clique"
      
      #: ../addons/src/addons.c:563
      msgid "Strip trailing blank lines"
      msgstr "Remover linhas vazias finais"
      
      #: ../addons/src/addons.c:569
      msgid "XML tagging for selection"
      msgstr "Etiquetas XML para seleção"
      
      #: ../addons/src/addons.c:575
      msgid "Enclose selection on configurable keybindings"
      msgstr "Incluir seleção entre símbolos configuráveis"
      
      #: ../addons/src/addons.c:579
      msgid "Configure enclose pairs"
      msgstr "Configurar pares de inclusão"
      
      #: ../addons/src/addons.c:587
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr "Incluir seleção automaticamente (sem ter de premir um símbolo)"
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr "Fechar automaticamente"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      "Fechar automaticamente chavetas e parênteses com muitas funcionalidades"
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr "Fecho automático de aspas e parênteses"
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr "Parênteses ( )"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr "Fecho automático de parênteses \"(\" -> \"(|)\""
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr "Chavetas { }"
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr "Fecho automático de chavetas \"{\" -> \"{|}\""
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr "Parênteses retos [ ]"
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Fecho automático de parênteses retos \"[\" -> \"[|]\""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr "Parênteses angulares < >"
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr "Fecho automático de parênteses angulares \"<\" -> \"<|>\""
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr "\tSó para HTML"
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr "Fecho automático de parênteses angulares só em documentos HTML"
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr "Aspas \" \""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr "Fecho automático de aspas \" -> \"|\""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr "Pelicas ' '"
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr "Fecho automático de pelicas ' -> '|'"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr "Acento grave ` `"
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr "Fecho automático de acentos graves ` -> `|`"
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr "\tSó para scripts de consola (Bash)"
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr "Fecho automático de acentos graves só em scripts de consola como Bash"
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr "Melhora a conclusão de chavetas"
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr "Indentar ao incluir"
      
      #: ../autoclose/src/autoclose.c:1058
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      "Se selecionar algum texto e premir \"{\" ou \"}\", a extensão vai fechar "
      "automaticamente as linhas selecionadas e criar novo bloco indentado.\n"
      "Não precisa de selecionar o bloco com precisão - a inclusão em bloco só leva "
      "em conta linhas."
      
      #: ../autoclose/src/autoclose.c:1063
      msgid "Move cursor to beginning"
      msgstr "Mover cursor para o início"
      
      #: ../autoclose/src/autoclose.c:1064
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      "Se marcou \"Indentar ao incluir\", mover o cursor para o início pode ser "
      "útil: normalmente cria um novo bloco e precisa de criar nova declaração "
      "antes deste bloco."
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr "Indentação automática melhorada"
      
      #: ../autoclose/src/autoclose.c:1068
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      "Indentação automática melhorada para chavetas: digite \"{\" e prima Enter - "
      "a extensão cria um bloco completo indentado. Funciona sem a caixa \"Fecho "
      "automático de { }\" estar marcada."
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr "\tEstilo Whitesmith"
      
      #: ../autoclose/src/autoclose.c:1072
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      "Este estilo põe a chaveta associada a uma declaração de controlo na linha "
      "seguinte, indentada. Declarações entre chavetas são indentadas para o mesmo "
      "nível das chavetas."
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr "Apagar pares de caracteres ao apagar o primeiro"
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      "Marque a caixa se quiser apagar o par do carácter ao premir Recuo "
      "(BackSpace)."
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr "Suprimir conclusão dupla"
      
      #: ../autoclose/src/autoclose.c:1081
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      "Marque a caixa se quiser permitir que o editor repare erros com parênteses: "
      "se digitar \"{}\" obtém \"{}\", e não \"{}}\"."
      
      #: ../autoclose/src/autoclose.c:1083
      msgid "Enclose selections"
      msgstr "Incluir seleções"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      "Incluir automaticamente texto selecionado premindo só uma tecla de "
      "parênteses."
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr "Manter seleção ao incluir"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr "Manter o texto previamente selecionado após a inclusão."
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr "Comportamento dentro de comentários e cadeias"
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr "Permitir fecho automático em cadeias e comentários"
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      "Marque a caixa se também quiser manter o fecho automático em cadeias e "
      "comentários."
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr "Incluir seleções em cadeias e comentários"
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      "Marque a caixa se também quiser incluir seleções dentro de cadeias e "
      "comentários."
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr "Conclusão automática com \";\" em funções"
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      "Conclusão total em funções (só funciona em C/C++): digite \"sin(\" e obtém "
      "\"sin(|);\"."
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr "Shift+BackSpace também remove pares de chavetas"
      
      #: ../autoclose/src/autoclose.c:1100
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      "Remove chavetas esquerda e direita ao premir Shift+BackSpace.\n"
      "Sugestão: para remover completamente um bloco indentado use Shift+BackSpace "
      "na 1ª \"{\" ou última \"}\"."
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr "Com Tab, saltar para o carácter de inclusão"
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr "Saltar por trás de itens fechados automaticamente ao premir Tab."
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr "Marcar automaticamente"
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark word under cursor"
      msgstr "Marcar automaticamente a palavra sob o cursor"
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Navegar pelo código"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      "Esta extensão adiciona funcionalidades para facilitar a navegação entre "
      "ficheiros fonte."
      
      #: ../codenav/src/codenavigation.c:138
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      "As listas Codenav head/impl deviam ter sido do mesmo tamanho. O Geany vai "
      "usar a configuração predefinida."
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:395 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Alternar cabeçalho/implementação"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr "Pode especificar múltiplas extensões separando-as com vírgulas."
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr "Extensões de implementações"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "Extensões de cabeçalho"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr "Repor predefinição"
      
      #: ../codenav/src/codenavigation.c:546
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      "Tem a certeza que quer eliminar todas as línguas e repor as predefinições?\n"
      "Esta ação não pode ser desfeita."
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr "Ir para ficheiro..."
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr "Ir para ficheiro"
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr "Insira o ficheiro que quer abrir:"
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "%s não encontrado, criá-lo?"
      
      #: ../commander/src/commander-plugin.c:42
      msgid "Commander"
      msgstr "Commander"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      "Fornece um painel de comandos para acesso rápido a ações, ficheiros e mais."
      
      #: ../commander/src/commander-plugin.c:751
      msgid "Show Command Panel"
      msgstr "Mostrar painel de comando"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "Depurador"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr "Integração de vários depuradores"
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Depuração"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Nome"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Valor"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "Escolha o ficheiro destino"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Destino:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "Explorar"
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "Depurador:"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "Argumentos de linha de comandos"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Variáveis de ambiente"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:259 ../debugger/src/envtree.c:365
      #: ../debugger/src/debug.c:263
      msgid "Delete variable?"
      msgstr "Eliminar variável?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Localização"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Condição"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "Contar ocorrências"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "linha %i"
      
      #: ../debugger/src/dbm_gdb.c:522
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "O programa recebeu o sinal %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:543
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "O programa saiu com o código \"%i\""
      
      #: ../debugger/src/dbm_gdb.c:707
      msgid "Failed to spawn gdb process"
      msgstr "Falha ao iniciar o processo gdb"
      
      #: ../debugger/src/dbm_gdb.c:754
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"A carregar ficheiro destino.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:754
      msgid "Error loading file"
      msgstr "Erro ao ler ficheiro"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:759 ../debugger/src/dbm_gdb.c:762
      #: ../debugger/src/dbm_gdb.c:765
      msgid "Error configuring GDB"
      msgstr "Erro ao configurar o GDB"
      
      #: ../debugger/src/dbm_gdb.c:805
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "Ponto de quebra em %s:%i não pode ser definido\n"
      "Mensagem do depurador: %s"
      
      #: ../debugger/src/utils.c:67
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "Impossível encontrar ficheiro fonte \"%s\""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr "Moldura ativa"
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr "Clique numa seta para mudar de moldura"
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr "Linha %i"
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Endereço"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Função"
      
      #: ../debugger/src/tabs.c:131
      msgid "Target"
      msgstr "Destino"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Pontos de quebra"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr "Observação"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr "Autos"
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr "Chamar pilha"
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "Consola de depuração"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Mensagens do depurador"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Executar/Continuar"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Parar"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "Reiniciar"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr "Avançar para dentro"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr "Avançar sobre"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr "Avançar para fora"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr "Executar até ao cursor"
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Adicionar/Remover ponto de quebra"
      
      #: ../debugger/src/keys.c:56
      msgid "Jump to the current instruction"
      msgstr "Saltar para a instrução atual"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "Impossível avaliar expressão"
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr "Para editar o código fonte pare a sessão de depuração"
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Executar"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Preferências"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Modo de duplo painel"
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr "Continuar"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "Gravar dados da sessão de depuração de um projeto"
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr "Definir formatação"
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      "Alinhar automaticamente barras esquerdas (\\) em definições multi-linha"
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Documentação"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "Código"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr "Procurar por documentação de 'Etiqueta' em"
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Devhelp"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Páginas do manual"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Recuar uma página"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Avançar uma página"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Ampliar"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Reduzir"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Procurar"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Procurar documentação de '%s' em"
      
      #: ../devhelp/src/dhp-plugin.c:44
      msgid "Devhelp Plugin"
      msgstr "Extensão Devhelp"
      
      #: ../devhelp/src/dhp-plugin.c:45
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      "Adiciona suporte para procurar documentação no Devhelp, páginas do manual  e "
      "no pesquisador de código do Google integrado na janela."
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Impossível criar pasta de configuração em  '%s'"
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Impossível ler configuração predefinida: %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Impossível escrever configuração predefinida: %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr "Alternar separador Conteúdos na barra lateral"
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr "Alternar separador Procura na barra lateral"
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr "Alternar separador Documentação"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "Ativar todos os separadores"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr "Procurar a etiqueta atual no Devhelp"
      
      #: ../devhelp/src/dhp-plugin.c:185
      msgid "Search for current tag in Manual Pages"
      msgstr "Procurar a etiqueta atual nas páginas do manual"
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr "Devhelp — assistente"
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Livro:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1783
      msgid "Book"
      msgstr "Livro"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Página"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Palavra chave"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr "Struct"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "Macro"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr "Enum"
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr "Esperado '%s', obtido '%s' na linha %d, coluna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr "Espaço de nome inválido '%s' na linha %d, coluna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      "Os elementos \"title\", \"name\" e \"link\" são requeridos na linha %d, "
      "coluna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      "Os elementos \"name\" e \"link\" são requeridos dentro de  na linha %d, "
      "coluna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      "Os elementos \"name\" e \"link\" são requeridos dentro de '%s' na linha %d, "
      "coluna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      "O elemento \"type\" é requerido dentro de  na linha %d, coluna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr "Impossível descomprimir o livro '%s': %s"
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr "Todos os livros"
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr "Procurar em:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr "Pedro Albuquerque "
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr "Um navegador de ajuda ao programador para GNOME"
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2061
      msgid "_File"
      msgstr "_Ficheiro"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "_Editar"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "_Ver"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "_Ir"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "Aj_uda"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "_Nova janela"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "Novo _separador"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "Im_primir..."
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Localizar seguinte"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Localizar anterior"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "Ir para a página anterior"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Ir para a página seguinte"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "Separador _Conteúdo"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "_Separador Procurar"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "Texto _maior"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Aumenta o tamanho do texto"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "Texto m_enor"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Reduz o tamanho do texto"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "Tamanho _normal"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Usar o tamanho normal de texto"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Sair do modo Ecrã completo"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "Mostrar em ecrã completo"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Maior"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Menor"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "Acerca do Devhelp"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Preferências..."
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "Erro ao abrir a ligação pedida."
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "Página vazia"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Localizar:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Localizar ocorrência anterior da cadeia de procura"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Localizar ocorrência seguinte da cadeia de procura"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "Sensível a  m_aiúsculas"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr "Alternar procura sensível a maiúsculas"
      
      #: ../geanyctags/src/geanyctags.c:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Geração de ctags e extensão de procura para projetos Geany"
      
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (na pasta: %s)"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr "Falha na execução do processo (%s)"
      
      #: ../geanyctags/src/geanyctags.c:515
      msgid "Find Tag"
      msgstr "Localizar etiqueta"
      
      #: ../geanyctags/src/geanyctags.c:526
      msgid "_Search for:"
      msgstr "_Procurar por:"
      
      #: ../geanyctags/src/geanyctags.c:544
      msgid "_Match type:"
      msgstr "Co_mparar tipo:"
      
      #: ../geanyctags/src/geanyctags.c:549
      #: ../projectorganizer/src/prjorg-sidebar.c:476
      msgid "exact"
      msgstr "exato"
      
      #: ../geanyctags/src/geanyctags.c:550
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "prefix"
      msgstr "prefixo"
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "pattern"
      msgstr "padrão"
      
      #: ../geanyctags/src/geanyctags.c:560
      #: ../projectorganizer/src/prjorg-sidebar.c:155
      #: ../projectorganizer/src/prjorg-sidebar.c:499
      msgid "C_ase sensitive"
      msgstr "Sensível a  m_aiúsculas"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:502
      msgid "_Declaration"
      msgstr "_Declaração"
      
      #: ../geanyctags/src/geanyctags.c:630
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Localizar declaração da etiqueta (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:635
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Localizar definição da etiqueta (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:644 ../geanyctags/src/geanyctags.c:649
      msgid "Generate tags"
      msgstr "Gerar etiquetas"
      
      #: ../geanyctags/src/geanyctags.c:651
      msgid "Find tag..."
      msgstr "Localizar etiqueta..."
      
      #: ../geanyctags/src/geanyctags.c:656
      msgid "Find tag"
      msgstr "Localizar etiqueta"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Executar o visualizador de documentação sobre o símbolo atual."
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:425
      msgid "Could not parse the output of command"
      msgstr "Impossível processar a saída do comando"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Colocar saída em memória"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Comando 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Comando 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w será substituído pela palavra atual\n"
      
      #: ../geanydoc/src/geanydoc.c:439
      msgid "Document current word"
      msgstr "Palavra atual do documento"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document interactive"
      msgstr "Interativo com o documento"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Seleção extra"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr "Modo Coluna, selecionar até à linha/chaveta/âncora."
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "Seleções E_xtra"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "Modo _coluna"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "Modo Coluna"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr "Selecionar até à _linha"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "Selecionar até à linha"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Selecionar até à chaveta _correspondente"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Selecionar até à chaveta correspondente"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr "Al_ternar cadeia/retângular"
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr "Converter seleção"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr "_Definir âncora"
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr "Definir âncora"
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr "Selecion_ar até à âncora"
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr "Selecionar até à âncora"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr "_Retângulo Selecionar até à âncora"
      
      #: ../geanyextrasel/src/extrasel.c:553
      msgid "Rectangle select to anchor"
      msgstr "Retângulo Selecionar até à âncora"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "valor booliano"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "valor booliano \"%s\" inválido"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "modelo inválido: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "nome da posição"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "posição \"%s\" inválida"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "nome da política"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "política \"%s\" inválida"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "política de união"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr "política de união \"%s\" inválida"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "tipo"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "tipo \"%s\" inválido"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "nome de definição \"%s\" inválido"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr "identificador de definição"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Tipo \"%s\" desconhecido, é um erro de dactilografia?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr "identificador de correspondência"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr "identificador de correspondência está vazio"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "identificador de tipo de documentação"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "tipo de documentação"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "expressão regular inválida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "descrição de ambiente inválida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr "definição"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "nome da secção"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "secção \"%s\" duplicada"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "nome da secção \"%s\" inválido "
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "a entrada está vazia"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "Aviso do analisador: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "Erro no analisador: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Etiqueta inválida"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      "Ficheiro de configuração de tipos de ficheiros para a linguagem \"%s\" não "
      "encontrado: %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      "Falha ao carregar tipo de ficheiro \"%s\" a partir do ficheiro \"%s\" : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:56
      msgid "Documentation Generator"
      msgstr "Gerador de documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "Gera a base da documentação a partir do código fonte"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Impossível carregar a configuração: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Impossível gravar a configuração: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      "Falha ao encontrar o ficheiro de configuração para o tipo de ficheiro \"%s"
      "\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:329
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      "# Ainda não existe configuração para este tipo de ficheiro.\n"
      "# Para o criar, basta escrevê-la neste ficheiro e gravá-lo. Para uma "
      "descrição\n"
      "# da sintaxe deste ficheiro, por favor consulte o manual.\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Falha ao carregar o ficheiro \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:414 ../geanygendoc/src/ggd-plugin.c:425
      msgid "Insert Documentation Comment"
      msgstr "Inserir comentário de documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:479
      msgid "_Document Current Symbol"
      msgstr "_Documentar símbolo atual"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "Generate documentation for the current symbol"
      msgstr "Gerar documentação para o símbolo atual"
      
      #: ../geanygendoc/src/ggd-plugin.c:486
      msgid "Document _All Symbols"
      msgstr "Document_ar todos os símbolos"
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Gerar documentação para todos os símbolos do documento ativo"
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "_Reload Configuration Files"
      msgstr "_Recarregar ficheiros de configuração"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Force reloading of the configuration files"
      msgstr "Forçar o recarregamento dos ficheiros de configuração"
      
      #: ../geanygendoc/src/ggd-plugin.c:503
      msgid "_Edit Current Language Configuration"
      msgstr "_Editar a configuração da linguagem ativa"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "Open the current language configuration file for editing"
      msgstr "Abre o ficheiro de configuração da linguagem ativa, para edição"
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "Open _Manual"
      msgstr "Abrir _manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the manual in a browser"
      msgstr "Abrir o manual no navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:519
      msgid "_Documentation Generator"
      msgstr "Gerador de _documentação"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:618
      msgid "General"
      msgstr "Geral"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:623
      msgid "_Save file before generating documentation"
      msgstr "_Gravar ficheiro antes de gerar documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:626
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Se o documento ativo deve ser gravado em disco antes de se gerar a "
      "documentação. Isto é um detalhe técnico, atualmente necessário para manter a "
      "lista de etiquetas atualizada. Caso desative esta opção e tente gerar "
      "documentação a partir de um ficheiro modificado, o resultado será de "
      "espantar dado que o comentário será gerado a partir do último estado gravado "
      "do ficheiro e não a partir do estado atual."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:636
      msgid "_Indent inserted documentation"
      msgstr "_Indentar a documentação inserida"
      
      #: ../geanygendoc/src/ggd-plugin.c:638
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Se a documentação inserida deve ser indentada para coincidir com a "
      "indentação presente no ponto de inserção."
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:645
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo de documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:655
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "Escolha o tipo de documentação a usar para cada tipo de ficheiro. A "
      "linguagem especial \"All\" no topo da lista é usada para escolher o tipo de "
      "documentação por omissão, usado em todas as linguagens para as quais um tipo "
      "não tenha sido definido."
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:661
      msgid "Global environment"
      msgstr "Ambiente global"
      
      #: ../geanygendoc/src/ggd-plugin.c:663
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "Sobreposições e adições do ambiente global. Este ambiente será unido com os "
      "específicos para cada tipo de ficheiro."
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "O ficheiro \"%s\" existe mas não é um ficheiro regular"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: ficheiro ou pasta inexistentes"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "Falha ao redimensionar a memória de saída"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      "A expressão regular para processar argumentos não obteve correspondência (a "
      "lista de argumentos foi: \"%s\")"
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "Falha ao adicionar um ambiente global, a ignorar: %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "Impossível gerar comentário: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "Não existe documentação de tipo \"%s\" para a linguagem \"%s\"."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      "Nenhuma definição é aplicável ao símbolo \"%s\"  do tipo \"%s\"  na linha "
      "%lu."
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "Nenhuma etiqueta válida na linha %d."
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr "Sem etiquetas no documento"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Opção desconhecida"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      "Opção ou proxy inválidos: ou a propriedade do proxy ou o tipo da opção é "
      "incompatível."
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "Valor de tipo desconhecido para entrada no ficheiro de chaves %s::%s"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr "Erro ao recolher entrada do ficheiro de chaves %s::%s: %s"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Linguagem"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr "Alterar o tipo de do_cumentação associado"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr "Remover associação de tipo de _documentação"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Todos"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      "Tipo de documentação predefinido para todas as linguagens que não tenham um "
      "definido"
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:484
      msgid "Insert Numbers"
      msgstr "Inserir números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "Inserir/Preencher colunas com números."
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "A contar..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "A preparar..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "A inserir..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "Para base 11 e acima"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "_Iniciar:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "_Passo:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Letras:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "S_uperior"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "Inf_erior"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "_Prefixo de base"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 para octal, 0x para hexadecimal, + para decimal positivo"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Espaçamento:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Esp_aço"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "_Zero"
      
      #: ../geanyinsertnum/src/insertnum.c:477
      msgid "Insert _Numbers"
      msgstr "Inserir _números"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Ambientes"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Formatação"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Estrutura do documento"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Listas"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Matemática"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Inserir ambiente"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Ambiente:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "Impossível determinar onde inserir o pacote: %s\n"
      "Por favor tente inserir o pacote manualmente."
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr "Impossível determinar onde inserir o pacote: %s"
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Artigo (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Livro (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr "Folheto (@Booklet)"
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Conferência (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr "Parte de livro (@Inbook)"
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr "Parte de coleção (@Incollection)"
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr "Artigo de conferência (@Inproceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr "Manual (@Manual)"
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "Tese de mestrado (@Mastersthesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr "Diversos (@Misc)"
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr "Tese de doutoramento (@PhdThesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr "Procedimentos (@Proceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr "Relatório técnico (@Techreport)"
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "Não publicado (@Unpublished)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr "Anotação"
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Autor"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr "Título do livro"
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Capítulo"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr "Referência cruzada"
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Edição"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "Imprimir"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr "Como foi publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Instituição"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Diário"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Chave"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Mês"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Nota"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Número"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organização"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Páginas"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "Escola"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Série"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Título"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "Endereço da Internet"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Volume"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Ano"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Morada do editor"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr "Anotação para estilos bibliográficos com notas"
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "Nomes dos autores, separados por 'e' quando mais do que um"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "Título do livro, se só parte dele estiver a ser citada"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Número do capítulo"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr "Chave de citação da referência cruzada"
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "Edição do livro (ex. \"Primeira\" ou \"Segunda\")"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "Nomes dos editores, separados por 'e' quando mais do que um"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "Especificação de publicação eletrónica"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "Método de publicação, se este não for padrão"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "Instituição envolvida na publicação"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "Jornal ou revista em que o trabalho foi publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      "Campo oculto, usado para especificar ou sobrescrever a ordem alfabética das "
      "entradas"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr "Mês da publicação ou criação, caso ainda não esteja publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Informação extra diversa"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "Número do jornal, revista ou relatório técnico"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "Patrocinador da conferência"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "Números de página separados por vírgulas ou dois hífenes  "
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Nome do editor"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "Escola onde a tese foi escrita"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "Série na qual o livro foi publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Título do trabalho"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Tipo de relatório técnico"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Endereço na Internet"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Número do volume"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "Ano da publicação ou criação, caso ainda não esteja publicado"
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr "Estende o suporte LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:115
      msgid "Runs LaTeX wizard"
      msgstr "Executa o assistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Coloca texto selecionado a itálico"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Coloca texto selecionado a negrito"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Sublinha o texto selecionado"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centrado"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Alinhado à esquerda"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Alinhado à direita"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "Usar o script KOMA por predefinição"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Ativar barra de ferramentas extra da extensão"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr "Frase em maiúsculas ao escrever"
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      "Adicionar um ícone de assistente à barra de ferramentas principal do Geany"
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr "Reduzir seleção ao formatar maiúsculas pequenas (\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr "Não se preocupar com isto dentro da extensão"
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Concluir sempre automaticamente em LateX"
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr "Modo de conclusão automática"
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Inserir rótulo"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Nome do rótulo:"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Inserir comando"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Nome do comando:"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Inserir referência"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Nome da referência"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "_Referência padrão"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Referência de _página"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "_Adicionar ambas"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Mais"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr "Adicionar pacote adicional"
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Nome do pacote:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "Opções do pacote:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr "Inserir referência BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr "Nome da referência BibTeX:"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Caro Senhor ou Senhora"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "Melhores cumprimentos"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "Nenhum modelo atribuído. A abortar"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      msgid "LaTeX-Wizard"
      msgstr "Assistente LaTeX"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Modelo:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr "Definir o modelo que deve ser usado na criação de um novo documento"
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr "Predefinição"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "Classe de documento:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Escolha o tipo de documento que quer escrever"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Artigo"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Relatório"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Carta"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Apresentação"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Codificação: "
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "Defina a codificação para o novo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr "Tamanho da letra"
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr "Defina o tamanho predefinido da letra do novo documento"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr "Autor:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Defina o valor do comando \\author. Na maioria dos casos, deve colocar o seu "
      "nome"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr "Data:"
      
      #: ../geanylatex/src/geanylatex.c:1859
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "Define o valor do comando \\date dentro do cabeçalho do seu documento LaTeX "
      "acabado de criar. Manter o valor em \\today é uma boa decisão, caso não "
      "necessite de uma data fixa."
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr "Título:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr "Define o título do seu novo documento."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "Tamanho do papel:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr "Escolha o formato do papel para o seu novo documento"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr "Orientação do papel:"
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr "Escolha orientação do papel para o seu novo documento"
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "Usar as classes do script KOMA, se possível "
      
      #: ../geanylatex/src/geanylatex.c:1925
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "Usa as classes do script KOMA da autoria de Markus Kohm.\n"
      "Nota: para compilar o documento, estas classes têm de estar previamente "
      "instaladas."
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr "Usar modo de rascunho"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "Ativa o modo de rascunho em novos documentos para obter maior verbosidade na "
      "depuração de erros"
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "Executar o assistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "Inserir \\label"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "Inserir \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "Inserir quebra de linha \\\\"
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Inserir comando"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr "Ativa/Desativa a sobreposição de caracteres"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Substituir caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr "Executar diálogo Inserir ambientes"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "Inserir \\item"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "Formata a seleção como negrito"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Formata a seleção como itálico"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Formata a seleção para tipo de letra romana"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Formata a seleção centrando-a"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Formata a seleção alinhando-a à esquerda"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Formata a seleção alinhando-a à direita"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr "Inserir lista de descrição"
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr "Inserir lista de itens "
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr "Inserir lista de enumeração"
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr "Definir seleção um nível acima"
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr "Definir seleção um nível abaixo"
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "Inserir \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr "Inserir diálogo de referências BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2011
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTex é uma extensão que melhora o suporte de LaTeX no Geany.\n"
      "\n"
      "Por favor, reporte todas as falhas ou pedidos de funcionalidades a um dos "
      "autores."
      
      #: ../geanylatex/src/geanylatex.c:2049
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      "glatex_set_autocompletion_contextsize foi inicializada com um valor "
      "inválido. A usar o valor padrão. Por favor verifique o seu ficheiro de "
      "configurações"
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr "página \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr "\\ref{{{reference}}}, pagina \\pageref{{{reference}}}"
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2130
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2139 ../geanylatex/src/geanylatex.c:2351
      msgid "LaTeX-_Wizard"
      msgstr "Assiste_nte LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2142 ../geanylatex/src/geanylatex.c:2354
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Inicia um assistente para criar facilmente um documento LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2147
      msgid "I_nsert Special Character"
      msgstr "I_nserir carácter especial"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "Helps to use some not very common letters and signs"
      msgstr "Ajuda a usar algumas letras e sinais pouco comuns"
      
      #: ../geanylatex/src/geanylatex.c:2159
      msgid "Insert _Reference"
      msgstr "Inserir _referência"
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Inserting references to the document"
      msgstr "Insere referências no documento"
      
      #: ../geanylatex/src/geanylatex.c:2166
      msgid "Insert _Label"
      msgstr "Inserir rótu_lo"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Helps at inserting labels to a document"
      msgstr "Ajuda a inserir rótulos no documento"
      
      #: ../geanylatex/src/geanylatex.c:2174
      msgid "Insert _Environment"
      msgstr "Ins_erir ambiente"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Helps at inserting an environment a document"
      msgstr "Ajuda a inserir um ambiente no documento"
      
      #: ../geanylatex/src/geanylatex.c:2182
      msgid "Insert P_ackage"
      msgstr "Inserir p_acote"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      "Um pequeno diálogo para inserir \\usepackage{} no cabeçalho do ficheiro atual"
      
      #: ../geanylatex/src/geanylatex.c:2189 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formatar"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2206
      msgid "F_ont size"
      msgstr "Tamanh_o da letra"
      
      #: ../geanylatex/src/geanylatex.c:2224
      msgid "_Special Character Replacement"
      msgstr "_Substituição de caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:2232
      msgid "Bulk _Replace Special Characters"
      msgstr "Substituição de ca_racteres especiais em massa"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "Substitui os caracteres especiais selecionados por _expressões do TeX"
      
      #: ../geanylatex/src/geanylatex.c:2242
      msgid "Toggle _Special Character Replacement"
      msgstr "Alternar _substituição de caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:2253
      msgid "Insert _Command"
      msgstr "Inserir _comando"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Inserting customized command to document"
      msgstr "Insere um comando personalizado no documento"
      
      #: ../geanylatex/src/geanylatex.c:2280
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2288
      msgid "Insert B_ibTeX reference"
      msgstr "_Inserir referência BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2290
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr "Auxilia a inserção de referências a partir de ficheiros BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2295
      msgid "_BibTeX entries"
      msgstr "Entradas _BibTeX"
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr "Letras LaTeX"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Letras gregas"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Tremas alemães"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Diversos"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Setas"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Relacional"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Operações binárias"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Itálico"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Negrito"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Sublinhado"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Dactilografado"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Maiúsculas pequenas"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "Inclinado"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Enfatizar "
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "Minúsculo"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr "Pequeníssimo"
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "Muito pequeno"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "Pequeno"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "Normal"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "Grande"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "Muito grande"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "Muitíssimo grande"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "Enorme"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "Enormíssimo"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "SO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "IBM 850 code page"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "IBM 852 code page"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "Não definir codificação"
      
      #: ../geanylipsum/src/geanylipsum.c:39
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "Creating dummy text with Geany"
      msgstr "Criar texto fictício com o Geany."
      
      #: ../geanylipsum/src/geanylipsum.c:88
      msgid "Lipsum-Generator"
      msgstr "Gerador de Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Enter the length of Lipsum text here"
      msgstr "Insira a dimensão do texto Lipsum aqui"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:161
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:162
      msgid "Include Pseudotext to your code"
      msgstr "Inclui pseudo-texto no seu código"
      
      #: ../geanylipsum/src/geanylipsum.c:176
      msgid "Insert Lipsum text"
      msgstr "Inserir texto Lipsum"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      " tipo esperado \"%s\" para o argumento #%d\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      " tipo esperado \"%s\" ou \"%s\" para o argumento #%d\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      " tabela inválida no argumento #%d:\n"
      " tipo esperado \"%s\" para elemento #%d\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Script Lua"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Escreva e execute scripts Lua a partir de comandos personalizados."
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Extensão Script Lua"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Erro no script Lua:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Tempo limite do script"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Um script Lua aparenta estar a demorar muito tempo para terminar.\n"
      "Quer continuar a esperar?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Excedido o tempo limite do script."
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(erro o objeto não é uma cadeia de caracteres)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Erro desconhecido dentro do script."
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Memória esgotada."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "Falha ao abrir o script."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Erro desconhecido ao carregar o script."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua "
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: A gerar menu a partir de '%s'\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "Nada para configurar!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "Pode criar o script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "para adicionar o seu diálogo de configuração personalizado."
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Abrir ficheiro"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Selecionar ficheiro"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Explorar..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Selecionar cor"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Escolher..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Selecionar letra"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Selecionar..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função navigate():\n"
      "modo de navegação desconhecido \"%s\" para o argumento #1.\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "Comando da API \"%s\" não implementado.\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "Faltam argumentos para o comando \"%s\".\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "Comando desconhecido \"%s\" dado como argumento #1.\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      " Tabela inválida no argumento #%d:\n"
      " flag desconhecida \"%s\" para o elemento #%d\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "Ficheiro existe"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Tem a certeza que o quer sobrepor?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "confirme"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Gravar ficheiro"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função pickfile():\n"
      "Impossível filtrar a cadeia de caracteres no argumento #3.\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "Esperada a frase \"open\" ou \"save\" como argumento #1.\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: impossível carregar a biblioteca de suporte %s!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: falha ao inicializar a biblioteca de suporte %s!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      "%s: disparidade na versão da biblioteca de suporte: %s para %s (devia ser "
      "%s)!\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      "%s: disparidade na biblioteca de suporte ABI: %d para %s (devia ser %d)!\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: impossível encontrar a biblioteca de suporte %s!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "A extensão %s não carregou corretamente.\n"
      "Por favor verifique a sua instalação."
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010"
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "widget \"%s\"  não encontrado para argumento #1.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s() argumento #2:\n"
      "widget \"%s\" não tem nenhum sinal atribuído \"%s\".\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Cortar para a área de transferência"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "Copiar para a área de transferência"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Colar da área de transferência"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Cortar linha atual para a área de transferência"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Copiar a linha atual para a área de transferência"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "Eliminar carácter à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "Eliminar carácter à direita"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "Eliminar carácter à esquerda (mas sem nova linha)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "Eliminar até ao início da palavra à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "Eliminar até ao início da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "Eliminar até ao fim da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "Eliminar até ao início da linha"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "Eliminar até ao fim da linha"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Eliminar linha atual"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr "Tab reverso (apaga a tabulação se não houver nada a seguir)"
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "Rolar uma linha abaixo"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "Rolar uma linha acima"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr "Ampliar a vista"
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr "Reduzir a vista"
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "Mover o cursor para baixo"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "Mover o cursor para cima"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "Mover o cursor à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "Mover o cursor à direita"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "Mover o cursor para o início da palavra à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "Mover o cursor para o início da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr "Mover o cursor para o início de parte da palavra à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr "Mover o cursor para o início de parte da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "Mover o cursor para o início da linha"
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "Mover o cursor para o fim da linha"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr "Mover o cursor para a 1º linha do documento"
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr "Mover o cursor para a última linha do documento"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "Mover o cursor uma página acima"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "Mover o cursor uma página abaixo"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr "Mover o cursor para o 1º carácter visível"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr "Mover o cursor para o último carácter visível"
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      "Mover o cursor para o 1º espaço em branco da linha ou para o 1º carácter da "
      "linha se já estiver no 1º espaço em branco"
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Mover o cursor para o início do parágrafo seguinte"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr "Mover o cursor acima para o princípio do parágrafo atual/anterior"
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr "Mover o cursor para o final da palavra à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr "Mover o cursor para o final da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr "Estender seleção uma linha abaixo"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "Estender seleção uma linha acima"
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "Estender seleção uma linha à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "Estender seleção uma linha à direita"
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Estender seleção até ao início da palavra à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Estender seleção até ao início da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Estender seleção até ao início de parte da palavra à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Estender seleção até ao início de parte da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "Estender seleção até ao início da linha"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "Estender seleção até ao fim da linha"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr "Estender seleção até ao início do documento"
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr "Estender seleção até ao fim do documento"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "Estender seleção uma página acima"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "Estender seleção uma página abaixo"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr "Estender seleção até ao 1º carácter visível"
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr "Estender seleção até ao último carácter visível"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      "Estender seleção para o 1º carácter não-espaço branco da linha ou para o 1º "
      "carácter da linha se já estiver no 1º carácter não-espaço branco"
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Estender seleção até ao início do parágrafo seguinte"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr "Estender seleção acima até ao princípio do parágrafo atual/anterior"
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Estender seleção até ao fim da palavra à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Estender seleção até ao fim da palavra à direita"
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr "Estender seleção retangular uma linha abaixo"
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr "Estender seleção retangular uma linha acima"
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Estender seleção retangular uma linha à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Estender seleção retangular uma linha à direita"
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Estender seleção retangular até ao início da linha"
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Estender seleção retangular até ao fim da linha"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Estender seleção retangular uma página acima"
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Estender seleção retangular uma página abaixo"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      "Estender seleção retangular até ao 1º carácter não-espaço da linha ou até ao "
      "1º da linha se já estiver no 1º carácter não-espaço"
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "Cancelar seleção"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr "Alternar modo Inserir/Sobrescrever"
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Tab"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Nova linha"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr "Inserir/substituir com \"\""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr "Trocar linha atual com a de cima"
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Alterar texto selecionado para minúsculas"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Alterar texto selecionado para maiúsculas"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr "Inserir duplicado da linha atual abaixo"
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      "Inserir duplicado do texto selecionado após a seleção. Se não houver "
      "seleção, duplicar a linha"
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr "Procurar seguinte \"\""
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr "Procurar anterior \"\""
      
      #: ../geanymacro/src/geanymacro.c:152
      msgid "Set start of search to beginning of selection"
      msgstr "Definir início da procura no início da seleção"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Macros"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr "Macros para o Geany"
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr "Sem texto na área de transferência!"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      "Mensagem não reconhecida\n"
      "%i %i %i"
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr "Gravar macros ao fechar o Geany"
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr "Perguntar antes de substituir macros existentes"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr "Ajuda de macros Geany"
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      "Esta extensão implementa macros no Geany.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr "Esta extensão permite-lhe gravar e usar as suas próprias macros."
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      "Estas são sequências de ações que podem ser repetidas com uma única "
      "combinação de teclas."
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      "Assim, se tiver dúzias de linhas onde quer eliminar os últimos dois "
      "caracteres, pode simplesmente começar a gravar, premir End, Recuo, Recuo, "
      "linha abaixo e depois parar de gravar."
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      "A seguir é só ativar a macro e ela vai automaticamente editar a linha e "
      "mover-se para a seguinte."
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr "Selecione Gravar macro no menu Ferramentas e verá um diálogo."
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      "Tem de especificar uma combinação de teclas que não esteja em uso e um nome "
      "para a macro para o ajudar a identificá-la."
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr "Depois prima Gravar."
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      "Tudo aquilo que fizer no editor é gravado até que selecione Parar gravação "
      "da macro, no menu Ferramentas."
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr "Premindo a combinação especificada vai voltar a executar a macro."
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      "Para editar as macros que tem, selecione Editar macro, no menu Ferramentas."
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr "Pode selecionar uma macro e apagá-la ou voltar a gravá-la."
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      "Também pode clicar no nome de uma macro e alterá-lo ou clicar na combinação "
      "de teclas e redefini-la, desde que não esteja já em uso."
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      "Selecionar a opção de edição permite-lhe ver todos os elementos individuais "
      "que constituem a macro."
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      "Pode selecionar um comando diferente para cada elemento, movê-los, adicionar "
      "novos elementos ou, se for inserir/substituir, pode editar o texto que "
      "substitui a seleção ou que é inserido.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      "A única coisa a ter presente é que as ações de desfazer e refazer não são "
      "gravadas e não serão reproduzidas quando executar a macro.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      "Pode alterar o comportamento predefinido desta extensão selecionando Gestor "
      "de eXtensões no menu Ferramentas, selecionando depois a extensão e clicando "
      "em Preferências."
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr "Pode alterar:\n"
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      "Gravar macros ao fechar o Geany - se estiver marcada o Geany grava quaisquer "
      "macros e recarrega-as para uso no próximo arranque do Geany. Se não, as "
      "macros perdem-se ao fechar o Geany.\n"
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      "Perguntar antes de substituir macros existentes - se estiver marcada e "
      "tentar gravar uma macro por cima de outra já existente, é-lhe dada a opção "
      "de tentar um nome ou uma combinação de teclas diferente. Se não, vai "
      "simplesmente apagar quaisquer macros existentes com o mesmo nome ou com a "
      "mesma combinação de teclas."
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "Gravar Macro"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Gravar"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "Acionador da macro:"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "Nome da macro:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Macro com o nome \"%s\"\n"
      "já se encontra em uso.\n"
      "Substituir?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Combinação para macro \"%s\"\n"
      "já se encontra em uso.\n"
      "Substituir?"
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr "Procura %s, a procurar por %s%s%s.%s%s%s%s%s"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Opções de procura:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_Aceitar"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:299
      msgid "_Cancel"
      msgstr "_Cancelar"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "Procurar para a frente"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Procurar para trás"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "Procurar por conteúdos da área de transferência"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:127
      #: ../projectorganizer/src/prjorg-sidebar.c:453
      msgid "Search for:"
      msgstr "Procurar por:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "A procura é sensível a maiúsculas"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Procurar por palavra completa"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Procurar por início da palavra"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "O texto de procura é expressão regular"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "O texto de procura é compatível com POSIX"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr "Editar texto Inserir/Substituir"
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Texto:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr "Inserir/Substituir por \"%s\""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "Editar: %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "Evento"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "Mover a_cima"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "Mover abai_xo"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr "Novo _acima"
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr "Novo a_baixo"
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "_Eliminar"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "Editar macros"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "Nome da macro"
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr "Combinação de teclas"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr "_Regravar"
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "Gravar _macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "Terminar a gravação da _macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "_Editar macros"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      "GMS : extensão de filtro Geany Mini-Script\n"
      "Esta extensão serve para aplicar um filtro de script em:\n"
      "   o seleção de texto,\n"
      "   o documento atual,\n"
      "   o todos os documentos da sessão atual.\n"
      "\n"
      "O tipo de filtro pode ser:\n"
      "   o script de consola Unix,\n"
      "   o script perl,\n"
      "   o script python,\n"
      "   o comandos sed,\n"
      "   o script awk.\n"
      "\n"
      "AUTOR\n"
      "   Escrito por Pascal BURLOT (Dezembro,2008)\n"
      "\n"
      "LICENÇA:\n"
      "Este programa é gratuito; pode redistribuí-lo\n"
      "e/ou modificá-lo nos termos da GNU \n"
      "General Public License como publicado pela Free\n"
      "Software Foundation; seja a versão 2 da Licença,\n"
      "ou (por sua opção) qualquer versão posterior."
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr "Carregar ficheiro Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr "Gravar ficheiro Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr "Filtro Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr "Limpar a janela mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr "Carregar um mini-script nesta janela"
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr "Gravar o mini-script num ficheiro"
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr "Mostrar informação sobre a extensão mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr "Selecionar o tipo de mini-script"
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr "Entrada do filtro"
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr "Selecione a entrada do filtro mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "seleção"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "documento"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "sessão"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr "Saída do filtro"
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr "Selecionar a saída do filtro mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "doc. atual"
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr "novo doc."
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr "configuração do script"
      
      #: ../geanyminiscript/src/gms.c:57
      msgid "Mini Script"
      msgstr "Mini Script"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      "Uma ferramenta para aplicar um filtro em script a uma seleção de texto ou "
      "aos documentos atuais"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, um utilizador do  Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:248
      msgid "_Mini-Script"
      msgstr "_Mini-script"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr "Favoritos numerados para o Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      "Impossível aplicar todos os marcadores a '%s' por estarem todos em uso."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr "_Aceitar"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:974
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      "'%s' foi editado desde a última vez que o geany o gravou. Marcadores de "
      "posição podem estar incorretos e não serão carregados.\n"
      "Clique Ignorar para os carregar na mesma."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr "_Ignorar"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr "lembrar o estado da dobra"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr "Centrar vista ao ir para um marcador"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "Mover para o início da linha"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr "Mover para posição lembrada na linha"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr "Mover para posição na linha atual"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "Mover para o fim da linha"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr "Gravar definições do ficheiro com as definições do programa"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr "Gravar definições do ficheiro em ficheiro com nome com sufixo"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr "Lembrar marcadores normais"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr "Ajuda de Favoritos numerados"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1277
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      "Esta extensão implementa marcadores numerados no Geany, assim como memória "
      "do estado das dobras e posições de marcadores não numerados quando um "
      "ficheiro é gravado.\n"
      "\n"
      "Permite utilizar até 10 marcadores numerados. Para definir um marcador "
      "numerado prima Ctrl+Shift+ um úmero de 0 a 9. Verá aparecer um marcador "
      "próximo do nº da linha. Se premir Ctrl+Shift+nº numa linha que já tenha esse "
      "número de marcador ele é removido, senão move o marcador para aí se estiver "
      "definido noutra linha ou cria um novo se ainda não existir. Só será mostrado "
      "o marcador numerado mais recentemente definido, mas pode ter mais de um "
      "marcador por linha. Para mover um marcador anteriormente definido, prima Ctrl"
      "+nº de 0 a 9."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      msgid "Unable to apply markers as all being used."
      msgstr "Impossível aplicar marcadores por estarem todos em uso."
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "erro ao criar um ficheiro temporário"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      "A chave com ID de utilizador \"%s\" tem validade \"%s\".\n"
      "\n"
      "AVISO: NÃO é certo que a chave pertença à pessoa nomeada pela ID de "
      "utilizador.\n"
      "\n"
      "Tem *realmente* a certeza que quer usar esta chave?"
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      "Nenhum destinatário foi selecionado,\n"
      "usar cifra simétrica?"
      
      #: ../geanypg/src/geanypg.c:36
      msgid "gpg encryption plugin for geany"
      msgstr "Extensão de encriptação GPG para Geany"
      
      #: ../geanypg/src/geanypg.c:38
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:46
      msgid "Using libgpgme version:"
      msgstr "A usar libgpgme com versão:"
      
      #: ../geanypg/src/geanypg.c:58 ../geanypg/src/geanypg.c:59
      msgid "Error from"
      msgstr "Erro de"
      
      #: ../geanypg/src/geanypg.c:84
      msgid "Encrypt"
      msgstr "Encriptar"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Sign"
      msgstr "Assinar"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Decrypt / Verify"
      msgstr "Desencriptar/Verificar"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Verify detached signature"
      msgstr "Verificar assinatura dissociada"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Por favor selecione destinatários"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Assinar a mensagem como:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Selecionar destinatários"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "Escolha a chave com a qual quer assinar:"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "Selecionar assinante"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "Impossível usar pinentry."
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "O comando pinentry devolveu um resultado inesperado."
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr "Inserir frase-passe"
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Frase-passe"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "Inserir Frase-passe para"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "o comando pinentry deu erro"
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "O comando pinentry deu um erro inesperado."
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      "Erro, inserir uma frase-passe sem usar o gpg-agent ainda não é suportado "
      "pelo Windows."
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr "uma chave com impressão digital"
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "desconhecido"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "indefinido"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "nunca"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "marginal"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "completo"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr "inquestionável"
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr "[mau valor de validação]"
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr "válido"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr "verde"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr "vermelho"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr "revogada"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr "chave expirada"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr "sig expirado"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr "falta chave"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr "falta crl"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr "crl demasiado antigo"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr "má regra"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr "erro sistema"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Desconhecido\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      "estado ....: %s\n"
      "resumo ...:%s\n"
      "impressão digital: %s\n"
      "criada ...: %sexpira ...: %svalidade ..: %s\n"
      "razão.val.: %s\n"
      "algo. pubkey: %s\n"
      "algo. digest: %s\n"
      "endereço pka: %s\n"
      "confiança pka .: %s\n"
      "outras opções:%s%s\n"
      "notações .: %s\n"
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Nada]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Desconhecido"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "n/d"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "má"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "aceitar"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr "RFU"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr "uso errado da chave"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr "modelo encadeado"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "sim"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "não"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "Assinatura encontrada em"
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Assinatura"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "Falha ao encontrar os resultados das verificações"
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "Erro, falha ao encontrar os resultados das verificações"
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Abrir ficheiro de assinatura"
      
      #: ../geanyprj/src/geanyprj.c:39
      msgid "Alternative project support."
      msgstr "Suporte alternativo para projeto."
      
      #: ../geanyprj/src/geanyprj.c:223
      msgid "Find a text in geanyprj's project"
      msgstr "Localizar um texto num projeto geanyprj"
      
      #: ../geanyprj/src/geanyprj.c:237
      msgid "Display sidebar"
      msgstr "Mostrar barra lateral"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Preferências do projeto"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Novo projeto"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "C_riar"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Nome:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Localização:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Escolha a pasta do projeto"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Caminho base:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Pasta base que contém todos os ficheiros que compõem o projeto. Pode ser uma "
      "pasta nova ou uma já existente. Pode usar pastas relativas ao nome do "
      "projeto."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Escolha o caminho base do projeto"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Gerar lista de ficheiros no arranque"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Adicionar, automaticamente, ficheiros que correspondam ao tipo de ficheiro "
      "de projeto quando este for carregado. Não pode adicionar/remover manualmente "
      "ficheiros se ativou esta opção, dado que a sua modificação será descartada "
      "no próximo carregamento do projeto"
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Tipo:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "O ficheiro de projeto \"%s\" já existe"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Projeto"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Eliminar projeto"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Adicionar ficheiro"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferências"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Localizar no projeto"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Remover ficheiro"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "H_ide Sidebar"
      msgstr "Ocultar barra _lateral"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1437
      msgid "Project"
      msgstr "Projeto"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projeto \"%s\" aberto."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr "Suporte a extensões Python"
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Impossível carregar previamente a biblioteca Python: '%s'."
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr "Falha ao importar o módulo de gestão"
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr "Falha ao recuperar o Gestor de extensões do módulo de gestão"
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr "Pasta de extensões do sistema não encontrada."
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr "Impossível iniciar novo Gestor de extensões"
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr "Impossível obter o método show_all() no gestor de extensões"
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "Impossível criar pasta de extensões Python: %s: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr "Gestor de extensões Pyhton"
      
      #: ../geanysendmail/src/geanysendmail.c:42
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Uma pequena extensão que permite enviar o ficheiro atual como anexo, usando "
      "o seu programa de correio eletrónico favoritoEnvia o ficheiro atual como "
      "anexo com o seu programa de correio eletrónico favorito"
      
      #: ../geanysendmail/src/geanysendmail.c:96
      msgid "Recipient's Address"
      msgstr "Endereço de destino"
      
      #: ../geanysendmail/src/geanysendmail.c:98
      msgid "Enter the recipient's e-mail address:"
      msgstr "Insira o endereço eletrónico de destino:"
      
      #: ../geanysendmail/src/geanysendmail.c:138
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "O espaço reservado para o nome do ficheiro não foi encontrado. O comando "
      "executado pode ter falhado."
      
      #: ../geanysendmail/src/geanysendmail.c:144
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "O espaço reservado para o endereço eletrónico de destino não encontrado. O "
      "comando executado pode ter falhado."
      
      #: ../geanysendmail/src/geanysendmail.c:158
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Impossível executar a aplicação de correio. Por favor, verifique a "
      "configuração."
      
      #: ../geanysendmail/src/geanysendmail.c:167
      msgid "Please define a mail client first."
      msgstr "Por favor, defina uma aplicação de correio eletrónico primeiro."
      
      #: ../geanysendmail/src/geanysendmail.c:172
      msgid "File has to be saved before sending."
      msgstr "O ficheiro tem de ser gravado antes de ser enviado."
      
      #: ../geanysendmail/src/geanysendmail.c:188
      msgid "Mail"
      msgstr "Correio"
      
      #: ../geanysendmail/src/geanysendmail.c:219
      msgid "Send by mail"
      msgstr "Enviar por correio"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:309
      msgid "Path and options for the mail client:"
      msgstr "Caminho e opções para a aplicação de correio:"
      
      #: ../geanysendmail/src/geanysendmail.c:317
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Nota: \n"
      "\t%f será substituído pelo seu ficheiro.\n"
      "\t%r será substituído pelo endereço eletrónico de destino.\n"
      "\t%b será substituído pelo nome base do ficheiro\n"
      "\tExemplos:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"A enviar '%b'\" -a \"%f\" \"%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:327
      msgid "Show toolbar icon"
      msgstr "Mostrar ícone da barra de ferramentas"
      
      #: ../geanysendmail/src/geanysendmail.c:329
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Mostra um ícone na barra de ferramentas para facilitar o envio de ficheiros."
      
      #: ../geanysendmail/src/geanysendmail.c:335
      msgid "Use dialog for entering email address of recipients"
      msgstr "Usar diálogo para inserir os endereços eletrónicos de destino"
      
      #: ../geanysendmail/src/geanysendmail.c:357
      msgid "Send file by mail"
      msgstr "Enviar ficheiro por correio"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:380
      msgid "_Mail document"
      msgstr "Enviar o docu_mento"
      
      #: ../geanysendmail/src/geanysendmail.c:383
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Envia o ficheiro aberto como um anexo não comprimido, por qualquer aplicação "
      "presente no seu $PATH"
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "Interface to different Version Control systems."
      msgstr "Interface para diferentes Sistemas de Controlo de Versão (SCV)."
      
      #: ../geanyvc/src/geanyvc.c:484
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc:  erro s_spawn_sync: %s"
      
      #: ../geanyvc/src/geanyvc.c:570
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "Ficheiro %s: ação %s executada via %s."
      
      #: ../geanyvc/src/geanyvc.c:623 ../geanyvc/src/geanyvc.c:634
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated: impossível renomear '%s' para '%s'"
      
      #: ../geanyvc/src/geanyvc.c:660 ../geanyvc/src/geanyvc.c:710
      msgid "No changes were made."
      msgstr "Não foram efetuadas quaisquer alterações."
      
      #: ../geanyvc/src/geanyvc.c:737
      msgid "No history available"
      msgstr "Nenhum histórico disponível"
      
      #: ../geanyvc/src/geanyvc.c:930 ../geanyvc/src/geanyvc.c:938
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Tem a certeza que quer reverter: %s?"
      
      #: ../geanyvc/src/geanyvc.c:946
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Tem a certeza que quer adicionar: %s?"
      
      #: ../geanyvc/src/geanyvc.c:953
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Tem a certeza que quer remover: %s?"
      
      #: ../geanyvc/src/geanyvc.c:976
      msgid "Do you really want to update?"
      msgstr "Tem a certeza que quer atualizar?"
      
      #: ../geanyvc/src/geanyvc.c:1103
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      "As diferenças resultantes não podem ser mostradas porque as alterações são "
      "demasiado grandes para mostrar aqui e atrasaria significativamente o UI.\n"
      "\n"
      "Para ver as diferenças, cancele o diálogo e abra as diferenças diretamente "
      "no Geany usando o menu GeanyVC (pasta base -> Diff)."
      
      #: ../geanyvc/src/geanyvc.c:1252
      msgid "Commit Y/N"
      msgstr "Submeter S/N"
      
      #: ../geanyvc/src/geanyvc.c:1262
      msgid "Status"
      msgstr "Estado"
      
      #: ../geanyvc/src/geanyvc.c:1269
      msgid "Path"
      msgstr "Caminho"
      
      #: ../geanyvc/src/geanyvc.c:1333
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Linha: %d coluna: %d"
      
      #: ../geanyvc/src/geanyvc.c:1379
      msgid "Commit"
      msgstr "Submeter"
      
      #: ../geanyvc/src/geanyvc.c:1420
      msgid "_De-/select all files"
      msgstr "Remover seleção/Selecionar to_dos os ficheiros"
      
      #: ../geanyvc/src/geanyvc.c:1464
      msgid "Commit message:"
      msgstr "Mensagem de submissão:"
      
      #: ../geanyvc/src/geanyvc.c:1483
      msgid "C_ommit"
      msgstr "_Submeter"
      
      #: ../geanyvc/src/geanyvc.c:1564
      msgid "Nothing to commit."
      msgstr "Nada para submeter."
      
      #: ../geanyvc/src/geanyvc.c:1610
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      "Falha ao inicializar a correção ortográfica GeanyVC: %s. Verifique a sua "
      "configuração."
      
      #: ../geanyvc/src/geanyvc.c:1885
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      "Definir estado Modificado nos separadores dos documentos criados pela "
      "extensão"
      
      #: ../geanyvc/src/geanyvc.c:1888
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Se ativar esta opção, todos os novos criados pela extensão VC serão marcados "
      "como Modificados. Mesmo sendo esta opção útil em alguns casos, pode gerar um "
      "elevado número de irritantes diálogos \"Tem a certeza que quer gravar?\" "
      
      #: ../geanyvc/src/geanyvc.c:1896
      msgid "Confirm adding new files to a VCS"
      msgstr "Confirmar adicionar novos ficheiros a um SCV"
      
      #: ../geanyvc/src/geanyvc.c:1899
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Mostra um diálogo de confirmação ao adicionar um novo (criado) ficheiro ao "
      "SCV."
      
      #: ../geanyvc/src/geanyvc.c:1905
      msgid "Maximize commit dialog"
      msgstr "Maximizar janela de submissão"
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Show commit dialog maximize."
      msgstr "Mostra a janela de submissão maximizada."
      
      #: ../geanyvc/src/geanyvc.c:1912
      msgid "Use external diff viewer"
      msgstr "Usar aplicação de diferenças externa"
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer for file diff."
      msgstr ""
      "Usar uma aplicação de diferenças externa para ver diferenças entre ficheiros."
      
      #: ../geanyvc/src/geanyvc.c:1920
      msgid "Show VC entries at editor menu"
      msgstr "Mostrar entrada do CV no menu do editor"
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Mostra entradas das funções do VC dentro do menu do editor"
      
      #: ../geanyvc/src/geanyvc.c:1927
      msgid "Attach menu to menubar"
      msgstr "Anexar menu à barra de menus"
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      "Se o menu da extensão é colocado dentro do menu Ferramentas ou diretamente "
      "na barra de menus do Geany. Será tido em conta no arranque seguinte do "
      "GeanyVC."
      
      #: ../geanyvc/src/geanyvc.c:1937
      msgid "Enable CVS"
      msgstr "Ativar SCV"
      
      #: ../geanyvc/src/geanyvc.c:1942
      msgid "Enable GIT"
      msgstr "Ativar GIT"
      
      #: ../geanyvc/src/geanyvc.c:1947
      msgid "Enable SVN"
      msgstr "Ativar SVN"
      
      #: ../geanyvc/src/geanyvc.c:1952
      msgid "Enable SVK"
      msgstr "Ativar SVK"
      
      #: ../geanyvc/src/geanyvc.c:1957
      msgid "Enable Bazaar"
      msgstr "Ativar Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1962
      msgid "Enable Mercurial"
      msgstr "Ativar Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1968
      msgid "Spellcheck language"
      msgstr "Idioma para correção ortográfica"
      
      #: ../geanyvc/src/geanyvc.c:2059
      msgid "_VC file Actions"
      msgstr "Ações C_V sobre ficheiros"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2065 ../geanyvc/src/geanyvc.c:2142
      #: ../geanyvc/src/geanyvc.c:2182
      msgid "_Diff"
      msgstr "_Diferenças"
      
      #: ../geanyvc/src/geanyvc.c:2068
      msgid "Make a diff from the current active file"
      msgstr "Inicia uma comparação de diferenças no ficheiro ativo"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2073 ../geanyvc/src/geanyvc.c:2151
      #: ../geanyvc/src/geanyvc.c:2190
      msgid "_Revert"
      msgstr "_Reverter"
      
      #: ../geanyvc/src/geanyvc.c:2076
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      "Restaurar a antiga cópia original do ficheiro (descarta alterações locais)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2085
      msgid "_Blame"
      msgstr "_Culpar"
      
      #: ../geanyvc/src/geanyvc.c:2088
      msgid "Shows the changes made at one file per revision and author."
      msgstr "Mostra as alterações realizadas a um ficheiro por revisão e autor."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2095 ../geanyvc/src/geanyvc.c:2161
      #: ../geanyvc/src/geanyvc.c:2202
      msgid "_History (log)"
      msgstr "_Histórico (diário)"
      
      #: ../geanyvc/src/geanyvc.c:2098
      msgid "Shows the log of the current file"
      msgstr "Mostra o histórico do ficheiro ativo"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2103
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2106
      msgid "Shows the original of the current file"
      msgstr "Mostra o original do ficheiro ativo"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2114
      msgid "_Add to Version Control"
      msgstr "_Adicionar ao controlo de versão"
      
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "Add file to repository."
      msgstr "Adiciona o ficheiro ao repositório."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2122
      msgid "_Remove from Version Control"
      msgstr "_Remover do controlo de versão"
      
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "Remove file from repository."
      msgstr "Remove o ficheiro do repositório."
      
      #: ../geanyvc/src/geanyvc.c:2139
      msgid "_Directory"
      msgstr "_Pasta"
      
      #: ../geanyvc/src/geanyvc.c:2145
      msgid "Make a diff from the directory of the current active file"
      msgstr "Inicia uma comparação de diferenças na pasta do ficheiro ativo"
      
      #: ../geanyvc/src/geanyvc.c:2154
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      "Restaura os ficheiros originais na pasta atual (descarta alterações locais)."
      
      #: ../geanyvc/src/geanyvc.c:2164
      msgid "Shows the log of the current directory"
      msgstr "Mostra o diário da pasta atual"
      
      #: ../geanyvc/src/geanyvc.c:2178
      msgid "_Base Directory"
      msgstr "Pasta _base"
      
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "Make a diff from the top VC directory"
      msgstr "Inicia uma comparação de diferenças a partir da primeira pasta do CV"
      
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "Revert any local edits."
      msgstr "Reverte quaisquer alterações locais."
      
      #: ../geanyvc/src/geanyvc.c:2205
      msgid "Shows the log of the top VC directory"
      msgstr "Mostra o diário da primeira pasta do CV"
      
      #: ../geanyvc/src/geanyvc.c:2231
      msgid "VC _Commit"
      msgstr "_Submeter CV"
      
      #: ../geanyvc/src/geanyvc.c:2266
      msgid "Show diff of file"
      msgstr "Mostrar diferenças do ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of directory"
      msgstr "Mostrar diferenças da pasta"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of basedir"
      msgstr "Mostrar diferenças da pasta base"
      
      #: ../geanyvc/src/geanyvc.c:2273
      msgid "Commit changes"
      msgstr "Submeter alterações"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Show status"
      msgstr "Mostrar estado"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Revert single file"
      msgstr "Reverter ficheiro único"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert directory"
      msgstr "Reverter pasta"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert base directory"
      msgstr "Reverter pasta base"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Update file"
      msgstr "Atualizar ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "C_V"
      
      #: ../geanyvc/src/geanyvc.c:2320
      msgid "_Version Control"
      msgstr "Controlo de _versão"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "_Status"
      msgstr "E_stado"
      
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "Show status."
      msgstr "Mostrar estado."
      
      #: ../geanyvc/src/geanyvc.c:2351
      msgid "Update from remote repository."
      msgstr "Atualizar a partir de repositório remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "_Commit"
      msgstr "_Submeter"
      
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "Commit changes."
      msgstr "Submeter alterações."
      
      #: ../geniuspaste/src/geniuspaste.c:93
      msgid "Paste your code on your favorite pastebin"
      msgstr "Cole o seu código no seu pastebin favorito"
      
      #: ../geniuspaste/src/geniuspaste.c:114
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "Grupo \"%s\" não encontrado."
      
      #: ../geniuspaste/src/geniuspaste.c:133
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "Grupo \"%s\" não tem chave \"%s\"."
      
      #: ../geniuspaste/src/geniuspaste.c:647
      msgid "Invalid pastebin service."
      msgstr "Serviço pastebin inválido."
      
      #: ../geniuspaste/src/geniuspaste.c:648
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      "Serviço pastebin \"%s\" desconhecido. Selecione um serviço pastebin nas "
      "preferências ou crie uma configuração pastebin apropriada e tente novamente."
      
      #: ../geniuspaste/src/geniuspaste.c:660
      msgid "Refusing to create blank paste"
      msgstr "Recusa de criar uma colagem em branco"
      
      #: ../geniuspaste/src/geniuspaste.c:680
      msgid "Failed to paste the code"
      msgstr "Falha ao colar o código"
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      "Erro ao colar o código no serviço pastebin %s.\n"
      "Código de erro: %u (%s).\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:685
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr "Verifique a sua ligação ou a configuração pastebin e tente novamente."
      
      #: ../geniuspaste/src/geniuspaste.c:687
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      "Aguarde até que o serviço responda e tente novamente ou tente com outro "
      "serviço pastebin."
      
      #: ../geniuspaste/src/geniuspaste.c:689 ../geniuspaste/src/geniuspaste.c:706
      msgid "Check the pastebin configuration and retry."
      msgstr "Verifieque a configuração pastebin e tente novamente."
      
      #: ../geniuspaste/src/geniuspaste.c:700
      msgid "Failed to obtain paste URL."
      msgstr "Falha ao obter o URL de colagem."
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      "O código foi colado com sucesso em %s, mas ocorreu um erro ao tentar obter o "
      "seu URL: %s\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:705
      msgid "unexpected response from the pastebin service."
      msgstr "Resposta inesperada do serviço pastebin."
      
      #: ../geniuspaste/src/geniuspaste.c:718
      msgid "Paste Successful"
      msgstr "Colagem com sucesso"
      
      #: ../geniuspaste/src/geniuspaste.c:719
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "A sua colagem pode ser encontrada aqui:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:737
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr "Não há documentos abertos. Abra um e tente novamente.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:750
      msgid "The author name field is empty!"
      msgstr "O campo de nome de autor está vazio!"
      
      #: ../geniuspaste/src/geniuspaste.c:770
      msgid "Select a pastebin:"
      msgstr "Selecione um pastebin:"
      
      #: ../geniuspaste/src/geniuspaste.c:773
      msgid "Enter the author name:"
      msgstr "Insira o nome do autor:"
      
      #: ../geniuspaste/src/geniuspaste.c:794
      msgid "Show your paste in a new browser tab"
      msgstr "Mostrar a sua colagem num novo separador do navegador"
      
      #: ../geniuspaste/src/geniuspaste.c:815
      msgid "_Paste it!"
      msgstr "C_olar!"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr "_Monitorizar alterações no repositório"
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      "Se atualiza as diferenças automaticamente ao haver alterações subjacentes no "
      "repositório Git. Por norma isto deve estar ativado para uma experiência de "
      "utilização otimizada."
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr "Linhas _adicionadas:"
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr "Linhas al_teradas:"
      
      #: ../git-changebar/data/prefs.ui.h:5
      msgid "_Removed lines:"
      msgstr "Linhas _removidas:"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr "Cores"
      
      #: ../git-changebar/src/gcb-plugin.c:58
      msgid "Git Change Bar"
      msgstr "Barra de alteração Git"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr "Realça alterações não submetidas em ficheiros monitorizados com Git"
      
      #: ../git-changebar/src/gcb-plugin.c:1125 ../pohelper/src/gph-plugin.c:1576
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Falha ao carregar ficheiro de configuração: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1150 ../pohelper/src/gph-plugin.c:1601
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Falha ao criar pasta de configuração \"%s\": %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1153 ../pohelper/src/gph-plugin.c:1604
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Falha ao gravar ficheiro de configuração: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1232
      msgid "Go to the previous hunk"
      msgstr "Ir para o bocado anterior"
      
      #: ../git-changebar/src/gcb-plugin.c:1234
      msgid "Go to the next hunk"
      msgstr "Ir para o bocado seguinte"
      
      #: ../git-changebar/src/gcb-plugin.c:1359 ../pohelper/src/gph-plugin.c:1372
      #: ../pohelper/src/gph-plugin.c:1705
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "Falha ao carregar definição do UI, por favor verifique a sua instalação. O "
      "erro foi: %s"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Remover linhas duplicadas, _sortidas"
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Remover linhas duplicadas, _ordenadas"
      
      #: ../lineoperations/src/lineoperations.c:71
      msgid "Remove _Unique Lines"
      msgstr "Remover linhas ú_nicas"
      
      #: ../lineoperations/src/lineoperations.c:74
      msgid "Remove _Empty Lines"
      msgstr "R_emover linhas vazias"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr "Remover linhas de es_paços"
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr "Ordenar linhas _ascendentemente"
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr "Ordenar linhas _descendentemente"
      
      #: ../lineoperations/src/lineoperations.c:85
      msgid "_Line Operations"
      msgstr "Operações de _linha"
      
      #: ../lineoperations/src/lineoperations.c:127
      msgid "Line Operations"
      msgstr "Operações de linha"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      "Operações de linha oferece uma mão cheia de funções que podem ser aplicadas "
      "a um documento, tais como remover linhas duplicadas, remover linhas vazias, "
      "remover linhas só com espaços e ordenar linhas."
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Posição:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Barra lateral"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "Janela de mensagens"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Letra:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "Letra de código:"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "Cor de fundo:"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "Cor de 1º plano:"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr "Selecionar ficheiro modelo"
      
      #: ../markdown/src/plugin.c:34
      msgid "Real-time Markdown preview"
      msgstr "Pré-visualização real de Markdown"
      
      #: ../markdown/src/plugin.c:50
      msgid "Markdown Preview"
      msgstr "Pré-visualizar Markdown"
      
      #: ../markdown/src/plugin.c:161
      msgid "The current document does not have a Markdown filetype."
      msgstr "O documento atual não tem tipo de ficheiro Markdown."
      
      #: ../multiterm/src/config.vala:47
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Impossível gravar ficheiro de configuração %s: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "Impossível carregar ficheiro de configuração %s: %s"
      
      #: ../multiterm/src/context-menu.vala:52
      #: ../multiterm/src/context-menu.vala:140
      msgid "Move to message window"
      msgstr "Mover para janela-de-mensagens"
      
      #: ../multiterm/src/context-menu.vala:58
      #: ../multiterm/src/context-menu.vala:135
      msgid "Move to sidebar"
      msgstr "Mover para a barra lateral"
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr "Abrir separador"
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr "Abrir janela"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr "Separador seguinte"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      msgid "Previous tab"
      msgstr "Separador anterior"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr "Mostrar separadores"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr "Impossível iniciar terminal externo: %s"
      
      #: ../multiterm/src/notebook.vala:137
      msgid "Unable to locate default shell in configuration file"
      msgstr "Impossível localizar terminal predefinido no ficheiro de configuração"
      
      #: ../multiterm/src/notebook.vala:202
      msgid "New terminal"
      msgstr "Novo terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr "MultiTerm"
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr "Emulador de terminal virtual multi-separador."
      
      #: ../multiterm/src/plugin.vala:78
      #, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Impossível escrever configuração predefinida: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "Impossível ler valor para \"%s\": %s"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1962
      msgid "Terminal"
      msgstr "Terminal"
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr "Fechar terminal"
      
      #: ../multiterm/src/terminal.vala:88
      #, c-format
      msgid "Unable to run command: %s"
      msgstr "Impossível executar o comando: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr "Fornece uma vista geral do documento ativo"
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr "Alternar visibilidade"
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr "Alternar posição esquerda/direita"
      
      #: ../overview/overview/overviewplugin.c:200
      msgid "Toggle Overlay Inversion"
      msgstr "Alternar inversão da cobertura"
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr "Linha %d, coluna %d, posição %d"
      
      #: ../overview/overview/overviewui.c:289
      msgid "Show Overview"
      msgstr "Mostrar vista geral"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      "Quanto ampliar a barra lateral da vista geral. Provavelmente deve ser "
      "negativo se quiser a barra lateral reduzida."
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr "Fator de ampliação:"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr "A largura da barra lateral da vista geral"
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr "Largura:"
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      "O número de linhas a rolar de uma só vez ao rolar a barra lateral da vista "
      "geral."
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr "Rolar linhas"
      
      #: ../overview/data/prefs.ui.h:7
      msgid "Position on left"
      msgstr "Posição à esquerda"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      "Posicionar a barra de vista geral à esquerda em vez de à direita ( requer o "
      "Geany 1.25 ou superior)."
      
      #: ../overview/data/prefs.ui.h:9
      msgid "Hide tooltip"
      msgstr "Ocultar sugestão"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      "Ocultar a sugestão mostrada quando o rato paira sobre a vista geral, que "
      "informa sobre linha, coluna e posição."
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr "Ocultar barra de rolamento do editor"
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      "Se deve ocultar a barra de rolamento do editor normal do Geany enquanto a "
      "barra de vista geral está visível."
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr "Desativar cobertura"
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      "Desligar o desenho da cobertura, o que mostra a região da vista do editor "
      "principal atual, no topo da barra de vista geral."
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "Opções"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      "A cor e opacidade da cobertura desenhada no topo da barra lateral da "
      "cobertura."
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr "Cor:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      "A cor e opacidade do contorno desenhado à volta da área revelada na bara de "
      "visão geral. Defina como igual à cor de sobreposição para desativar."
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr "Cor de realce:"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr "Desenhar sobre a parte visível"
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      "Quando marcada, desenha a cobertura por cima da área visível na vista "
      "principal do editor. Sem marcação faz o oposto, desenha a cobertura em todo "
      "o lado menos na área visível, \"revelando\" a parte visível."
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr "Cobertura"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:34
      msgid "Pair Tag Highlighter"
      msgstr "Realce de par de etiquetas"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Localiza e realça etiquetas de abertura/fecho HTML correspondentes"
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr "Auxiliar de _tradução"
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr "Cadeia _anterior"
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1505
      msgid "Go to previous string"
      msgstr "Ir para a cadeia anterior"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr "Cadeia segui_nte"
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1508
      msgid "Go to next string"
      msgstr "Ir para a cadeia seguinte"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr "Não _traduzida anterior"
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1511
      msgid "Go to previous untranslated string"
      msgstr "Ir para a cadeia não traduzida anterior"
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr "Não traduzida _seguinte"
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1514
      msgid "Go to next untranslated string"
      msgstr "Ir para a cadeia não traduzida seguinte"
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr "_Confusa anterior"
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1517
      msgid "Go to previous fuzzily translated string"
      msgstr "Ir para a cadeia com tradução confusa anterior"
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr "Con_fusa seguinte"
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1520
      msgid "Go to next fuzzily translated string"
      msgstr "Ir para a cadeia com tradução confusa seguinte"
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr "Não traduz_ida ou confusa anterior"
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1523
      msgid "Go to previous untranslated or fuzzy string"
      msgstr "Ir para a cadeia não traduzida ou confusa anterior"
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr "Não trad_uzida ou confusa seguinte"
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1527
      msgid "Go to next untranslated or fuzzy string"
      msgstr "Ir para a cadeia não traduzida ou confusa seguinte"
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1538
      msgid "Toggle current translation fuzziness"
      msgstr "Alternar a confusão da tradução atual"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr "A_lternar confusão"
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr "Colar _mensagem como tradução"
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr "Colar a mensagem original não traduzida como tradução"
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1535
      msgid "Reflow the current translation string"
      msgstr "Testar a cadeia de tradução atual"
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr "Testar t_radução"
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1541
      msgid "Show statistics of the current document"
      msgstr "Mostra estatísticas do documento atual"
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr "_Mostrar estatísticas"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      "Se atualiza os cabeçalhos da tradução (autor, data de revisão, ...) ao "
      "gravar o ficheiro"
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr "Atualizar cabeçal_hos ao gravar"
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr "Estatísticas da tradução"
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr "Escolha uma cor para cadeias traduzidas"
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr "Escolha uma cor para traduções confusas"
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr "Escolha uma cor para cadeias não traduzidas"
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr "Traduzidas:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr "Confusas:"
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr "Não traduzidas:"
      
      #: ../pohelper/src/gph-plugin.c:40
      msgid "Translation Helper"
      msgstr "Auxiliar de tradução"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr "Melhora o suporte a ficheiros de tradução GetText."
      
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Traduzido: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Confuso: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Não traduzido: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1406
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1531
      msgid "Paste original untranslated string to translation"
      msgstr "Colar cadeia original não traduzida na tradução"
      
      #: ../pohelper/src/gph-plugin.c:1746
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      "Impossível encontrar o widget \"%s\" na definição do UI, por favor verifique "
      "a sua instalação."
      
      #: ../pretty-printer/src/PluginEntry.c:36
      msgid "XML PrettyPrinter"
      msgstr "XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "Formats an XML and makes it human-readable."
      msgstr "Formata um XML e torna-o humanamente legível."
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:58
      msgid "PrettyPrinter XML"
      msgstr "XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:66
      msgid "Run the PrettyPrinter XML"
      msgstr "Executar a XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:140
      msgid "Unable to parse the content as XML."
      msgstr "Impossível processar o conteúdo como XML."
      
      #: ../pretty-printer/src/PluginEntry.c:151
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      "Impossível processar XML PrettyPrinter neste XML específico devido a "
      "funcionalidades não suportadas.\n"
      "\n"
      "Veja Ajuda > Mensagens de Depuração para mais detalhes..."
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Comentários"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr "Colocar numa linha"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr "Em linha, se possível"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Alinhamento"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr "Nós de texto"
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "CDATA"
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr "Nós vazios"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr "Concatenação ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr "Espaçamento ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr "Expansão ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Indentação"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Espaço"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "Quebra de linha"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr "Organizador de projeto"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      "Árvore do ficheiro de projeto, procura e indexação a nível de projeto, "
      "opções extra de navegação (era GProject)"
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      msgid "Find in Project Files..."
      msgstr "Localizar em ficheiros de projeto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Localizar em ficheiros de projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr "Localizar ficheiro de projeto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Localizar ficheiro de projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr "Localizar símbolo de projeto..."
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr "Localizar símbolo de projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr "Trocar cabeçalho/código"
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr "Trocar cabeçalho/código"
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr "Abrir ficheiro selecionado (Organizador de projeto)"
      
      #: ../projectorganizer/src/prjorg-project.c:574
      msgid "Source patterns:"
      msgstr "Padrões de fontes:"
      
      #: ../projectorganizer/src/prjorg-project.c:580
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      "Lista de padrões separados por espaços, usados para identificar ficheiros "
      "fonte. Usado para trocas entre cabeçalho/fonte."
      
      #: ../projectorganizer/src/prjorg-project.c:586
      msgid "Header patterns:"
      msgstr "Padrões de ficheiros de cabeçalhos:"
      
      #: ../projectorganizer/src/prjorg-project.c:592
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "Lista de padrões separados por espaços, usados para identificar cabeçalhos. "
      "Usado para trocas entre cabeçalho/fonte."
      
      #: ../projectorganizer/src/prjorg-project.c:598
      msgid "Ignored file patterns:"
      msgstr "Padrões de ficheiro a ignorar:"
      
      #: ../projectorganizer/src/prjorg-project.c:604
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      "Lista de padrões separados por espaços, usados para identificar ficheiros "
      "que não são mostrados na árvore do projeto."
      
      #: ../projectorganizer/src/prjorg-project.c:610
      msgid "Ignored directory patterns:"
      msgstr "Padrões de pasta a ignorar:"
      
      #: ../projectorganizer/src/prjorg-project.c:616
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      "Lista separada por espaços, de padrões a ser usados para identificar "
      "diretórios onde não se procurarão ficheiros de código."
      
      #: ../projectorganizer/src/prjorg-project.c:622
      msgid "Index all project files:"
      msgstr "Indexar todos os ficheiros de projeto:"
      
      #: ../projectorganizer/src/prjorg-project.c:625
      msgid "Auto (index if less than 300 files)"
      msgstr "Automático (indexar se menos de 300 ficheiros)"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Yes"
      msgstr "Sim"
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "No"
      msgstr "Não"
      
      #: ../projectorganizer/src/prjorg-project.c:631
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      "Gerar lista de símbolos para todos os ficheiros do projeto e não só para os "
      "atualmente abertos. Pode ser lento para projetos grandes."
      
      #: ../projectorganizer/src/prjorg-project.c:637
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      "Nota: os padrões acima só afetam a barra lateral e não são usados no diálogo "
      "Localizar em\n"
      " ficheiros. Pode restringir os ficheiros que pertencem ao projeto definindo "
      "os Padrões\n"
      "de ficheiro no separador Projeto (estes também são usados no diálogo "
      "Localizar em ficheiros)."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:116
      msgid "Find File"
      msgstr "Procurar ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:143
      #: ../projectorganizer/src/prjorg-sidebar.c:487
      msgid "Search inside:"
      msgstr "Procurar dentro:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:158
      msgid "Search in full path"
      msgstr "Procurar em caminho completo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:169
      #: ../projectorganizer/src/prjorg-sidebar.c:650
      msgid "project or external directory"
      msgstr "projeto ou pasta externa"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:297
      msgid "Add External Directory"
      msgstr "Adicionar pasta externa"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "Add"
      msgstr "Adicionar"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:442
      msgid "Find Symbol"
      msgstr "Procurar símbolo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:471
      msgid "Match type:"
      msgstr "Comparar tipo:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1061
      msgid "Set file patterns under Project->Properties"
      msgstr "Definir padrões de ficheiros sob Projeto -> Propriedades"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1272
      msgid "Reload all"
      msgstr "Recarregar todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1281
      msgid "Add external directory"
      msgstr "Adicionar pasta externa"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1291
      #: ../treebrowser/src/treebrowser.c:1281
      msgid "Expand all"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1298
      msgid "Collapse to project root"
      msgstr "Colapsar para a raíz do projeto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1309
      msgid "Follow active editor"
      msgstr "Seguir o editor ativo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1355
      msgid "Open a project to start using the plugin"
      msgstr "Abrir um projeto para começar a usar a extensão"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1364
      msgid "Expand All"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1373
      msgid "Find in Files..."
      msgstr "Localizar em ficheiros..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1382
      msgid "Find File..."
      msgstr "Procurar ficheiro..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1391
      msgid "Find Symbol..."
      msgstr "Procurar símbolo..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1404
      msgid "Remove External Directory"
      msgstr "Remover pasta externa"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "De_purar"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr "Programa de _configuração"
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "_Programas recentes"
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr "Executa_r/Continuar"
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr "Executar até ao _cursor"
      
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr "Executar até à _fonte"
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr "Passo para _dentro"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr "Passo por _cima"
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr "Passo para _fora"
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr "_Terminar"
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr "Alternar pontos de que_bra"
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr "Comando _GDB"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "_Mais"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr "Mo_strar terminal"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr "_Repor marcadores"
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr "Limpar fi_cheiros"
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr "_Feed"
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "_Janela"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr "Mostrar _automaticamente"
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr "_Ocultar automaticamente"
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr "Mostrar nos _erros"
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr "Des_ordenado"
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr "_Ver fonte"
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr "Si_ncronizar"
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr "_Interromper"
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr "Enviar _sinal"
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr "S_elecionar em"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr "A executa_r"
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr "_Parado"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr "_Saído"
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr "Se_guir"
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr "_Colunas"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr "Mostrar _grupo"
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr "Mostrar nú_cleo"
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr "Adicionar que_bra"
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr "Adicionar _observação"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr "Aplica_r ao executar"
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr "Mo_strar @entrada"
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr "Mostr_ar endereço"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr "_Modificar"
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr "_Observação"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr "_Inspecionar"
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr "Modo _8-bit"
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "Pre_definição"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr "Modo _7-bit"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr "_Língua"
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr "Mo_strar .nomes"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr "L_er"
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr "A_grupar por"
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr "_Saltar para"
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "_Aplicar"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr "_Expandir"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr "_Natural"
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr "_Decimal"
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr "_Hex"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr "_Octal"
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "_Binário"
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr "_Raw"
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr "A_valiar/Modificar"
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr "Obser_var expressão"
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr "_Inspecionar variável"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr "Linhas"
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr "Pilha"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr "Locais"
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr "Observações"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "Memória"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr "Inserir comando gdb:"
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr "Converter _UTF-8 em local"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr "_Linha"
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr "_Grupo"
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr "_Moldura"
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr "Programa de configuração"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr "_Executável:"
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr "_Argumentos:"
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr "A_mbiente:"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr "_Pasta de trabalho:"
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr "_Carregar script:"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr "Executa_r automaticamente programa/saída gdb"
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr "Modo _Não-pára"
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr "Ponto de quebra _temporário ao carregar em:"
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr "Eliminar to_dos os pontos de quebra, observações, inspeções e registos"
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr "Programa"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr "Abrir em"
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr "carga g_db"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr "Início do p_rograma"
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr "Atualizar todas as _vistas"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr "Painel"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr "Modo de texto 8-bit predefinido"
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr "_7-bit \\nnn"
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr "Mostrar"
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr "_Membro"
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr "e"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr "_Argumento"
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr "nomes"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr "Valores"
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr "E_xpandir ao aplicar"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr "M_ostrar"
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr "filhos"
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr "Inspecionar"
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr "Mostrar mensagens =li_brary"
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr "Mostrar suges_tões"
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr "Outros"
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "_Importar"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr "Insira expressão de atribuição:"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr "Inspecionar"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "Objeto"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr "Moldura:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr "_Aplicar ao executar"
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "Expandir"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr "Iniciar:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr "Contagem:"
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr "_Expandir ao aplicar"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr "Terminal de programa"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr "Registos"
      
      #: ../scope/src/break.c:97
      msgid "breakpoint"
      msgstr "Ponto de quebra"
      
      #: ../scope/src/break.c:98
      msgid "hardware breakpoint"
      msgstr "Ponto de quebra físico"
      
      #: ../scope/src/break.c:99
      msgid "tracepoint"
      msgstr "ponto de rastreio"
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr "ponto de rastreio rápido"
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr "Escrever ponto de observação"
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr "aceder a ponto de observação"
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr "Ler ponto de observação"
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr "ponto de captura"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr "CLI"
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr "MI não suportado"
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr "ao carregar"
      
      #: ../scope/src/break.c:142
      msgid "Run to Cursor"
      msgstr "Executar até ao cursor"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      "Há dois ou mais pontos de quebra em %s:%d.\n"
      "\n"
      "Use a lista de pontos de quebra para remover um exatamente."
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ", %s"
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr "func %s"
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr "Adicionar ponto de quebra"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr "Adicionar ponto de observação"
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr "Terminal de Feed"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr "Insira carácter # (0..255):"
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:545
      #: ../scope/src/scope.c:546
      #, c-format
      msgid "Scope: %s."
      msgstr "Âmbito: %s."
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr "Sem pontos de quebra. Pendurado."
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr "GDB morreu inesperadamente com o estado %d."
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr "Programa terminado."
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr "dados inválidos"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr "sem filhos no intervalo"
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr "fora do âmbito"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr "Nome de inspeção de variável duplicado"
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr "Memória de leitura"
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr "Âmbito: tamanho do ponteiro > %d, dados desativados."
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr "Modificar"
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr "Avaliar/Modificar"
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr "Observar expressão"
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr "Inspecionar variável"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr "Erro GDB indefinido."
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Selecionar pasta"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Selecionar ficheiro"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr "Âmbito: %s: %s."
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr "Âmbito: ficheiro de configuração criado."
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr "Carregadas definições de depuração para %s."
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr "Impossível carregar definições de depuração %s: %s."
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      "%s: %s.\n"
      "\n"
      "Continuar?"
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr "Eliminar todos os pontos de quebra, observações, etc.?"
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr "como _Nome=valor"
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr "como _Nome=valor"
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr "Depurador de âmbito"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr "Front-end GDB relativamente simples"
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr "Programa de configuração"
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr "Executar/Continuar"
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr "Executar até à fonte"
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr "Terminar"
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr "Alternar ponto de quebra"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr "Comando GDB"
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr "Mostrar terminal"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "Ocupado"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "Pronto"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr "Pendurado"
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr "Assem"
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr "Carregar"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr "Ação de construção ativada. Terminar depuração?"
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr "Quebras"
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "Consola"
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr "Consola de depuração"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr "Grupo de linha %s iniciado."
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr "Grupo de linha"
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr "saído"
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr "com código de saída %s"
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr "Enviar sinal"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr "Insira sinal #:"
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr "Terminar processo"
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr "Insira código de saída:"
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "A executar"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "Parado"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr "%s: %s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr "Âmbito: erro ao ler [%s]."
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "…"
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "_Enviar"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "_Ocupado"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr "Comando GDB"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Tentar:"
      
      #: ../spellcheck/src/speller.c:264
      msgid "Checking"
      msgstr "A verificar"
      
      #: ../spellcheck/src/speller.c:277
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "A verificar ficheiro \"%s\" (linhas %d até %d usando %s):"
      
      #: ../spellcheck/src/speller.c:287
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "A verificar \"%s\" (usando %s):"
      
      #: ../spellcheck/src/speller.c:308
      msgid "The checked text is spelled correctly."
      msgstr "O texto verificado não contém erros ortográficos."
      
      #: ../spellcheck/src/speller.c:318
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "A biblioteca Enchant não pode ser inicializada (%s)."
      
      #: ../spellcheck/src/speller.c:319
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      "erro desconhecido (talvez o idioma que escolheu não se encontre disponível)"
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr "Correção ortográfica"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Verifica a ortografia do atual documento."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Executar o corretor ortográfico"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Alternar verificação ortográfica enquanto digita"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Selecionar pasta"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      "Mostrar ícone na barra de ferramentas, para ativar/desativar verificação "
      "ortográfica enquanto digita"
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Mostrar menu no editor para sugestões dactilográficas "
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Mostrar sugestões num submenu do menu do editor"
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Imprimir palavras incorretas e sugestões na janela de mensagens"
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr "Interface"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Verificar ortografia enquanto digita"
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr "Verificar ortografia ao abrir um documento"
      
      #: ../spellcheck/src/scplugin.c:331
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      "Ativar esta opção vai verificar qualquer documento após ser aberto no Geany. "
      "Recarregar um documento também força nova verificação."
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Idioma a usar para a correção ortográfica:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "Pasta onde procurar os _dicionários:"
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Ler dicionários adicionais desta pasta. De momento, só funciona com "
      "dicionários \"myspell\"."
      
      #: ../spellcheck/src/scplugin.c:385
      msgid "Behavior"
      msgstr "Comportamento"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "Correção ortográfica enquanto digita encontra-se ativa agora"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "Correcção ortográfica enquanto digita encontra-se desativa agora"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Mais..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(sem sugestões)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Adicionar \"%s\" ao dicionário"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Ignorar tudo"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "Termo a procurar demasiado longo para mostrar\n"
      "sugestões de escrita no menu do editor."
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Realizar correção ortográfica"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Predefinição (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr "Alternar correção ortográfica enquanto digita (idioma atual: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Sugestões de ortografia"
      
      #: ../shiftcolumn/src/shiftcolumn.c:48
      msgid "Shift Column"
      msgstr "Deslocar coluna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift a selection left and right"
      msgstr "Desloca uma seleção para a esquerda e direita"
      
      #: ../shiftcolumn/src/shiftcolumn.c:376 ../shiftcolumn/src/shiftcolumn.c:396
      msgid "Shift Left"
      msgstr "Deslocar à esquerda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:383 ../shiftcolumn/src/shiftcolumn.c:398
      msgid "Shift Right"
      msgstr "Deslocar à direita"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Tableconvert (ConverteTabelas)"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr "Converte listas em tabelas para diferentes tipos de ficheiros"
      
      #: ../tableconvert/src/tableconvert.c:41
      msgid "LaTeX"
      msgstr "LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr "HTML"
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr "SQL"
      
      #: ../tableconvert/src/tableconvert.c:95
      msgid "DokuWiki"
      msgstr "DokuWiki"
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Algo correu mal ao processar a seleção. A abortar"
      
      #: ../tableconvert/src/tableconvert.c:328
      msgid "Convert selection to table"
      msgstr "Converter seleção em tabela"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "_Converter em tabela"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "Converte a lista atualmente selecionada numa tabela."
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr "_Mais TableConvert"
      
      #: ../treebrowser/src/treebrowser.c:126
      msgid "TreeBrowser"
      msgstr "Navegador em árvore"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      "Esta extensão adiciona um navegador em árvore ao Geany, permitindo a "
      "navegação em ficheiros, na pasta atual,  usando uma vista em árvore."
      
      #: ../treebrowser/src/treebrowser.c:432
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: pasta inexistente."
      
      #: ../treebrowser/src/treebrowser.c:535 ../treebrowser/src/treebrowser.c:570
      #: ../treebrowser/src/treebrowser.c:668
      msgid "(Empty)"
      msgstr "(vazio)"
      
      #: ../treebrowser/src/treebrowser.c:971
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Impossível executar o comando externo '%s' (%s). "
      
      #: ../treebrowser/src/treebrowser.c:1042
      msgid "NewDirectory"
      msgstr "Nova pasta"
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewFile"
      msgstr "Novo ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:1049
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "O ficheiro destino '%s' já existe\n"
      ", tem a certeza que o quer substituir por um ficheiro vazio?"
      
      #: ../treebrowser/src/treebrowser.c:1095
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Tem a certeza que quer eliminar '%s'?"
      
      #: ../treebrowser/src/treebrowser.c:1207 ../treebrowser/src/treebrowser.c:1738
      msgid "Go up"
      msgstr "Ir para cima"
      
      #: ../treebrowser/src/treebrowser.c:1211 ../treebrowser/src/treebrowser.c:1753
      msgid "Set path from document"
      msgstr "Definir caminho a partir do documento"
      
      #: ../treebrowser/src/treebrowser.c:1215
      msgid "_Open externally"
      msgstr "_Abrir externamente"
      
      #: ../treebrowser/src/treebrowser.c:1220
      msgid "Open Terminal"
      msgstr "Abrir terminal"
      
      #: ../treebrowser/src/treebrowser.c:1224
      msgid "Set as root"
      msgstr "Definir como raíz"
      
      #: ../treebrowser/src/treebrowser.c:1229 ../treebrowser/src/treebrowser.c:1743
      #: ../treebrowser/src/treebrowser.c:2138
      msgid "Refresh"
      msgstr "Atualizar"
      
      #: ../treebrowser/src/treebrowser.c:1233
      msgid "_Find in Files"
      msgstr "Localizar em _ficheiros"
      
      #: ../treebrowser/src/treebrowser.c:1241
      msgid "Create new directory"
      msgstr "Criar uma nova pasta"
      
      #: ../treebrowser/src/treebrowser.c:1245
      msgid "Create new file"
      msgstr "Criar um novo ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:1249
      msgid "Rename"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:1254
      msgid "Delete"
      msgstr "Eliminar"
      
      #: ../treebrowser/src/treebrowser.c:1262
      #, c-format
      msgid "Close: %s"
      msgstr "Fechar: %s"
      
      #: ../treebrowser/src/treebrowser.c:1267
      #, c-format
      msgid "Close Child Documents "
      msgstr "Fechar documentos-filho"
      
      #: ../treebrowser/src/treebrowser.c:1272
      msgid "_Copy full path to clipboard"
      msgstr "_Copiar caminho completo para a área de transferência"
      
      #: ../treebrowser/src/treebrowser.c:1285
      msgid "Collapse all"
      msgstr "Colapsar tudo"
      
      #: ../treebrowser/src/treebrowser.c:1292 ../treebrowser/src/treebrowser.c:2047
      msgid "Show bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../treebrowser/src/treebrowser.c:1297 ../treebrowser/src/treebrowser.c:1996
      msgid "Show hidden files"
      msgstr "Mostrar ficheiros ocultos"
      
      #: ../treebrowser/src/treebrowser.c:1302
      msgid "Show toolbars"
      msgstr "Mostrar barras de ferramentas"
      
      #: ../treebrowser/src/treebrowser.c:1621
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      "O ficheiro destino '%s' já existe, tem a certeza que o quer substituir?"
      
      #: ../treebrowser/src/treebrowser.c:1748
      msgid "Home"
      msgstr "Pasta pessoal"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Track path"
      msgstr "Rastrear caminho"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Hide bars"
      msgstr "Ocultar barras"
      
      #: ../treebrowser/src/treebrowser.c:1773
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      "Filtrar (*.c;*.h;*.cpp), e se quiser uma filtragem temporária use '!'. Tente "
      "por exemplo isto '!;*.c;*.h;*.cpp'"
      
      #: ../treebrowser/src/treebrowser.c:1781
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra de endereço por exemplo '/projetos/meu-projeto'"
      
      #: ../treebrowser/src/treebrowser.c:1806
      msgid "Tree Browser"
      msgstr "Navegador em árvore"
      
      #: ../treebrowser/src/treebrowser.c:1949
      msgid "External open command"
      msgstr "Comando externo para Abrir"
      
      #: ../treebrowser/src/treebrowser.c:1954
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "O comando a executar ao usar o \"Abrir com\". Pode usar os descritores %f e "
      "%d.\n"
      "%f será substituído pelo nome do ficheiro incluindo o seu caminho completo\n"
      "%d será substituído pelo nome do caminho do ficheiro selecionado, sem o nome "
      "do ficheiro."
      
      #: ../treebrowser/src/treebrowser.c:1967
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr "O terminal a usar com o comando \"Abrir terminal\""
      
      #: ../treebrowser/src/treebrowser.c:1973
      msgid "Toolbar"
      msgstr "Barra de ferramentas"
      
      #: ../treebrowser/src/treebrowser.c:1975
      msgid "Hidden"
      msgstr "Oculto"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Top"
      msgstr "Topo"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Bottom"
      msgstr "Fundo"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "If position is changed, the option require plugin restart."
      msgstr "Se a posição mudar, esta opção requer reinicialização da extensão."
      
      #: ../treebrowser/src/treebrowser.c:1986
      msgid "Show icons"
      msgstr "Mostrar ícones"
      
      #: ../treebrowser/src/treebrowser.c:1988
      msgid "None"
      msgstr "Nenhum"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "Base"
      msgstr "Base"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Content-type"
      msgstr "Tipo de conteúdo"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr "Em Windows, isto apenas oculta ficheiros precedidos de '.' (ponto)"
      
      #: ../treebrowser/src/treebrowser.c:2003
      msgid "Hide object files"
      msgstr "Ocultar ficheiros objeto"
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Não mostrar ficheiros objeto gerados no navegador, isto inclui *.o, *.obj, *."
      "so, *.dll, *.a, *.lib"
      
      #: ../treebrowser/src/treebrowser.c:2010
      msgid "Reverse filter"
      msgstr "Reverte o filtro"
      
      #: ../treebrowser/src/treebrowser.c:2015
      msgid "Follow current document"
      msgstr "Seguir o documento ativo"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Single click, open document and focus it"
      msgstr "Clique único abre documento e foca-o"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Double click open directory"
      msgstr "Clique duplo abre pasta"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "On delete file, close it if is opened"
      msgstr "Ao eliminar ficheiro, fechá-lo caso esteja aberto"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "Focus editor on file open"
      msgstr "Focar o editor ao abrir ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Show tree lines"
      msgstr "Mostrar as linhas da árvore"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Open new files"
      msgstr "Abrir novos ficheiros"
      
      #: ../treebrowser/src/treebrowser.c:2128
      msgid "Focus File List"
      msgstr "Focar a lista de ficheiros"
      
      #: ../treebrowser/src/treebrowser.c:2130
      msgid "Focus Path Entry"
      msgstr "Focar a entrada de caminho"
      
      #: ../treebrowser/src/treebrowser.c:2132
      msgid "Rename Object"
      msgstr "Renomear objeto"
      
      #: ../treebrowser/src/treebrowser.c:2134
      msgid "Create New File"
      msgstr "Criar novo ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:2136
      msgid "Create New Directory"
      msgstr "Criar nova pasta"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Procurar atualizações"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr "Verifica se há atualizações disponíveis para o Geany"
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Há uma versão mais recente do Geany disponível: %s"
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr "Não há nenhuma versão mais recente do Geany disponível."
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      "Impossível verificar a versão.\n"
      "Código de erro: %d \n"
      "Mensagem de erro: »%s«"
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr "Procurar atualizações ao iniciar"
      
      #: ../updatechecker/src/updatechecker.c:332
      msgid "Check for Updates"
      msgstr "Procurar atualizações"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "janela-de-mensagens"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "barra lateral"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr "janela-separada"
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "nada"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr "ao-ligar"
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "normal"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "utilidade"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      msgid "Bookmark this website"
      msgstr "Marcar este website"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Ampliação"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr "Ampliar o texto _completo"
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr "Inverter orientação dos painéis "
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Recuar"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "Avançar"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "Cancelar carregamento"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Recarregar página atual"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr "Informações e definições do website"
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr "Inspector Web"
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr "Alternar inspector Web"
      
      #: ../webhelper/src/gwh-plugin.c:49
      msgid "Web helper"
      msgstr "Ajudante Web"
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      "Exibe uma página web que é atualizada cada vez que o documento é gravado, "
      "providencia igualmente ferramentas de depuração e análise (conhecidas por "
      "Inspector Web), tudo usando o WebKit."
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr "Vista Web"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Antevisão Web"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr "Recarregar documento ao gravar"
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr "Carregamento automático do navegador"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      "Se o navegador se deve recarregar automaticamente ao gravar um documento"
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr "Último URI do navegador"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr "Último URI visitado pelo navegador"
      
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "List of bookmarks"
      msgstr "Lista de marcadores"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr "Orientação do navegador"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr "Orientação do widget do navegador"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "Posição do navegador"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Posição do widget do navegador no UI do Geany"
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr "Geometria da janela do navegador, quando separado"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr "Última geometria da janela do navegador quando separada"
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr "Geometria da janela do Inspetor"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr "Última geometria da janela do Inspetor"
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr "Inspetor separado"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr "Se o inspetor está numa janela separada ou ancorado no navegador"
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr "Janelas secundárias não aparecem na barra de tarefas"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      "Indica ao gestor de janelas se deve ou não mostrar janelas secundárias na "
      "barra de tarefas"
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr "Janelas secundárias são transitórias"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr "Se as janelas secundárias são filhas transitórias de seus pais"
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr "Tipo das janelas secundárias"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr "Qual o tipo das janelas secundárias"
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Alternar inspector Web"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr "Mostrar/Ocultar janela Vista Web"
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr "Alternar marcador para o website atual"
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Navegador"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Janelas"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr "Excertos de código XML"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Conclusão automática de etiquetas  XML/HTML usando excertos de código."
      
      #~ msgid "Program received a signal"
      #~ msgstr "O programa recebeu um sinal"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "Falha ao definir o idioma para correção ortográfica. Por favor, verifique "
      #~ "a configuração. A mensagem de erro obtida foi: %s"
      
      #~ msgid ""
      #~ "Unable to paste the code on codepad.org\n"
      #~ "Retry or select another pastebin."
      #~ msgstr ""
      #~ "Impossível colar o código em codepad.org\n"
      #~ "Tente novamente ou selecione outro pastebin."
      
      #~ msgid ""
      #~ "Unable to paste the code. Check your connection and retry.\n"
      #~ "Error code: %d\n"
      #~ msgstr ""
      #~ "Impossível colar o código. Verifique a ligação e tente novamente.\n"
      #~ "Código de erro: %d\n"
      
      #~ msgid "Find Project Tag..."
      #~ msgstr "Localizar etiqueta de projeto..."
      
      #~ msgid "Find project tag"
      #~ msgstr "Localizar etiqueta de projeto"
      
      #~ msgid "Generate tags for all project files:"
      #~ msgstr "Gerar etiquetas para todos os ficheiros do projeto:"
      
      #~ msgid "Find Tag..."
      #~ msgstr "Localizar etiqueta..."
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "Extensão que melhora o suporte de LaTeX"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "Uma pequena extensão que converte listas em tabelas"
      
      #~ msgid ""
      #~ "A plugin which is checking whether there are updates for Geany available."
      #~ msgstr ""
      #~ "Uma extensão que verifica se há atualizações disponíveis para o Geany."
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Este plugin adiciona funcionalidades que facilitam a navegação entre "
      #~ "ficheiros de código.\n"
      #~ "De momento, implementa:\n"
      #~ "-alternar entre um ficheiro .cpp e o correspondente .h\n"
      #~ "-[abertura de um ficheiro através da escrita do seu nome -> TODO (ainda "
      #~ "por concluir)]"
      
      #~ msgid "Goto file"
      #~ msgstr "Ir para o ficheiro"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Do plugin %s )"
      
      #~ msgid "GProject"
      #~ msgstr "ProjetoG"
      
      #~ msgid "Glob-pattern-based project management plugin for Geany."
      #~ msgstr "Plugin para gestão de projetos Geany baseado em padrões Glob"
      
      #~ msgid ""
      #~ "Space separated list of patterns that are used to identify source files."
      #~ msgstr ""
      #~ "Lista separada por espaços, de padrões a ser usados para identificar "
      #~ "ficheiros de código."
      
      #~ msgid ""
      #~ "Note: set the patterns of files belonging to the project under the "
      #~ "Project tab."
      #~ msgstr ""
      #~ "Nota: defina padrões para ficheiros pertencentes ao projeto através do "
      #~ "menu Projeto."
      
      #~ msgid "No update available"
      #~ msgstr "Nenhuma atualização disponível"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "Ponto de Paragem #%s adicionado em %s() localizado em %s:%s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "Ponto de Paragem #%s em %s:%s\n"
      
      #~ msgid "Added write watchpoint #%s for %s\n"
      #~ msgstr "Ponto de observação de escrita #%s adicionado para %s\n"
      
      #~ msgid "Added read/write watchpoint #%s for %s\n"
      #~ msgstr "Ponto de observação de escrita e leitura #%s adicionado para %s\n"
      
      #~ msgid "Added read watchpoint #%s for %s\n"
      #~ msgstr "Ponto de observação de leitura #%s adicionado para %s\n"
      
      #~ msgid "Watch/breakpoint deleted.\n"
      #~ msgstr "Ponto de observação/paragem eliminado.\n"
      
      #~ msgid "Failed to toggle breakpoint -\n"
      #~ msgstr "Impossível alternar o ponto de paragem -\n"
      
      #~ msgid "Watch/breakpoint toggled.\n"
      #~ msgstr "Ponto de observação/paragem alternado.\n"
      
      #~ msgid "Watch/breakpoint modified.\n"
      #~ msgstr "Ponto de observação/paragem modificado.\n"
      
      #~ msgid "Failed to retrieve source search path setting from GDB."
      #~ msgstr "Impossível obter definição de caminho de procura de fontes do GDB."
      
      #~ msgid "Failed to retrieve executable search path setting from GDB."
      #~ msgstr ""
      #~ "Impossível obter definição de caminho de procura de executáveis do GDB."
      
      #~ msgid "Failed to retrieve working directory setting from GDB."
      #~ msgstr "Impossível obter definição da pasta de trabalho do GDB."
      
      #~ msgid "Field list too long, not all items can be displayed.\n"
      #~ msgstr ""
      #~ "Listagem demasiado longa, nem todos os elementos podem ser mostrados.\n"
      
      #~ msgid "Error starting target process!\n"
      #~ msgstr "Error ao iniciar o processo pretendido!\n"
      
      #~ msgid ""
      #~ "This executable does not appear to contain the required debugging "
      #~ "information."
      #~ msgstr ""
      #~ "Este executável não aparenta possuir as informações necessárias à "
      #~ "depuração."
      
      #~ msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
      #~ msgstr "O programa recebeu o sinal %s (%s) em %s na função %s() em %s:%s"
      
      #~ msgid "Program exited on signal %s (%s).\n"
      #~ msgstr "Programa terminou com o sinal %s (%s).\n"
      
      #~ msgid "Unknown signal"
      #~ msgstr "Sinal Desconhecido"
      
      #~ msgid "Program exited with code %d [%s]\n"
      #~ msgstr "Programa terminou com código %d [%s]\n"
      
      #~ msgid "(unknown)"
      #~ msgstr "(desconhecido)"
      
      #~ msgid "Program exited normally.\n"
      #~ msgstr "Programa terminou normalmente.\n"
      
      #~ msgid "tty temporary directory not specified!\n"
      #~ msgstr "pasta temporária do tty não especificada!\n"
      
      #~ msgid "tty helper program not specified!\n"
      #~ msgstr "assistente do tty não especificado!\n"
      
      #~ msgid "tty helper program not found!\n"
      #~ msgstr "assistente do tty não encontrado!\n"
      
      #~ msgid "Attaching to terminal %s\n"
      #~ msgstr "Anexar ao terminal %s\n"
      
      #~ msgid "Timeout waiting for TTY name.\n"
      #~ msgstr "Expirou o tempo limite para aguardar pelo nome do TTY.\n"
      
      #~ msgid "GDB exited (pid=%d)\n"
      #~ msgstr "GDB terminou (pid=%d)\n"
      
      #~ msgid "Target process exited. (pid=%d; %s%s)\n"
      #~ msgstr "O processo alvo terminou. (pid=%d; %s%s)\n"
      
      #~ msgid "code="
      #~ msgstr "código="
      
      #~ msgid "reason:"
      #~ msgstr "razão:"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "A desligar o programa alvo.\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "A terminar o programa alvo.\n"
      
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "Expirou o tempo limite para aguardar pelo processo alvo.\n"
      
      #~ msgid "Using a bigger hammer!\n"
      #~ msgstr "A usar um martelo maior!\n"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "A aguardar que o processo alvo termine.\n"
      
      #~ msgid "Killing GDB (pid=%d)\n"
      #~ msgstr "A terminar o GDB (pid=%d)\n"
      
      #~ msgid "Timeout trying to kill GDB.\n"
      #~ msgstr "Expirou o tempo limite ao tentar terminar o GDB.\n"
      
      #~ msgid "Shutting down GDB\n"
      #~ msgstr "A desligar o GDB\n"
      
      #~ msgid "Waiting for GDB to exit.\n"
      #~ msgstr "A aguardar que o GDB termine.\n"
      
      #~ msgid "Timeout waiting for GDB to exit.\n"
      #~ msgstr "Expirou o tempo limite para aguardar que o GDB termine.\n"
      
      #~ msgid "Starting gdb (pid=%d)\n"
      #~ msgstr "A iniciar o GDB (pid=%d)\n"
      
      #~ msgid "Started target process. (pid=%d)\n"
      #~ msgstr "Processo alvo iniciado. (pid=%d)\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "Nenhum %s selecionado"
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "Eliminar o ponto de observação selecionado?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "Eliminar o ponto de paragem selecionado?"
      
      #~ msgid "Enabled"
      #~ msgstr "Ativado"
      
      #~ msgid "Break after "
      #~ msgstr "Parar após"
      
      #~ msgid " times."
      #~ msgstr "vezes."
      
      #~ msgid "Break when "
      #~ msgstr "Parar quando"
      
      #~ msgid " is true."
      #~ msgstr "é verdadeiro(a)."
      
      #~ msgid "Watchpoints"
      #~ msgstr "Pontos de Observação"
      
      #~ msgid "Environment settings"
      #~ msgstr "Configuração de ambientes"
      
      #~ msgid ""
      #~ "\n"
      #~ " Command-line arguments passed to target program:"
      #~ msgstr ""
      #~ "\n"
      #~ "Argumentos da linha de comandos passados ao programa alvo:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ "Pasta onde procurar por ficheiros de código:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Working directory for target program:"
      #~ msgstr ""
      #~ "\n"
      #~ "Pasta de trabalho do programa alvo:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ "Pasta onde procurar por executáveis:"
      
      #~ msgid "Keep debug window on top."
      #~ msgstr "Manter a janela de depuração acima de todas as outras."
      
      #~ msgid "Show icons."
      #~ msgstr "Mostrar ícones."
      
      #~ msgid "Font for source code listings:"
      #~ msgstr "Tipo de letra para listagens de código:"
      
      #~ msgid "Terminal program:"
      #~ msgstr "Executável da Consola:"
      
      #~ msgid "_Examine"
      #~ msgstr "_Examinar"
      
      #~ msgid "Elements"
      #~ msgstr "Elementos"
      
      #~ msgid "Fields"
      #~ msgstr "Campos"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "Retorna à janela anterior."
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "Apresentar informação adicional sobre o item selecionado."
      
      #~ msgid ""
      #~ "\n"
      #~ "Frame #%s in %s() at %s:%s\n"
      #~ msgstr ""
      #~ "\n"
      #~ "Moldura #%s em %s() em %s:%s\n"
      
      #~ msgid "Function arguments"
      #~ msgstr "Argumentos da função"
      
      #~ msgid "Local variables"
      #~ msgstr "Variáveis Locais"
      
      #~ msgid "Return to stack list dialog."
      #~ msgstr "Retornar à janela de listagem da pilha."
      
      #~ msgid "Stack trace"
      #~ msgstr "Analisar a pilha"
      
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "Apresentar informação adicional sobre a moldura selecionada."
      
      #~ msgid "Clea_r"
      #~ msgstr "Limpa_r"
      
      #~ msgid "Filename: "
      #~ msgstr "Nome do Ficheiro:"
      
      #~ msgid "Variable to watch:"
      #~ msgstr "Variável a Observar:"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "Número de linha ou nome da função:"
      
      #~ msgid "Access trigger:"
      #~ msgstr "Accionador:"
      
      #~ msgid "(no program)"
      #~ msgstr "(nenhum executável)"
      
      #~ msgid "loaded"
      #~ msgstr "carregado"
      
      #~ msgid "starting"
      #~ msgstr "a iniciar"
      
      #~ msgid "paused"
      #~ msgstr "pausado"
      
      #~ msgid "Error:"
      #~ msgstr "Erro:"
      
      #~ msgid "Select executable to debug"
      #~ msgstr "Selecione o executável a depurar"
      
      #~ msgid "Debugging of object files is not supported."
      #~ msgstr "Depuração de ficheiros objeto não é suportada."
      
      #~ msgid "You don't have permission to execute this file."
      #~ msgstr "Não possui permissões para executar este ficheiro."
      
      #~ msgid "Debugging of shared libraries is not supported."
      #~ msgstr "Depuração de bibliotecas partilhadas não é suportada."
      
      #~ msgid "Debugging of core files id not supported."
      #~ msgstr ""
      #~ "Depuração de ficheiros que contêm uma imagem de memória não é suportada."
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr "O executável alvo tem de ser do formato ELF 32-bit x86."
      
      #~ msgid "You don't have permission to read this file."
      #~ msgstr "Não possui permissões para ler este ficheiro."
      
      #~ msgid "Run to location"
      #~ msgstr "Executar até à posição"
      
      #~ msgid "Execute target program inside a terminal window."
      #~ msgstr "Executar o programa alvo numa janela de terminal/consola."
      
      #~ msgid "Ignore SIGPIPE"
      #~ msgstr "Ignorar SIGPIPE"
      
      #~ msgid ""
      #~ "Don't pause execution when target gets a SIGPIPE signal.\n"
      #~ "(Useful for certain networking applications.)"
      #~ msgstr ""
      #~ "Não pausar a execução do programa alvo se este receber o sinal SIGPIPE.\n"
      #~ "(Útil para algumas aplicações de rede.)"
      
      #~ msgid "Send a GDB command directly to the debugger."
      #~ msgstr "Enviar um comando do GDB diretamente ao depurador."
      
      #~ msgid "_Quit"
      #~ msgstr "_Sair"
      
      #~ msgid "Exit everything"
      #~ msgstr "Sair de tudo"
      
      #~ msgid "GeanyGDB"
      #~ msgstr "GeanyGDB"
      
      #~ msgid "Integrated debugging with GDB."
      #~ msgstr "Depuração integrada com o GDB."
      
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr "A pasta (%s) de configuração do plugin não pode ser criada."
      
      #~ msgid "geanygdb: ttyhelper program not found."
      #~ msgstr "geanygdb: programa de ajuda do tty não encontrado."
      
      #, fuzzy
      #~ msgid "Seach for:"
      #~ msgstr "Procurar por:"
      
      #~ msgid "Google Code"
      #~ msgstr "Google Code"
      
      #~ msgid "Search for current tag in Google Code Search"
      #~ msgstr "Pesquisar a etiqueta atual no pesquisador de código do Google"
      
      #, fuzzy
      #~ msgid ""
      #~ "This Plugin implements Macros in Geany.\n"
      #~ "\n"
      #~ "This plugin allows you to record and use your own macros. These are "
      #~ "sequences of actions that can then be repeated with a single key "
      #~ "combination. So if you had dozens of lines where you wanted to delete the "
      #~ "last 2 characters, you could simple start recording, press End, "
      #~ "Backspace, Backspace, down line and then stop recording. Then simply "
      #~ "trigger the macro and it would automatically edit the line and move to "
      #~ "the next. Select Record Macro from the Tools menu and you will be "
      #~ "prompted with a dialog box. You need to specify a key combination that "
      #~ "isn't being used, and a name for the macro to help you identify it. Then "
      #~ "press Record. What you do in the editor is then recorded until you select "
      #~ "Stop Recording Macro from the Tools menu. Simply pressing the specified "
      #~ "key combination will re-run the macro. To edit the macros you have, "
      #~ "select Edit Macro from the Tools menu. You can select a macro and delete "
      #~ "it, or re-record it. You can also click on a macro's name and change it, "
      #~ "or the key combination and re-define that assuming that it's not already "
      #~ "in use. Selecting the edit option allows you to view all the individual "
      #~ "elements that make up the macro. You can select a different command for "
      #~ "each element, move them, add new elements, delete elements, or if it's "
      #~ "replace/insert, you can edit the text that replaces the selected text, or "
      #~ "is inserted.\n"
      #~ "\n"
      #~ "The only thing to bear in mind is that undo and redo actions are not "
      #~ "recorded, and won't be replayed when the macro is re-run.\n"
      #~ "\n"
      #~ "You can alter the default behaviour of this plugin by selecting Plugin "
      #~ "Manager under the Tools menu, selecting this plugin, and clicking "
      #~ "Preferences. You can change:\n"
      #~ "Save Macros when close Geany - If this is selected then Geany will save "
      #~ "any recorded macros and reload them for use the next time you open Geany, "
      #~ "if not they will be lost when Geany is closed.\n"
      #~ "Ask before replacing existing Macros - If this is selected then if you "
      #~ "try recording a macro over an existing one it will check before over-"
      #~ "writing it, giving you the option of trying a different name or key "
      #~ "trigger combination, otherwise it will simply erase any existing macros "
      #~ "with the same name, or the same key trigger combination."
      #~ msgstr ""
      #~ "Este plugin implementa Macros no Geany.\n"
      #~ "\n"
      #~ "Este plugin permite-lhe gravar e usar as suas próprias macros. Estas são "
      #~ "sequências de ações que podem ser repetidas com uma simples combinação de "
      #~ "teclas. Por exemplo, se tiver dezenas de linhas das quais pretender "
      #~ "eliminar os 2 últimos caracteres, poderia iniciar a gravação, carregar "
      #~ "nas teclas End, Backspace, Backspace, mudar para a linha a seguir e para "
      #~ "a gravação da macro. Agora pode simplesmente ativar a macro e "
      #~ "automaticamente a linha atual será editada e o cursor ficará na linha "
      #~ "seguinte. Selecione Gravar Macro no menu Ferramentas e uma janela surgirá "
      #~ "a questioná-lo. Tem de definir uma combinação de teclas ainda não "
      #~ "utilizada e um nome para o ajudar a identificar a macro. Depois carregue "
      #~ "em gravar. O que fizer no editor será gravador até que selecione Parar "
      #~ "Gravação no menu Ferramentas. Ao premir a combinação de teclas definida a "
      #~ "macro será executada. Para editar macros selecione Editar Macros no menu "
      #~ "Ferramentas. Pode selecionar uma macro e apagá-la ou regravá-la. Pode "
      #~ "ainda clicar no nome da macro e alterá-lo, ou na combinação de teclas e "
      #~ "redefini-la para uma ainda não em uso.\n"
      #~ "\n"
      #~ "Pode alterar o comportamento deste plugin indo a Gestor de Plugins no "
      #~ "menu Ferramentas, selecionando-o e clicando em Preferências. Pode "
      #~ "alterar:\n"
      #~ "Gravar macros ao fechar o Geany - Esta opção fará o Geany gravar todas as "
      #~ "macros existentes, permitindo que as use assim que voltar a abrir o "
      #~ "Geany. Caso contrário, todas as macros serão perdidas ao fechar o Geany.\n"
      #~ "Perguntar antes de substituir macros - Esta opção permite-lhe ter a opção "
      #~ "de dar um novo nome OU uma nova combinação de teclas quando grava uma "
      #~ "macro sobre outra que já existe. Caso contrário, quaisquer macros "
      #~ "existentes, com o mesmo nome OU combinação de teclas serão apagadas."
      
      #~ msgid ""
      #~ "This Plugin implements Numbered Bookmarks in Geany.\n"
      #~ "\n"
      #~ "It allows you to use 10 numbered bookmarks. Normaly if you had more than "
      #~ "one bookmark, you would have to cycle through them until you reached the "
      #~ "one you wanted. With this plugin you can go straight to the bookmark that "
      #~ "you want with a single key combination. To set a numbered bookmark press "
      #~ "Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to the "
      #~ "line number. If you press Ctrl+Shift+a number on a line that already has "
      #~ "that bookmark number then it removes the bookmark, otherwise it will move "
      #~ "the bookmark there if it was set on a different line, or create it if it "
      #~ "had not already been set. Only the bookmark with the highest number on a "
      #~ "line will be shown, but you can have more than one bookmark per line. "
      #~ "This plugin does not interfer with regular bookmarks. When a file is "
      #~ "saved, Geany will remember the numbered bookmarks and make sure that they "
      #~ "are set the next time you open the file.\n"
      #~ "\n"
      #~ "You can alter the default behaviour of this plugin by selecting Plugin "
      #~ "Manager under the Tools menu, selecting this plugin, and clicking "
      #~ "Preferences. You can change:\n"
      #~ "Remember fold state - if this is set then this plugin will remember the "
      #~ "state of any folds along with the numbered bookmarks and set them when "
      #~ "the file is next loaded.\n"
      #~ "Center view when goto bookmark - If this is set it will try to make sure "
      #~ "that the numbered bookmark that you are going to is in the center of the "
      #~ "screen, otherwise it will simply be on the screen somewhere."
      #~ msgstr ""
      #~ "Este plugin implementa Favoritos Numerados no Geany.\n"
      #~ "\n"
      #~ "Permite usar 10 favoritos numerados. Normalmente se tiver mais do que um "
      #~ "favorito, terá de percorrê-los a todos até chegar ao que pretende. Com "
      #~ "este plugin pode ir diretamente ao favorito que pretende com uma única "
      #~ "combinação de teclas. Para definir um favorito numerado carregue em Ctrl"
      #~ "+Shift+um número de 0 a 9. Verá uma marca aparecer junto do número da "
      #~ "linha. Se carregar em Ctrl+Shift+um número quando está numa linha com "
      #~ "favorito numerado previamente atribuído, irá remover esse favorito. Caso "
      #~ "contrário, irá mover o favorito para a linha em questão se este estava já "
      #~ "definido noutra linha ou cria-o se não estava ainda definido. Apenas o "
      #~ "favorito com o número mais elevado aparecerá, mas pode definir mais do "
      #~ "que um por linha. Este plugin não interfere com o sistema normal de "
      #~ "favoritos. Quando grava um ficheiro, o Geany irá gravar os seus favoritos "
      #~ "numerados e garantir que serão usados na próxima vez que abrir o mesmo "
      #~ "ficheiro.\n"
      #~ "\n"
      #~ "Pode alterar o comportamento deste plugin indo a Gestor de Plugins no "
      #~ "menu Ferramentas, selecionando-o e clicando em Preferências. Pode "
      #~ "alterar:\n"
      #~ "Lembrar o estado de agregação - com esta opção ativa, o plugin irá "
      #~ "recordar o estados de quaisquer agregações de código juntamente com os "
      #~ "favoritos numerados e aplica-los-á na próxima vez que abrir o mesmo "
      #~ "ficheiro.\n"
      #~ "Centrar vista ao ir para favorito - com esta opção ativa o plugin tentará "
      #~ "garantir que o favorito para onde pretende ir, aparecerá no centro do "
      #~ "ecrã, caso contrário ele irá aparecer num qualquer local do ecrã."
      
      #~ msgid "You must define a key trigger combination"
      #~ msgstr "Tem de definir uma combinação de teclas para desencadear o evento"
      
      #~ msgid "ConText Feature parity plugin"
      #~ msgstr "Plugin de características do ConText"
      
      #~ msgid "ConTEXT feature parity help"
      #~ msgstr "Ajuda do ConText plugin"
      
      #~ msgid ""
      #~ "This Plugin implements two useful features.\n"
      #~ "\n"
      #~ "Firstly it allows you to use 10 numbered bookmarks. Normaly if you had "
      #~ "more than one bookmark, you would have to cycle through them until you "
      #~ "reached the one you wanted. With this plugin you can go straight to the "
      #~ "bookmark that you want with a single key combination. To set a numbered "
      #~ "bookmark press Ctrl+Shift+a number from 0 to 9. You will see a marker "
      #~ "appear next to the line number. If you press Ctrl+Shift+a number on a "
      #~ "line that already has that bookmark number then it removes the bookmark, "
      #~ "otherwise it will move the bookmark there if it was set on a different "
      #~ "line, or create it if it had not already been set. Only the bookmark with "
      #~ "the highest number on a line will be shown, but you can have more than "
      #~ "one bookmark per line. This plugin does not interfer with regular "
      #~ "bookmarks. When a file is saved, Geany will remember the numbered "
      #~ "bookmarks and make sure that they are set the next time you open the "
      #~ "file.\n"
      #~ "\n"
      #~ "Secondly this plugin alows you to record and use your own macros. These "
      #~ "are sequences of actions that can then be repeated with a single key "
      #~ "combination. So if you had dozens of lines where you wanted to delete the "
      #~ "last 2 characters, you could simple start recording, press End, "
      #~ "Backspace, Backspace, down line and then stop recording. Then simply "
      #~ "trigger the macro and it would automaticaly edit the line and move to the "
      #~ "next. Select Record Macro from the Tools menu and you will be prompted "
      #~ "with a dialog box. You need to specify a key combination that isn't being "
      #~ "used, and a name for the macro to help you identify it. Then press "
      #~ "Record. What you do in the editor is then recorded until you select Stop "
      #~ "Recording Macro from the Tools menu. Simply pressing the specified key "
      #~ "combination will re-run the macro. To edit the macros you have select "
      #~ "Edit Macro from the Tools menu. You can select a macro and delete it, or "
      #~ "re-record it. You can also click on a macro's name and change it, or the "
      #~ "key combination and re-define that asuming that it's not already in use.\n"
      #~ "\n"
      #~ "You can alter the default behaviur of this plugin by selecting Plugin "
      #~ "Manager under the Tools menu, selecting this plugin, and clicking "
      #~ "Preferences. You can change:\n"
      #~ "Remember fold state - if this is set then this plugin will remember the "
      #~ "state of any folds along with the numbered bookmarks and set them when "
      #~ "the file is next loaded.\n"
      #~ "Center view when goto bookmark - If this is set it will try to make sure "
      #~ "that the numbered bookmark that you are going to is in the center of the "
      #~ "screen, otherwise it will simply be on the screen somewhere.\n"
      #~ "Save Macros when close Geany - If this is selected then Geany will save "
      #~ "any recorded macros and reload them for use the next time you open Geany, "
      #~ "if not they will be lost when Geany is closed.\n"
      #~ "Ask before replacing existing Macros - If this is selected then if you "
      #~ "try recording a macro over an existing one it will check before over-"
      #~ "writing it, giving you the option of trying a different name or key "
      #~ "trigger combination, otherwise it will simply erase any existing macros "
      #~ "with the same name, or the same key trigger combination."
      #~ msgstr ""
      #~ "Este plugin implementa duas funcionalidades úteis.\n"
      #~ "\n"
      #~ "Primeiro permite usar 10 favoritos numerados. Normalmente se tiver mais "
      #~ "do que um favorito, terá de percorrê-los a todos até chegar ao que "
      #~ "pretende. Com este plugin pode ir diretamente ao favorito que pretende "
      #~ "com uma única combinação de teclas. Para definir um favorito numerado "
      #~ "carregue em Ctrl+Shift+um número de 0 a 9. Verá uma marca aparecer junto "
      #~ "do número da linha. Se carregar em Ctrl+Shift+um número quando está numa "
      #~ "linha com favorito numerado previamente atribuído, irá remover esse "
      #~ "favorito. Caso contrário, irá mover o favorito para a linha em questão se "
      #~ "este estava já definido noutra linha ou cria-o se não estava ainda "
      #~ "definido. Apenas o favorito com o número mais elevado aparecerá, mas pode "
      #~ "definir mais do que um por linha. Este plugin não interfere com o sistema "
      #~ "normal de favoritos. Quando grava um ficheiro, o Geany irá gravar os seus "
      #~ "favoritos numerados e garantir que serão usados na próxima vez que abrir "
      #~ "o mesmo ficheiro.\n"
      #~ "\n"
      #~ "Segundo este plugin permite-lhe gravar e usar as suas próprias macros. "
      #~ "Estas são sequências de ações que podem ser repetidas com uma simples "
      #~ "combinação de teclas. Por exemplo, se tiver dezenas de linhas das quais "
      #~ "pretender eliminar os 2 últimos caracteres, poderia iniciar a gravação, "
      #~ "carregar nas teclas End, Backspace, Backspace, mudar para a linha a "
      #~ "seguir e para a gravação da macro. Agora pode simplesmente ativar a macro "
      #~ "e automaticamente a linha atual será editada e o cursor ficará na linha "
      #~ "seguinte. Selecione Gravar Macro no menu Ferramentas e uma janela surgirá "
      #~ "a questioná-lo. Tem de definir uma combinação de teclas ainda não "
      #~ "utilizada e um nome para o ajudar a identificar a macro. Depois carregue "
      #~ "em gravar. O que fizer no editor será gravador até que selecione Parar "
      #~ "Gravação no menu Ferramentas. Ao premir a combinação de teclas definida a "
      #~ "macro será executada. Para editar macros selecione Editar Macros no menu "
      #~ "Ferramentas. Pode selecionar uma macro e apagá-la ou regravá-la. Pode "
      #~ "ainda clicar no nome da macro e alterá-lo, ou na combinação de teclas e "
      #~ "redefini-la para uma ainda não em uso.\n"
      #~ "\n"
      #~ "Pode alterar o comportamento deste plugin indo a Gestor de Plugins no "
      #~ "menu Ferramentas, selecionando-o e clicando em Preferências. Pode "
      #~ "alterar:\n"
      #~ "Lembrar o estado de agregação - com esta opção ativa, o plugin irá "
      #~ "recordar o estados de quaisquer agregações de código juntamente com os "
      #~ "favoritos numerados e aplica-los-á na próxima vez que abrir o mesmo "
      #~ "ficheiro.\n"
      #~ "Centrar vista ao ir para favorito - com esta opção ativa o plugin tentará "
      #~ "garantir que o favorito para onde pretende ir, aparecerá no centro do "
      #~ "ecrã, caso contrário ele irá aparecer num qualquer local do ecrã.\n"
      #~ "Gravar macros ao fechar o Geany - Esta opção fará o Geany gravar todas as "
      #~ "macros existentes, permitindo que as use assim que voltar a abrir o "
      #~ "Geany. Caso contrário, todas as macros serão perdidas ao fechar o Geany.\n"
      #~ "Perguntar antes de substituir macros - Esta opção permite-lhe ter a opção "
      #~ "de dar um novo nome OU uma nova combinação de teclas quando grava uma "
      #~ "macro sobre outra que já existe. Caso contrário, quaisquer macros "
      #~ "existentes, com o mesmo nome OU combinação de teclas serão apagadas."
      
      #~ msgid "Lionel Fuentes"
      #~ msgstr "Lionel Fuentes"
      
      #~ msgid "Yura Siamshka "
      #~ msgstr "Yura Siamshka "
      
      #~ msgid ":  "
      #~ msgstr ":"
      
      #~ msgid "Jeff Pohlmeyer, Dominic Hopf"
      #~ msgstr "Jeff Pohlmeyer, Dominic Hopf"
      
      #~ msgid ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      #~ msgstr ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      
      #~ msgid "Yura Siamashka "
      #~ msgstr "Yura Siamashka "
      
      #~ msgid "goto_file"
      #~ msgstr "ir para o_ficheiro"
      
      #~ msgid "switch_head_impl"
      #~ msgstr "alternar_cabeçalho_impl"
      
      #~ msgid "Booklet"
      #~ msgstr "Folheto"
      
      #~ msgid "Conference"
      #~ msgstr "Conferência"
      
      #~ msgid "Inbook"
      #~ msgstr "(Inbook) Parte de um Livro"
      
      #~ msgid "PhdThesis"
      #~ msgstr "Tese de Doutoramento "
      
      #~ msgid "Proceedings"
      #~ msgstr "Paper Académico"
      
      #~ msgid "Techreport"
      #~ msgstr "Relatório Técnico"
      
      #~ msgid "Unpublished"
      #~ msgstr "Paper Não Publicado"
      
      #~ msgid "Showing icon in toolbar"
      #~ msgstr "Mostrar ícone na barra de ferramentas"
      
      #~ msgid "The Geany developer team"
      #~ msgstr "A equipa responsável pelo Geany"
      
      #~ msgid "Treeview filebrowser plugin."
      #~ msgstr "Navegador de ficheiros com visualização em árvore."
      
      #~ msgid "Directory '%s' not exists."
      #~ msgstr "Pasta '%s' inexistente."
      
      #~ msgid "Default directory deep to fill"
      #~ msgstr "Predefinição da profundidade de pastas a preencher"
      
      #~ msgid "How many folders will opened and store in tree"
      #~ msgstr "Quantas pastas serão abertas e gravadas na árvore"
      
      #~ msgid "On expand, refresh directory view"
      #~ msgstr "Ao expandir, atualizar a vista das pastas"
      
      #~ msgid "Code Navigation plug-in configuration"
      #~ msgstr "Configuração do plugin, \"Navegar pelo Código\""
      
      #~ msgid "Switch header / implementation"
      #~ msgstr "Alternar cabeçalho / implementação"
      
      #~ msgid "Load target program into debugger."
      #~ msgstr "Carregar o programa alvo no depurador. "
      
      #~ msgid "Kill the target program AND the debugger."
      #~ msgstr "Matar o programa alvo E o depurador."
      
      #~ msgid "Execute target program in debugger."
      #~ msgstr "Executar o programa algo no depurador."
      
      #~ msgid "_Kill"
      #~ msgstr "_Matar"
      
      #~ msgid "Kill the target program with SIGKILL."
      #~ msgstr "Matar o programa alvo com SIGKILL."
      
      #~ msgid "_Pause"
      #~ msgstr "_Pausar"
      
      #~ msgid "Pause the target program with SIGINT."
      #~ msgstr "Pausar o programa alvo com SIGINT."
      
      #~ msgid "Continue executing target program."
      #~ msgstr "Continuar a execução do programa alvo."
      
      #~ msgid "_Step"
      #~ msgstr "_Avançar"
      
      #~ msgid "Step to the next line or function call."
      #~ msgstr "Avança para a próxima linha ou chamada de função."
      
      #~ msgid "Execute the next machine instruction or function call."
      #~ msgstr ""
      #~ "Executar a próxima instrução em código máquina ou chamada de função."
      
      #~ msgid "Ne_xt in"
      #~ msgstr "Pró_xima para dentro "
      
      #~ msgid "Execute the next machine instruction."
      #~ msgstr "Executar a próxima instrução em código máquina."
      
      #~ msgid "Run _to"
      #~ msgstr "Executar a_té"
      
      #~ msgid "Run to specified source line."
      #~ msgstr "Executar até uma linha especificada."
      
      #~ msgid "Display a backtrace of the current call stack."
      #~ msgstr "Mostrar um registo da atual chamada à pilha."
      
      #~ msgid "Add or remove watchpoints."
      #~ msgstr "Adiciona ou retira pontos de observação."
      
      #~ msgid "_Finish"
      #~ msgstr "_Terminar"
      
      #~ msgid "_Return"
      #~ msgstr "_Retornar"
      
      #~ msgid "Return immediately from the current function."
      #~ msgstr "Retornar imediatamente da atual função."
      
      #~ msgid "En_viron"
      #~ msgstr "Am_biente"
      
      #~ msgid "Set target environment and command line options."
      #~ msgstr "Definir opções de ambiente e de linha de comandos, para o alvo."
      
      #~ msgid "Set user interface options."
      #~ msgstr "Definir opções de interface com o utilizador."
      
      #~ msgid "VC"
      #~ msgstr "CV"
      geany-plugins-1.27/po/ja.po0000644000175000017500000074164312671261352016107 0ustar00frlanfrlan00000000000000# Japanese translations for geany-plugins package.
      # Copyright (C) 2009-2011 THE geany-plugins'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Masami Chikahiro , 2009-2013.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2011-10-21 14:08+0100\n"
      "Last-Translator: Masami Chikahiro \n"
      "Language-Team: Japanese\n"
      "Language: ja\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=1; plural=0;\n"
      "X-Poedit-Language: Japanese\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(空行)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "ブックマークを削除(_R)"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "番号"
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "内容"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "ブックマーク"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "更新(_U)"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "メッセージウィンドウを隠す(_H)"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "ファイル"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "行"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "種類"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "タスク"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "タスク"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "コンテキスト:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "XMLタグ付け"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "挿入するタグ名:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "%s は現在選択中のものに置き換えられます。選択中文字列に注意してください。"
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "URIを開く"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "URIをコピー"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr "閉じる記号"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "キャンセル"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "括弧の対 %d"
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "開く記号"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "閉じる記号"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "他の文書を閉じる(_H)"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "すべて閉じる(_L)"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "文書一覧を表示"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, fuzzy, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "完全パスをクリップボードにコピー"
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      #, fuzzy
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "現在の文書の綴りを検査"
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "アドオン"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Geanyむけのアドオン集"
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "ブックマークに切り替え"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "タスク一覧に切り替え"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "タスク一覧を更新"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr "XMLタグ付けを実行"
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "プラグイン設定ディレクトリを作成できません。"
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr "現在の文書一覧を表示するツールバーボタンを表示"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr "名前による文書の並び替え(_N)"
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr "ファイル名によるリスト内の文書の並び替え"
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr "出現順に文書を並び替え(_O)"
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr "文書タブの順番に文書を並び替え"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "出現順(逆順)に文書を並び替え(_O)"
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr "文書タブの逆順に文書を並び替え"
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "'URIを開く'をエディタのメニューに表示"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "メッセージウィンドウに利用可能なタスクを表示"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "すべての文書のタスクを表示"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "現在の文書のタスクだけを表示するか、すべての文書のタスクを表示するかを選びま"
      "す。"
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "セミコロンで区切られた検索文字列を指定"
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr "検索文字列:"
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "通知領域にステータスアイコンを表示"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "サイドバーにブックマークを表示"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "ダブルクリックしたときに単語をすべてマークする"
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr "文末の空白行を除去"
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr "選択用のXMLタグ付け"
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr "定義可能なキー入力によって選択したものに括弧をつける"
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr "自動的に選択したものに括弧をつける(括弧をつけるためのキー入力は不要)"
      
      #: ../autoclose/src/autoclose.c:50
      #, fuzzy
      msgid "Auto-close"
      msgstr "自動"
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "コードページなし"
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "カーソルを行の終わりに移動"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "ブラウザの方向"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      #, fuzzy
      msgid "Suppress double-completion"
      msgstr "自動補完モード"
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "選択を解除"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "レベルを下げる"
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      #, fuzzy
      msgid "Enclose selections in strings and comments"
      msgstr "定義可能なキー入力によって選択したものに括弧をつける"
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "コードナビ"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "ヘッダとソースの切り替え"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr "ソースの拡張子"
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr "ヘッダの拡張子"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      #, fuzzy
      msgid "Reset to Default"
      msgstr "標準"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "%s はありません。作成しますか?"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr "Commander"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      "アクション、ファイルなどに素早くアクセスするためのコマンドパネルを提供しま"
      "す。"
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr "コマンドパネルを表示"
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr "デバッガ"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr "統合デバッガ"
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "デバッグ"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "名前"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "値"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr "対象ファイルを選択"
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr "対象:"
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr "参照"
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr "デバッガ:"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr "コマンドライン引数:"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr "環境変数"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr "変数を削除しますか?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "場所"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "条件"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "ヒット数"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "行 %i"
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "プログラムが受信したシグナル:"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "プログラムは終了コード \"%i\" で終了"
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr "gdbプロセスの起動に失敗"
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"対象ファイルを読み込み中\\n\""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr "ファイル読み込みエラー"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr "GDBの設定エラー"
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "ブレークポイントを %s:%i に設定できません\n"
      "デバッガ・メッセージ: %s"
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "ソースファイル \"%s\" がありません"
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr "アクティブなフレーム"
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr "フレームを切り替えるために矢印をクリック"
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr "スレッド %i"
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "アドレス"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "関数"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "対象"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "ブレークポイント"
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr "監視"
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr "自動"
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr "コール・スタック"
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr "デバッグ端末"
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr "デバッガ・メッセージ"
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr "実行/継続"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "停止"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "再起動"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr "中へ"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr "次へ"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr "外へ"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr "カーソル位置まで実行"
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr "ブレークポイントを追加/削除"
      
      #: ../debugger/src/keys.c:57
      #, fuzzy
      msgid "Jump to the current instruction"
      msgstr "現在の命令に移動"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "式を評価できません"
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr "ソースファイルを編集するためにデバッグ・セッションを停止"
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "実行"
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "設定"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr "2画面モード"
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "継続"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "デバッグ・セッション・データをプロジェクトに保存"
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "文書"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "コード"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr "文書から 'タグ' を検索"
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Devhelp"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "マニュアル・ページ"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "1ページ戻る"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "1ページ進む"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "拡大表示"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "縮小表示"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "検索"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "文書から'%s'を検索"
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr "Devhelp プラグイン"
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      "Devhelp, マニュアル・ページ, Google コード・サーチからの検索結果を統合された"
      "ビューアに表示する機能を提供します。"
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "設定ディレクトリを '%s' に作成できません"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "既定の設定の読み込みに失敗: %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "既定の設定の保存に失敗: %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr "サイドバー・コンテンツ・タブの切り替え"
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr "サイドバー検索タブを切り替え"
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr "文書タブを切り替え"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr "すべてのタブを有効"
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr "Devhelpで現在のタグを検索"
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr "マニュアル・ページで現在のタグを検索"
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr "Devhelp アシスタント"
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "書籍:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "書籍"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "頁"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "キーワード"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr "構造体"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "マクロ"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr "列挙型"
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr "'%s'が必要, '%s' には 行 %d, 列 %d"
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr "無効な名前空間 '%s' 行 %d, 列 %d"
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr "\"title\", \"name\", \"link\" 要素が必要 行 %d, 列 %d"
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr "\"name\", \"link\" 要素が  の中に必要 行 %d, 列 %d"
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr "\"name\", \"link\" 要素が '%s' の中に必要 行 %d, 列 %d"
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr "\"type\" 要素が  の中に必要 行 %d, 列 %d"
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr "書籍 '%s'を展開できません: %s"
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr "すべての書籍"
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr "検索範囲:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr "translator_credits"
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr "GNOMEの開発者向けヘルプブラウザ"
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "ファイル(_F)"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "編集(_E)"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "表示(_V)"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "移動(_G)"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "ヘルプ(_H)"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "新しいウィンドウ(_N)"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "新しいタブ(_T)"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "印刷...(_P)"
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "次を検索"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "前を検索"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "前の頁に移動"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "次の頁に移動"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "コンテンツタブ(_C)"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "検索タブ(_S)"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "文字を大きく(_L)"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "文字サイズを拡大"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "文字を小さく(_S)"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "文字サイズを縮小"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "通常サイズ(_N)"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "通常の文字サイズを使用"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "フルスクリーンモードを解除"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "フルスクリーンで表示"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "大"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "小"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "Devhelpについて"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "設定..."
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "要求したリンクのオープンエラー"
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "空の頁"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "検索:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "前に出現した検索文字列を検索"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "次に出現する検索文字列を検索"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "大文字小文字を区別(_A)"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr "大文字小文字の区別を切り替え"
      
      #: ../geanyctags/src/geanyctags.c:51
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "gpg暗号化プラグイン"
      
      #: ../geanyctags/src/geanyctags.c:149
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: ディレクトリがありません"
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      #, fuzzy
      msgid "Find Tag"
      msgstr "検索:"
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "検索文字列:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      #, fuzzy
      msgid "prefix"
      msgstr "基数の接頭語(_P)"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "手紙"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "大文字小文字を区別(_A)"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "関係式"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "全般"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "検索:"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "次を検索"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "文書"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "選択中の単語をオンラインヘルプで調べます"
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "コマンド出力を解析できません"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "バッファに出力"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "コマンド 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "コマンド 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w は現在の単語に置き換えられます\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr "文書の現在の単語"
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr "文書の動作"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "特殊な選択"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr "列選択モード、行番号指定選択、対応する括弧、アンカーで選択"
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "特殊な選択(_X)"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr "列選択モード(_C)"
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr "列選択モード"
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr "行番号指定選択(_L)"
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr "行番号指定選択"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr "対応する括弧で選択(_B)"
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr "対応する括弧で選択"
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "選択範囲をテーブルに変換"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr "アンカーを設定(_S)"
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr "アンカーを設定"
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr "アンカー指定選択(_A)"
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr "アンカー指定選択"
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr "アンカーで矩形選択(_R)"
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr "アンカーで矩形選択"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "論理値"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "無効な論理値 \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "無効なテンプレート: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "場所の名前"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "無効な場所 \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "ポリシー名"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "無効なポリシー \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "ポリシーを結合"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr "無効なポリシーの結合 \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "種類"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "無効な種類 \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "無効な設定名 \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr "IDを設定"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "不明な \"%s\", 書き間違いですか?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr "IDを照合"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr "IDの照合結果は空です"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "文書種類ID"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "文書種類"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "無効な正規表現: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "無効な環境記述: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr "設定"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "セクション名"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "セクション重複 \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "無効なセクション名 \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "入力は空です"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "パーサ警告: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "パーサエラー: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "無効なタグ"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr "言語 \"%s\" 向けのファイル種類設定ファイルが見つかりません: %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr "ファイル種類 \"%s\" の読み込みに失敗(設定ファイル \"%s\"): %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "文書生成"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr "ソースコードより文書の元を生成"
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "設定の読み込みに失敗: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "設定の保存に失敗: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr "ファイル種類 \"%s\" 向けの設定ファイルが見つかりません: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      "# このファイル種類の設定ファイルがまだありません。\n"
      "# 作成するには、このファイルに適切な内容を記述し、保存します。\n"
      "# このファイルの説明部分の構文については、マニュアルを参照してください。\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "ファイル \"%s\" の読み込みに失敗: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr "文書コメントを挿入"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr "文書の現在のシンボル(_D)"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr "現在のシンボルの文書を生成します"
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr "すべてのシンボルの文書(_A)"
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr "現在の文書のすべてのシンボルについての文書を生成"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "設定ファイルの再読み込み(_R)"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "設定ファイルを再読み込みします"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "現在の言語の設定を編集(_E)"
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr "現在の言語設定ファイルを編集のために開く"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "マニュアルを開く(_M)"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "マニュアルをブラウザで開く"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "文書の生成(_D)"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "全般"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "文書を生成する前にファイルを保存(_S)"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "現在の文書からヘルプ文書を生成する前にディスクに保存するかどうかを指定しま"
      "す。技術的な側面から見ると、タグ一覧が更新されます。このオプションを無効に"
      "し、更新された文書からヘルプ文書を生成すると、現在の文書ではなく、最後に保存"
      "された状態からコメントが生成されます。"
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr "挿入した文書にインデントをつける(_I)"
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr "挿入した文書を、挿入位置でのインデントに合わせるかどうかを指定"
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "文書の種類"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "それぞれのファイル種類に使用される文書種類を選択します。リストの先頭にある特"
      "別な言語種類 \"すべて\" は、言語別の設定が用意されていないすべての言語に使わ"
      "れます。"
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr "全体の環境"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "全体の環境設定を変更したり追加します。この設定はファイル種類別の設定に結合さ"
      "れます。"
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "ファイル \"%s\" は存在しますが通常のファイルではありません"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: ファイルまたはディレクトリがありません"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "メモリ出力ストリームのリサイズに失敗"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr "正規表現を展開した引数が一致しません(引数リスト: \"%s\")"
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "全体の環境の追加に失敗,スキップ: %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "コメントのビルドに失敗: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "文書種類 \"%s\" は言語 \"%s\" 向けには存在しません."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr "シンボル \"%s\" に適用できる設定はありません(種類 \"%s\" 行 %lu)"
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "%d 行に有効なタグはありません"
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr "文書にタグはありません"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "不明なオプション"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      "オプションまたはプロキシーが無効: プロキシーのプロパティかオプションの種類が"
      "正しくありません。"
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "キーファイルエントリー %s::%s の値の種類が不明"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr "キーファイルエントリー %s::%s: 読み込みエラー %s"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "言語"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr "文書種類の関連付けを変更(_C)"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr "文書種類の関連付けを削除(_D)"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "すべて"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr "言語別の設定が用意されてしないすべて言語用の文書種類設定"
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "番号を挿入"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "列に番号を挿入"
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "数えています..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "準備中..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "挿入中..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "基数が11以上のとき"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "開始(_S):"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "増分(_T):"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "基数(_B):"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "文字:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "大文字(_U)"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "小文字(_L)"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "基数の接頭語(_P)"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "8進数には0,16進数には0x,正の10進数に+をつけることができます"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "余白:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "空白(_A)"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "ゼロ(_Z)"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "番号を挿入(_N)"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "環境"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "書式"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "文書構造"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "リスト"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "数学"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "環境を挿入"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "環境:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "パッケージをどこに挿入したらよいか分かりません: %s\n"
      "パッケージを手作業で挿入してください"
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr "パッケージをどこに挿入したらよいか分かりません: %s"
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "記事 (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "書籍 (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr "小冊子 (@Booklet)"
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "カンファレンス (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr "本の一部 (@Inbook)"
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr "文集の一部 (@Incollection)"
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr "会議録の論文 (@Inproceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr "マニュアル (@Manual)"
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "修士論文 (@Mastersthesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr "その他 (@Misc)"
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr "博士論文 (@PhdThesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr "議事録 (@Proceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr "テクニカルレポート (@Techreport)"
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "出版されていない著作物 (@Unpublished)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr "注釈"
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "著者"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr "本の題名"
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "章"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr "クロスリファレンス"
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "版"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "編集者"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "電子印刷"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr "出版方法"
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "研究機関"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "論文誌"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "キー"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "月"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "メモ"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "号"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "組織"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "頁"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "出版社"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "学校"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "シリーズ"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "題名"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "巻"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "年"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "出版社の住所"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr "注釈付き論文の注釈"
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "著者の名前、複数あるときは 'and' で区切ります"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "書籍のタイトル、その一部のみ引用されている場合"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "章番号"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr "引用項目のデータベース検索キー"
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "本の版数 (\"初版\" や \"第2版\"のような)"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "編集者の名前、複数のときは 'and' で区切ります"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "電子出版の仕様"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "出力方法を指定(標準でない方法のとき)"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "出版に関係した機関"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "文献が掲載された論文集または雑誌"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr "項目のアルファベット順を指定したり変更するのに使用する隠し項目"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr "出版された月または作成月(未公開のとき)"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "その他の情報"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "学会誌、雑誌、技術レポートの号数"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "会議のスポンサー"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "カンマまたは二重ハイフンで区切られた頁番号"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "出版社の名前"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "論文が書かれた学校"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "出版された本のシリーズ"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "文献のタイトル"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "テクニカルレポートの種類"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "インターネット・アドレス"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "巻数"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "発行年または作成年(未公開のとき)"
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr "LaTeXウィザードを実行"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "選択した文字を斜体に設定"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "選択した文字を太字に設定"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "選択した文字に下線を設定"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "中心揃え"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "左揃え"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "右揃え"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "標準で KOMA スクリプトを使用"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "追加プラグインツールバーを表示"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr "入力時に大文字化する文"
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr "Geanyのメインツールバーにウィザードアイコンを追加"
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr "小さい大文字で表示 (\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr "このプラグインを無視"
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr "LaTeXで自動補完を常に実行"
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr "自動補完モード"
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "ラベルを挿入"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "ラベル名:"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "コマンドを挿入"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "コマンド名:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "参照を挿入"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "参照名:"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "標準参照(_S)"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "ページ参照(_P)"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr "両方追加(_A)"
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "詳細"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr "補助パッケージを追加"
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "パッケージ名:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr "パッケージオプション:"
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr "BibTeX 参照を挿入"
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr "BibTeX 参照名:"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "敬称の書出し(Dear Sir や Madameなど)"
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr "文末の定型句(regardsなど)"
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr "テンプレートが割り当てられていません。終了します"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "LaTeXウィザード"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "テンプレート:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr "新規文書を作成するのに使用されるテンプレートを設定"
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "標準"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr "文書クラス:"
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "作成する文書の種類を選択"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "論文"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "レポート"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "手紙"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "プレゼンテーション"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "エンコード方法:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "新規文書のエンコード方法を設定"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr "フォントサイズ:"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr "新規文書の標準フォントサイズを設定"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "著者:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr "\\author コマンドの値を設定。通常あなたの氏名を設定します。"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "日付:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "新規作成 LaTeX文書のヘッダに追加する\\dateコマンドの値を設定します。日付を一"
      "定にしたくないときは、\\todayのままにしておくのがよいでしょう。"
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "題名:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "新規文書の題名を設定します。"
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "用紙サイズ:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "新規文書の用紙を選択"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "用紙の向き"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr "新規文書の用紙の向きを選択"
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr "可能であれば、KOMAスクリプトクラスを使用してください。"
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "Markus Kohmによる、KOMAスクリプト\n"
      "使用の注意: あなたの文書をコンパイルするには、これらのクラスを事前にインス"
      "トールする必要があります。"
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "草稿モードを使用"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "新規文書に草稿フラグを設定し、デバッグヘルパーを使用した文書を作成します。"
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "LaTeXウィザードを実行"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "ラベル(\\label)を挿入"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "参照(\\ref)を挿入"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "改行(\\\\)を挿入 "
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "コマンドを挿入"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr "入力置き換えのOn/Off"
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "特殊文字の置き換え"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr "環境挿入ダイアログを実行"
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "項目を挿入(\\item)"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr "太字フォント"
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr "斜体フォント"
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr "固定幅フォント"
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "中央合わせ"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "左寄せ"
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr "右寄せ "
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr "説明リストを挿入"
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr "項目リストを挿入"
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr "列挙リストを挿入"
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr "レベルを上げる"
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr "レベルを下げる"
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr "パッケージ(\\usepackage{})を挿入"
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr "BibTeX参照ダイアログを挿入"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX は Geany で LaTexをよりよくサポートするプラグインです。\n"
      "不具合や機能追加については作者にレポートしてください。"
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      "glatex_set_autocompletion_contextsize が不正な値で初期化されました。既定値に"
      "戻します。設定ファイルを確認してください。"
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr "page \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "LaTeXウィザード(_W)"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "LaTeX 文書を簡単に作成するウィザードを開始"
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "特殊文字の挿入(_N)"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "あまり使われない特殊文字や記号を入力するのを補助します。"
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "参照を挿入(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr "文書に参照を挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "ラベルを挿入(_L)"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "文書にラベルを挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "環境を挿入(_E)"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr "文書に環境を挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "パッケージを挿入(_A)"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      "現在のファイルのヘッダに \\usepackage{} を挿入するための小さなダイアログ"
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "書式(_F)"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "フォントサイズ(_O)"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "特殊文字の置換(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr "特殊文字の大域置換(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "選択した特殊文字をTeXの構文に置換(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr "特殊文字置換の切り替え(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "コマンドを挿入(_C)"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr "文書にカスタムコマンドを挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr "BibTeX 参照を挿入(_I)"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr "BibTeXファイルの参照を挿入します"
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr "_BibTeX エントリー"
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr "LaTeX文字"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "ギリシャ文字"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "ドイツ語ウムラウト"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "その他"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "矢印記号"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "関係式"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "バイナリ操作"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "イタリック"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "太字"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "下線"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "固定幅"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Small Caps"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "傾斜"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "強調"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "極小"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr "ふりがなサイズ"
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "脚注サイズ"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "小文字"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "通常通り"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "サイズ大"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "先頭大文字"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "全部大文字"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "特大"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "特大(先頭大文字)"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "IBM 850 コードページ"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "IBM 852 コードページ"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "コードページなし"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr "Geanyでダミーテキストを作成"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Lipsum-Generator"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "ダミーテキストの文字数を指定"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr "あなたの文書にダミーテキストを追加します"
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "ダミーテキストを挿入"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      " 正しい変数型は \"%s\" (引数 #%d )\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      " 正しい変数型は \"%s\" または \"%s\" (引数 #%d )\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      " 引数 #%d で無効なテーブル:\n"
      " 正しい要素型は \"%s\" (要素 #%d)\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Lua スクリプト"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Lua スクリプトで作成したカスタムコマンドを実行します"
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Lua スクリプト プラグイン"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Lua スクリプトエラー:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "スクリプトのタイムアウト"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Lua スクリプトが終了するまでに時間がかかりすぎているようです。\n"
      "スクリプトが完了するまで待ちつづけますか?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "スクリプトがタイムアウト時間を越えました"
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(エラーオブジェクトは文字列ではありません)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "スクリプト内部で不明なエラー"
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "メモリ不足"
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "スクリプトファイルのオープン失敗"
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "スクリプトファイル読み込み時の不明なエラー"
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "_Lua スクリプト"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: '%s' からメニューを構築\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "設定するものはありません!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "以下のスクリプトを作成できます:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "あなたのカスタム環境設定ダイアログに追加します。"
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "ファイルを開く"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "ファイルを選択"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "参照..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "色を選択"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "選択..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "フォントを選択"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "選択..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "モジュール \"%s\" が関数 navigate() でエラー:\n"
      "不明なナビゲーションモード \"%s\" (引数 #1)\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      "API コマンド \"%s\" が実装されていません。\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      "コマンド \"%s\"の引数が不足しています。\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      "不明なコマンド \"%s\" (引数 #1)\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      " 引数 #%d で無効なテーブル:\n"
      "  不明なフラグ \"%s\" (要素 #%d)\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr "<大きすぎて表示できません>"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "ファイルがあります"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "上書きしますか?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "確認"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "ファイルを保存"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "モジュール \"%s\" が関数 pickfile() でエラー:\n"
      "引数 #3 のフィルタ文字列の解析に失敗。\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      "引数 #1には文字列 \"open\" または \"save\" が必要です。\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: サポートライブラリ %s をロードできません!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: サポートライブラリ %s の初期化に失敗!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      "%s: サポートライブラリのバージョンが不一致: %s for %s (%s であるべきです)!\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr "%s: サポートライブラリABIが不一致: %d for %s (%d であるべきです)!\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: サポートライブラリ %s がありません!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "プラグイン %s のロードに失敗。\n"
      "インストールを確認してください。"
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() でエラー:\n"
      "ウィジェット \"%s\" がありません(引数 #1)\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "モジュール \"%s\" が関数 %s() 引数 #2 でエラー:\n"
      "ウィジェット \"%s\" にシグナル名 \"%s\"がありません。\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "クリップボードに切り取り"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "クリップボードにコピー"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "クリップボードから貼り付け"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "現在の行をクリップボードに切り取り"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "現在の行をクリップボードにコピー"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "左の文字を削除"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "右の文字を削除"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "左の文字を削除(改行は削除しない)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "左の単語の始まりまで削除"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "右の単語の始まりまで削除"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "右の単語の終わりまで削除"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "行頭まで削除"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "行末まで削除"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "現在の行を削除"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr "後方タブ(後ろに何もないときはタブを削除)"
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "1行下スクロール"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "1行上スクロール"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr "拡大表示"
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr "縮小表示"
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "カーソルを下に移動"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "カーソルを上に移動"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "カーソルを左に移動"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "カーソルを右に移動"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "カーソルを左の単語の始まりに移動"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "カーソルを右の単語の始まりに移動"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr "カーソルを左の単語の部分の始まりに移動"
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr "カーソルを右の単語の部分の始まりに移動"
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "カーソルを行の始まりに移動"
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "カーソルを行の終わりに移動"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr "カーソルを文書の先頭の行に移動"
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr "カーソルを文書の最後の行に移動"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "カーソルを1頁上に移動"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "カーソルを1頁下に移動"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr "カーソルを最初に表示されている文字に移動"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr "カーソルを最後に表示されている文字に移動"
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      "カーソルを行の最初の空白でない文字に移動, カーソルが既に最初の空白でない文字"
      "にあるときは行の先頭に移動"
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "カーソルを次の段落の始まりに移動"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr "カーソルを現在/前の段落の始まりに移動"
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr "カーソルを左の単語の終わりに移動"
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr "カーソルを右の単語の終わりに移動"
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr "選択範囲を1行下に拡大"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "選択範囲を1行上に拡大"
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "選択範囲を1行左に拡大"
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "選択範囲を1行右に拡大"
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr "選択範囲を左の単語の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr "選択範囲を右の単語の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "選択範囲を左の単語の部分の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "選択範囲を右の単語の部分の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "選択範囲を行の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "選択範囲を行の終わりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr "選択範囲を文書の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr "選択範囲を文書の終わりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "選択範囲を1頁上に拡大"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "選択範囲を1頁下に拡大"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr "選択範囲を最初に表示されている文字まで拡大"
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr "選択範囲を最後に表示されている文字まで拡大"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      "選択範囲を行の最初の空白でない文字まで拡大, カーソルが既に最初の空白でない文"
      "字にあるときは行の先頭まで拡大"
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "選択範囲を次の段落の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr "選択範囲を現在/前の段落の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr "選択範囲を左の単語の終わりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr "選択範囲を右の単語の終わりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr "矩形選択を1行下に拡大"
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr "矩形選択を1行上に拡大"
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr "矩形選択を1行左に拡大"
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr "矩形選択を1行右に拡大"
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr "矩形選択を行の始まりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr "矩形選択を行の終わりまで拡大"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr "矩形選択を1頁上に拡大"
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr "矩形選択を1頁下に拡大"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      "矩形選択を行の最初の空白でない文字まで拡大, カーソルが既に最初の空白でない文"
      "字にあるときは行の先頭まで拡大"
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "選択を解除"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr "挿入/上書きモードを切替"
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "タブ"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "改行"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr "\"\" を挿入/置換"
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr "現在の行と上の行を交換"
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "選択した文字を小文字に変換"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "選択した文字を大文字に変換"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr "現在の行を下にコピー"
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      "選択された文字列を下にコピー。選択されていなかったら、現在の行を下にコピー"
      
      #: ../geanymacro/src/geanymacro.c:150
      #, fuzzy
      msgid "Search for next \"\""
      msgstr "検索文字列:"
      
      #: ../geanymacro/src/geanymacro.c:151
      #, fuzzy
      msgid "Search for previous \"\""
      msgstr "単語の開始部分を検索"
      
      #: ../geanymacro/src/geanymacro.c:152
      #, fuzzy
      msgid "Set start of search to beginning of selection"
      msgstr "行頭まで削除"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "マクロ"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr "Geanyマクロ"
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr "クリップボードに文字がありません!"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      "認識不能なメッセージ\n"
      "%i %i %i"
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr "Geanyを閉じるときにマクロを保存する"
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr "既存のマクロに上書きするときに問い合わせる"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr "Geanyマクロ・ヘルプ"
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      "このプラグインは Geany にマクロを実装します。\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      "このプラグインはあなたの操作を記録し、マクロとして使用することができます。"
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      "いくつかの操作を記録して、キーの組み合わせに割り当てて繰り返すことができま"
      "す。"
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      "最後の2文字を削除したいテキストファイルがあるときは、マクロの記録を開始し、"
      "Endキー,BSキー,BSキーの順に押し、下の行に移動してマクロの記録を終了します。"
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      "後はマクロを呼び出すだけで、行末の2文字を削除して次の行にカーソルが移動しま"
      "す。"
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      "ツールメニューのマクロを記録コマンドを選択すると、ダイアログボックスが表示さ"
      "れます。"
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr "未使用のキーの組み合わせを指定し, マクロの名前を入力してください。"
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr "次に記録ボタンを押します。"
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      "ツールメニューのマクロの記録を停止コマンドを指定するまで、あなたが行った操作"
      "がマクロとして記録されます。"
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr "先に指定したキーの組み合わせによってマクロを実行します。"
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      "定義済みのマクロを編集するには、ツールメニューからマクロの編集を選びます。"
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr "マクロを選択して削除するか、再び操作を記録することができます。"
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      "マクロ名をクリックして名前を変更することや、キーの組み合わせを変更することも"
      "可能です。"
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      "編集オプションを選択して、マクロを定義している個々の操作を確認できます。"
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      "個々の操作に別のコマンドを指定、操作の順序を変更、新しい操作を追加、操作の削"
      "除も可能です。選択した文字や挿入した文字の編集も可能です。\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      "注意してほしいことは、UNDO REDO 操作は記録できないことです。マクロを実行する"
      "ときに UNDO REDO 操作は動作しません。\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      "このプラグインの既定の動作を変更することも可能です。ツールメニューのプラグイ"
      "ンマネージャを選択し、このプラグインを選択して、設定ボタンをクリックしてくだ"
      "さい。"
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr "変更可能な項目:\n"
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      "Geanyを閉じるときにマクロを保存 - 選択すると、記録したマクロをファイルに保存"
      "し次回の起動時にマクロを読み込みます。選択しないとGeany終了時にマクロは破棄さ"
      "れます。\n"
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      "既存のマクロを置き換える前に確認する - 選択すると既存のマクロを上書きする前に"
      "確認メッセージが表示されます。選択しないと同じ名前やキーの組み合わせでマクロ"
      "を記録すると以前のマクロは直ちに削除されます。"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "マクロを記録"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "記録"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "マクロ・キー:"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "マクロ名:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "マクロ名 \"%s\"\n"
      "は使用中です.\n"
      "上書きしますか?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "マクロ・キー \"%s\"\n"
      "は使用中です.\n"
      "上書きしますか?"
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr "%s を検索、 %s%s%s を検索中。 %s%s%s%s%s"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "検索オプション:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "了解(_O)"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr "キャンセル(_C)"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "前方検索"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "後方検索"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "クリップボードの内容を検索"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr "検索文字列:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "大文字小文字を区別して検索"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "単語全体を検索"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "単語の開始部分を検索"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "検索文字列は正規表現"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "検索文字列はPOSIX互換"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr "挿入/置き換え文字列を編集"
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "文字列:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr "\"%s\"を挿入/で置き換え"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "編集: %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "イベント"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "上に移動(_U)"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "下に移動(_W)"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr "上に追加(_A)"
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr "下に追加(_B)"
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "削除(_D)"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "マクロを修正"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "マクロ名"
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr "マクロ・キー"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr "再び記録(_R)"
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "マクロを記録(_M)"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "マクロ記録を停止(_M)"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "マクロを修正(_E)"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr "ミニスクリプトファイルを読み込み"
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr "ミニスクリプトファイルを保存"
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr "ミニスクリプト フィルタ"
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr "ミニスクリプト ウィンドウをクリア"
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr "ミニスクリプトをウィンドウに読み込み"
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr "ミニスクリプトをファイルに保存"
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr "ミニスクリプト プラグインの詳細な情報を表示する"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr "ミニスクリプト種類を選択"
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr "入力フィルタ"
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr "ミニスクリプト入力フィルタを選択"
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "選択"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "文書"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "セッション"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr "出力フィルタ"
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr "ミニスクリプト出力フィルタを選択"
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "現在の文書"
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr "新規文書"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr "スクリプトの設定"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr "ミニスクリプト"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr "選択文字列や現在の文書にスクリプト フィルタを適用するツール"
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, Geanyユーザ"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr "ミニスクリプト(_M)"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr "番号指定ブックマーク"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr "すべて使用中のためマーカを '%s'に適用できません"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr "了解(_O)"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      "'%s' はgeanyで保存してから変更されています。マーカの位置は信用できないので"
      "ロードしません。\n"
      "無視をクリックするとマーカを強制的にロードします。"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr "無視(_I)"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr "折りたたみ状態を保持"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr "ブックマークに移動したときに画面の中心にする"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to start of line"
      msgstr "行の始まりに移動"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr "行の記録された位置に移動"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr "現在の行の位置に移動"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      msgid "Move to End of line"
      msgstr "行の終わりに移動"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr "プログラムの設定を保存"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr "ファイルに設定を保存"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr "通常のブックマークを保存"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr "番号指定ブックマーク・ヘルプ"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      "このプラグインは番号指定ブックマークを提供します。ブックマークを設定するに"
      "は、CtrlキーとShiftキーを押しながら、0から9のキーを押してください。行番号の隣"
      "にマーカが表示されます。マーカの行でCtrl+Shift+数字キーを押すと、そのマーカは"
      "削除されます。別の行でCtrl+Shift+数字キーを押すと、その行が新しいマーカ位置に"
      "なります。ある行にマーカが複数設定されているときは、最後に指定したマーカ番号"
      "が表示されますが、設定された他のマーカも有効です。以前設定したマーカを移動す"
      "るには、Ctrlキーと0から9のキーを押します。"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr "すべて使用中のためマーカを適用できません"
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "一時ファイルを作成できません"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      "ユーザ ID \"%s\" を持つキーの正当性は \"%s\" です。\n"
      "\n"
      "警告: ユーザ ID にある人物のキーかどうか確認できません。\n"
      "\n"
      "あなたはこのキーを *本当に* 使用しますか?"
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      "受信者が選択されていません。\n"
      "対象鍵暗号を使用しますか?"
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr "gpg暗号化プラグイン"
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr "libgpgme使用バージョン:"
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr "エラー "
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "暗号化"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "署名"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr "復号/ 検証"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr "署名を検証"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "受信者を選択してください"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "メッセージに著名します:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "受信者を選択"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "署名に使うキーを選択:"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "署名者を選択"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "pinentryを使用できません"
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "pinentryからの不明な出力"
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr "パスフレーズ入力"
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "パスフレーズ"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "パスフレーズを入力"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "pinentry エラー"
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "pinentryからの不明なエラー"
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      "エラー。Windowsでは pgp-agent を使用しないパスフレーズ入力をまだサポートして"
      "いません。"
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr "フィンガープリントを使用したキー"
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "不明"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "未定義"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "無制限"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "ある程度"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "完全"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr "絶対的"
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr "[正当性が保証できない]"
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr " 有効"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr " 緑"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr " 赤"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr "取り消し"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " キー期限切れ"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " 著名期限切れ"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " キー紛失"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " 証明書失効リスト(crl)紛失"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " 証明書失効リスト(crl)が古い"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr " 悪いポリシー"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr " システムエラー"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "不明\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      "状態 ............: %s\n"
      "概要 ............:%s\n"
      "指紋 ............: %s\n"
      "作成 ............: %s 期限 ...: %s 有効性 ..: %s\n"
      "理由 ............: %s\n"
      "公開鍵アルゴリズム: %s\n"
      "要約アルゴリズム .: %s\n"
      "PKA アドレス ....: %s\n"
      "PKA 信用 ........: %s\n"
      "その他のフラグ ...:%s%s\n"
      "オプション .......: %s\n"
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[なし]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "不明"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "n/a"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "不正"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "了解"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr "RFU"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr " キー不正"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr " チェインモデル"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "はい"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "いいえ"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "著名を検出 "
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "著名"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "検証結果がありません"
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "エラー, 検証結果がありません"
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "署名ファイルを開く"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "別のプロジェクト管理プラグイン"
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr "geanyprjプロジェクトの文字検索"
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr "サイドバー表示"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "プロジェクトの設定"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "新規プロジェクト"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "作成(_R)"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "名前:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "場所:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "プロジェクトの場所を選択"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "基本パス:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "すべてのファイルの基本パスは、プロジェクトを定義します。新規のパス、または既"
      "存のディレクトリを指定できます。プロジェクトファイル名の相対パスを使用できま"
      "す。"
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "プロジェクトの基本パスを選択"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "ロード時にファイル一覧を生成"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "自動的にファイルを追加は、プロジェクトのプロジェクトの種類に一致したファイル"
      "を自動的にロードします。このオプションを選択すると、あなたは手動でファイルの"
      "追加や削除ができなくなります。あなたが手作業でした変更は次回にプロジェクトが"
      "ロードされたときに失われます。"
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "種類:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "プロジェクトファイル \"%s\" は既に存在します"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "プロジェクト(_P)"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "プロジェクトを削除"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "ファイルを追加"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "設定"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "プロジェクト内を検索"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "ファイルを削除"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "サイドバーを隠す(_I)"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "プロジェクト"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "プロジェクト \"%s\" が開かれました"
      
      #: ../geanypy/src/geanypy-plugin.c:38
      #, fuzzy
      msgid "GeanyPy"
      msgstr "GeanyPG"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, fuzzy, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "設定ディレクトリを '%s' に作成できません"
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      #, fuzzy
      msgid "System plugin directory not found."
      msgstr "tty 一時ディレクトリがありません!\n"
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, fuzzy, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "設定ディレクトリを '%s' に作成できません"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "ユーザーのお気に入りのメーラーで、現在のファイルを添付ファイルとして送信する"
      "プラグイン"
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "受信者アドレス"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "受信者の電子メールアドレスを入力:"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr "ファイル名がありません。実行したコマンドは間違っています。"
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr "受信者アドレスがありません。実行したコマンドは間違っています。"
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr "メールプログラムを実行できません。環境設定を確認してください。"
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "メールプログラムを先に設定してください。"
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "送信する前にファイルを保存する必要があります。"
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "メール"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "電子メールとして送信"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "メールプログラムのパスとオプション:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "注: \n"
      "\t\\%f はあなたのファイル名に置換されます。\n"
      "\t\\%r は受信者の電子メールアドレスに置換されます。\n"
      "\t\\%b はファイルのベース名に置換されます。\n"
      "\t例:\n"
      "\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
      "\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr "ツールバーアイコンを表示"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr "ファイル送信を簡単にするためにツールバーにアイコンを表示します。"
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr "受信者のメールアドレスを入力するダイアログを使用"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "ファイルを電子メールとして送信"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "文書をメールとして送信(_M)"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "任意の電子メールプログラムによって編集中のファイルを非圧縮の添付ファイルとし"
      "て送信"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "バージョン管理システムとのインタフェース"
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: s_spawn_sync エラー: %s"
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated:  '%s' から '%s' に名前変更できません。"
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "変更されたものはありません。"
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr "履歴が利用できません"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "変更を取り消してもよいですか: %s?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "ファイルを追加してもよいですか: %s?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "ファイルを削除してもよいですか: %s?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "リポジトリから更新してもよいですか?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "リポジトリに反映してもよいですか Y/N"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "状態"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "パス"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "コミット"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "すべてのファイルを選択/解除(_D)"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "コミット メッセージ:"
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr "コミット(_O)"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "反映させるものはありません。"
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "スペルチェッカ初期化エラー: %s"
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "プラグインによって文書タブに作成された変更フラグを設定"
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "このオプションが有効な場合、VCプラグインによって新規に文書が作成されると、変"
      "更ありにマークされます。このオプションが便利な場合もありますが、多くの文書に"
      "対して逐一「保存しますか」ダイアログが表示される原因にもなります。"
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr "新規ファイルをVCSに追加するかどうか確認"
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "新規に作成されたファイルをVCSに追加するかどうか確認ダイアログを表示します。"
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "コミットダイアログを最大化"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "コミットダイアログを最大化して表示します。"
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "外部diffビューアを使用"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "ファイルの差分を表示するのに外部のdiffビューアを使用します。"
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "'VCエントリー'をエディタのメニューに追加"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr "エディタメニュー内にVCの機能を表示"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr "メニューをメニューバーに追加"
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      "このプラグインのメニューがツールメニューの中に表示されるかGeanyのメニューバー"
      "に追加されるかを指定。GeanyVCの次回起動時に有効になります。"
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "CVSを有効"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "GITを有効"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "SVNを有効"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "SVKを有効"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Bazaarを有効"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Mercurialを有効"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "スペルチェック言語"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr "_VC ファイル アクション"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "差分(_D)"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "現在のファイルとレポジトリのファイルの差分を作成します。"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "取り消し(_R)"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "作業コピーのファイルを最初の状態に戻す(ローカルな編集を破棄)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr "履歴を追跡(_B)"
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr "ファイルの変更履歴を版ごと修正者ごとに表示"
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "履歴ログ(_H)"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "現在のファイルのログを表示"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "オリジナル(_O)"
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr "現在のファイルのオリジナルを表示"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "バージョン管理に追加(_A)"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "ファイルをレポジトリに追加"
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "バージョン管理から削除(_R)"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "レポジトリからファイルを削除"
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "ディレクトリ(_D)"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "現在のファイルのディレクトリから差分を作成"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr "現在のディレクトリの元のファイルを復元(ローカルな編集を破棄)"
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "現在のディレクトリのログを表示"
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "_BASE ディレクトリ"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr "バージョン管理ディレクトリから diff を作成"
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "ローカルな編集を元に戻す"
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr "バージョン管理ディレクトリのログを表示"
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr "VC コミット(_C)"
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "ファイルの差分を表示"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "ディレクトリの差分を表示"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "BASEディレクトリの差分を表示"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "変更を反映"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "状態を表示"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "1つのファイルを元に戻す"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "ディレクトリを元に戻す"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "BASE ディレクトリに戻す"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "ファイルを更新"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "_VC"
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr "バージョン管理(_V)"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "状態(_S)"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "状態を表示"
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "外部のレポジトリから更新"
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "コミット(_C)"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "変更を反映"
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr "お気に入りのpastebinからコードを貼り付け"
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "ディレクトリ %s がありません!\n"
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "無効な場所 \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr "空の貼り付けを作成するのを禁じる"
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "内容がXMLではないと判断されました"
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "ファイル種類 \"%s\" 向けの設定ファイルが見つかりません: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "スクリプトファイルのオープン失敗"
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      #, fuzzy
      msgid "unexpected response from the pastebin service."
      msgstr "pinentryからの不明なエラー"
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr "貼り付けに成功しました"
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "あなたの貼りつけたものはここで見つかりました:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr "開いている文書がありません。文書を開いてもう一度実行します。\n"
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr "作者名項目は空です!"
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr "pastebinを選択"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr "作者名を入力"
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr "新しいブラウザタブに貼りつけたものを表示"
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr "貼り付け!(_P)"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "ファイルを削除"
      
      #: ../git-changebar/data/prefs.ui.h:6
      #, fuzzy
      msgid "Colors"
      msgstr "背景色:"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "設定の読み込みに失敗: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, fuzzy, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "ファイル種類 \"%s\" 向けの設定ファイルが見つかりません: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "設定の保存に失敗: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "前の頁に移動"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "次の頁に移動"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, fuzzy, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "プラグイン %s のロードに失敗。\n"
      "インストールを確認してください。"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "ファイルを削除"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "ファイルを削除"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "バイナリ操作"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "バイナリ操作"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "位置:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "サイドバー"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "メッセージウィンドウ"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "フォント:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "コードフォント:"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "背景色:"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "前景色:"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr "作業ファイルを選択"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr "リアルタイム マークダウン プレビュー"
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr "マークダウン プレビュー"
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr "現在の文書はマークダウンファイルではありません"
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "設定の保存に失敗: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "設定の読み込みに失敗: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "メッセージウィンドウ"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "サイドバー"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "端末で開く"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "新しいウィンドウ(_N)"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "前を検索"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "状態を表示"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "既定の設定の保存に失敗: %s"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "端末を表示"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "既定の設定の保存に失敗: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, fuzzy, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "設定ディレクトリを '%s' に作成できません"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "終了"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "端末を表示"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "コメントのビルドに失敗: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "端末を表示"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      #, fuzzy
      msgid "Zoom Level:"
      msgstr "拡大表示"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "場所の名前"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "ツールチップを表示(_T)"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "オプション"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      #, fuzzy
      msgid "Color:"
      msgstr "背景色:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      #, fuzzy
      msgid "Outline Color:"
      msgstr "色を選択"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      #, fuzzy
      msgid "Go to previous string"
      msgstr "前の頁に移動"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      #, fuzzy
      msgid "Go to next string"
      msgstr "次の頁に移動"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      #, fuzzy
      msgid "Toggle current translation fuzziness"
      msgstr "文書タブを切り替え"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      #, fuzzy
      msgid "Show statistics of the current document"
      msgstr "現在の文書の綴りを検査"
      
      #: ../pohelper/data/menus.ui.h:25
      #, fuzzy
      msgid "_Show stats"
      msgstr "状態を表示"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      #, fuzzy
      msgid "Translated:"
      msgstr "translator_credits"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      #, fuzzy
      msgid "Untranslated:"
      msgstr "translator_credits"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr "XML整形"
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr "XMLを整形し人が読みやすくします"
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr "XML整形"
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr "XML整形を実行"
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr "内容がXMLではないと判断されました"
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      "いくつかの機能がサポートされていないため、指定したXMLの整形に失敗しました。\n"
      "\n"
      "詳細は ヘルプ > デバッグメッセージを確認してください..."
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "コメント"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr "1行に設定"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr "可能ならインラインにする"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "位置合わせ"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr "文字ノード"
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "CDATA"
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr "空ノード"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr "結合 (にする)"
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr "空白を開ける (にする)"
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr "展開 (にする)"
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "インデント"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "空白"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "改行"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "プロジェクトの設定"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr "ヘッダ/ソースを交換"
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr "ヘッダ/ソースを交換"
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      #, fuzzy
      msgid "Open Selected File (Project Organizer)"
      msgstr "選択したファイルを開く(gproject)"
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr "ソースのフィルタ:"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      "空白で区切られたヘッダファイルとして使用するファイルパターンのリストヘッダ。"
      "ソースの交換に使用します。"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr "ヘッダのフィルタ:"
      
      #: ../projectorganizer/src/prjorg-project.c:593
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "空白で区切られたヘッダファイルとして使用するファイルパターンのリストヘッダ。"
      "ソースの交換に使用します。"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "無視するディレクトリ:"
      
      #: ../projectorganizer/src/prjorg-project.c:605
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      "空白で区切られたソースファイル検索の対象から外すディレクトリのパターンのリス"
      "ト"
      
      #: ../projectorganizer/src/prjorg-project.c:611
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "無視するディレクトリ:"
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      "空白で区切られたソースファイル検索の対象から外すディレクトリのパターンのリス"
      "ト"
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "プロジェクトファイルを検索"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      #, fuzzy
      msgid "Yes"
      msgstr "はい"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "番号"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      #, fuzzy
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      "現在開いているファイルだけでなく、プロジェクトの全てのファイルからタグ・リス"
      "トを生成します。大きなプロジェクト(1000ファイル以上)ではとても遅いので、使用"
      "しないでください。"
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr "ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr "検索範囲:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr "完全パスで検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "ディレクトリを作成"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "ディレクトリを選択"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "アドオン"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr "すべて読み直し"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "ディレクトリを元に戻す"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "すべて展開"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr "アクティブなエディタに従う"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr "すべて展開"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "複数ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "ファイルを検索"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "ディレクトリを元に戻す"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "デバッグ(_G)"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr "スタートアッププログラム(_S)"
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "最近のプログラム(_P)"
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr "実行/継続(_R)"
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr "カーソル位置まで実行(_C)"
      
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr "ソース位置まで実行(_S)"
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr "中へ(_I)"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr "次へ(_O)"
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr "外へ(_U)"
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr "終了(_T)"
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr "ブレークポイント(_B)"
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr "_GDB コマンド"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "詳細(_M)"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr "端末を開く(_S)"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr "マーカーをリセット(_R)"
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr "ファイルをクリア(_C)"
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr "フィード(_F)"
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "ウィンドウ(_W)"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr "自動表示(_A)"
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr "自動非表示(_H)"
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr "エラーを表示(_E)"
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr "ソートしない(_U)"
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr "ソース表示(_V)"
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr "同期(_Y)"
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr "中断(_I)"
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr "シグナルを送る(_S)"
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr "選択(_E)"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr "実行中(_R)"
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr "停止(_S)"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr "終了(_E)"
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr "フォロー(_F)"
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr "列(_C)"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr "グループ表示(_G)"
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr "コアを表示(_C)"
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr "ブレークを追加(_B)"
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr "ウォッチを追加(_W)"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr "実行時に適用(_R)"
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr "@entryを表示(_S)"
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr "アドレスを表示(_A)"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr "修正(_M)"
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr "ウォッチ(_W)"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr "検査(_I)"
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr "_8ビットモード"
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "標準(_D)"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr "_7ビット"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr "ロケール(_L)"
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr ".namesを表示(_S)"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr "読み込み(_E)"
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr "グループ化(_G)"
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr "移動(_J)"
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "適用(_A)"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr "展開(_E)"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr "自然(_N)"
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr "10進(_D)"
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr "16進(_H)"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr "8進(_O)"
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "2進(_B)"
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr "評価/修正(_E)"
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr "式をウォッチ(_W)"
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr "変数を検査(_I)"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr "スレッド"
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr "スタック"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr "ロケール"
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr "監視"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "メモリ"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr "GDB コマンドを入力:"
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr "_UTF-8をロケールに変換"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr "スレッド(_T)"
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr "グループ(_G)"
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr "フレーム(_F)"
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr "プログラムを設定"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr "実行ファイル(_E):"
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr "引数(_A):"
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr "環境(_V):"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr "作業ディレクトリ(_W):"
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr "スクリプトを読込(_L):"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr "自動起動プログラム/gdbを終了(_R)"
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr "ノンストップモード(_N)"
      
      #: ../scope/data/scope.glade.h:86
      #, fuzzy
      msgid "_Temporary breakpoint on load at:"
      msgstr "一時的なブレークポイント(_T):"
      
      #: ../scope/data/scope.glade.h:87
      #, fuzzy
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr "全てのブレークポイント,ウォッチ,検査を削除(_D)"
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr "プログラム"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr "開く"
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr "g_db ロード"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr "プログラム開始(_R)"
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr "全ての表示を更新(_V)"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr "パネル"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr "標準8ビットテキストモード:"
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr "_7ビット \\nnn"
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr "表示"
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr "メンバー(_M)"
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr "および"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr "引数(_A)"
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr "名前"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr "展開(_X)"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr "表示(_H)"
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr "子"
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr "検査"
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr "表示 =ライブラリメッセージ(_I)"
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr "ツールチップを表示(_T)"
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr "その他"
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "読み込み(_I)"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr "割当て式を入力:"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr "検証"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "オブジェクト:"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr "フレーム:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr "実行時に適用(_A)"
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "展開"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr "開始:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr "回数:"
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr "適用時に展開(_E)"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr "プログラム端末"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      #, fuzzy
      msgid "breakpoint"
      msgstr "ブレークポイント"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "ブレークポイントを修正"
      
      #: ../scope/src/break.c:99
      #, fuzzy
      msgid "tracepoint"
      msgstr "監視ポイント"
      
      #: ../scope/src/break.c:100
      #, fuzzy
      msgid "fast tracepoint"
      msgstr "監視ポイント"
      
      #: ../scope/src/break.c:101
      #, fuzzy
      msgid "write watchpoint"
      msgstr "監視ポイントを修正"
      
      #: ../scope/src/break.c:104
      #, fuzzy
      msgid "access watchpoint"
      msgstr "監視ポイント"
      
      #: ../scope/src/break.c:106
      #, fuzzy
      msgid "read watchpoint"
      msgstr "監視ポイントを修正"
      
      #: ../scope/src/break.c:108
      #, fuzzy
      msgid "catchpoint"
      msgstr "監視ポイント"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      #, fuzzy
      msgid "unsupported MI"
      msgstr "ソートしない(_U)"
      
      #: ../scope/src/break.c:141
      #, fuzzy
      msgid "on load"
      msgstr "g_db ロード"
      
      #: ../scope/src/break.c:142
      #, fuzzy
      msgid "Run to Cursor"
      msgstr "カーソル位置まで実行(_C)"
      
      #: ../scope/src/break.c:1013
      #, fuzzy, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      "%s:%d に複数のブレークポイントがあります。\n"
      "ブレークポイントリストより1つに変更してください。"
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr "ブレークポイントを追加"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr "監視ポイントを追加"
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr "端末に送る"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr "文字コード(0...255)を入力:"
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr "スコープ: %s"
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr "ブレークポイントがありません。中止。"
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr "GDBは予期しないステータス %d で終了しました。"
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr "プログラムは終了しました。"
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr "無効なデータ"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr "範囲に子がありません"
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr "スコープ範囲外"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr "検査変数名が重複"
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr "メモリを読み込み"
      
      #: ../scope/src/memory.c:396
      #, fuzzy, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr "スコープ: ポインタサイズ > 8, データ無効"
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr "修正"
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr "評価/修正"
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr "式を監視"
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr "変数を検査"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr "未定義GDBエラー"
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "フォルダを選択"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "ファイルを選択"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr "スコープ: %s: %s."
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr "スコープ: 設定ファイルを生成しました。"
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr "%s 用のデバッグ設定を読み込みました"
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr "デバッグ設定ファイル %s の読み込みに失敗: %s"
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      "%s: %s.\n"
      "\n"
      "継続しますか?"
      
      #: ../scope/src/program.c:419
      #, fuzzy
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr "全てのブレークポイント、監視、検査を削除しますか?"
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr "_Name=value として"
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr "_Name = value として"
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr "スコープデバッガ"
      
      #: ../scope/src/scope.c:34
      #, fuzzy
      msgid "Relatively simple GDB front-end."
      msgstr "シンプルなGDBフロントエンド."
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr "プログラムを設定"
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr "実行/継続"
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr "ソース位置まで実行"
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr "終了"
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr "ブレークポイントを切り替え"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr "GDBコマンド"
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr "端末を表示"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "ビジー"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "レディ"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr "ハング"
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr "Assem"
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr "ロード"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr "ビルドがアクティブになりました.デバッグを終了しますか?"
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr "ブレーク"
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "コンソール"
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr "デバッグコンソール"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr "スレッドグループ %s を開始しました。"
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr "スレッドグループ "
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr " 終了"
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr " コード %s で終了"
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr "シグナルを送信"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr "シグナル番号を入力:"
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr "プロセスを終了"
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr "終了コードを入力:"
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "実行中"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "停止"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:45
      #, fuzzy, c-format
      msgid "%s: %s"
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr "スコープ: [%s] 読み込み中にエラー。"
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "..."
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "送信(_S)"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "ビジー(_B)"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr "GDBコマンド"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "候補: "
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "スペルチェック"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "ファイル \"%s\" を検査( %d から %d 行目に %s を使用):"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "ファイル \"%s\" を検査(%s を使用):"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "検査した文字の綴りは正しいです。"
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Enchantライブラリを初期化できません(%s)。"
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "不明なエラー(選択した言語は利用できません)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "スペルチェック"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "現在の文書の綴りを検査"
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "スペルチェックを実行"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "入力中のチェックを有効/無効"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "ディレクトリを選択"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr "スペルチェックを有効/無効にするツールバーボタンを表示"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "修正候補を表示するエディタメニュー項目を表示"
      
      #: ../spellcheck/src/scplugin.c:294
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "'URIを開く'をエディタのメニューに表示"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "メッセージウィンドウに間違った単語と修正候補を表示"
      
      #: ../spellcheck/src/scplugin.c:319
      #, fuzzy
      msgid "Interface"
      msgstr "検査"
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "入力中にスペルチェックを行う"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "入力中にスペルチェックを行う"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "スペルチェックの言語:"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "辞書ファイルを探すディレクトリ(_D):"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "このディレクトリから追加の辞書を読み込みます。現時点では、myspell 辞書のみ動"
      "作します。"
      
      #: ../spellcheck/src/scplugin.c:386
      #, fuzzy
      msgid "Behavior"
      msgstr "その他"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "入力中のスペルチェックは有効です"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "入力中のスペルチェックは無効です"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "さらに..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(候補なし)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "\"%s\" を辞書に追加"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "すべて無視"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "エディタメニューに修正候補を表示するには\n"
      "検索する言葉が長すぎます"
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "スペルチェックを実行"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "標準 (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr "入力中のスペルチェックを有効/無効(現在の言語: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "正しい単語の候補"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "列を移動"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "選択した箇所を左右に移動"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "左に移動"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "右に移動"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "テーブル変換"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "不明なエラーのため中断"
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr "選択範囲をテーブルに変換"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "テーブルに変換(_C)"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "現在マークしたリストをテーブルに変換."
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      #, fuzzy
      msgid "_More TableConvert"
      msgstr "テーブル変換"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr "ツリーブラウザ"
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      "このプラグインはGeanyにツリーブラウザを追加し、ディレクトリをツリービューに表"
      "示して、ユーザがファイルを選択できるようにします。"
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: ディレクトリがありません"
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(空)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "設定済みの外部コマンド '%s' が実行できません (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "新規ディレクトリ"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "新規ファイル"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "対象ファイル '%s' が存在します。\n"
      "このファイルを空のファイルで上書きしてもいいですか?"
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "'%s' を削除してもよいですか?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "上に移動"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "文書からパスを設定"
      
      #: ../treebrowser/src/treebrowser.c:1216
      #, fuzzy
      msgid "_Open externally"
      msgstr "外部アプリケーションで開く"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "端末で開く"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "rootに設定"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "表示を更新"
      
      #: ../treebrowser/src/treebrowser.c:1234
      #, fuzzy
      msgid "_Find in Files"
      msgstr "複数ファイルを検索"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "ディレクトリを作成"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "ファイルを作成"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "名前変更"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "削除"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "閉じる: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr "下位の文書を閉じる"
      
      #: ../treebrowser/src/treebrowser.c:1273
      #, fuzzy
      msgid "_Copy full path to clipboard"
      msgstr "完全パスをクリップボードにコピー"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "すべて閉じる"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "ブックマークを表示"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "隠しファイルを表示"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr "ツールバーを表示"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "対象ファイル '%s' が存在します。置き換えてもいいですか?"
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "ホーム"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr "パスを記録"
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "バーを隠す"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      "フィルタ(*.c;*.h;*.cpp)と '!' 反転を使った一時フィルタを使用するには次のよう"
      "にします '!;*.c;*.h;*.cpp'"
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "アドレスバーの入力例 '/projects/my-project'"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr "ツリーブラウザ"
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "他のプログラムで開く"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "\"他のプログラムで開く\" を使うときに実行されるコマンド。ワイルドカード%f と "
      "%d を使用できます。\n"
      "%f は完全パスを含むファイル名に置き換えられます。\n"
      "%d は選択したファイルがあるパス名に置き換えられます。"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "ツールバー"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "非表示"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "上"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "下"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr "位置を変更したときは、プラグインの再起動が必要です。"
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr "アイコンを表示"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "なし"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr "基本"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr "内容"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr "'.'(ドット)から始まるファイルを隠します"
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "オブジェクトファイルを表示しない"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "ファイルブラウザにオブジェクトファイルを表示しません。除外されるファイルは *."
      "o, *.obj. *.so, *.dll, *.a, *.lib です。"
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "フィルタを反転"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "現在の文書のディレクトリに合わせる"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr "シングルクリックで文書を表示"
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "ダブルクリックでディレクトリを表示"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "ファイル削除時に、開いていたら閉じる"
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "ツリー行数を表示"
      
      #: ../treebrowser/src/treebrowser.c:2053
      #, fuzzy
      msgid "Open new files"
      msgstr "ファイルを開く"
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "ファイル覧に切り替え"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr "パス入力に切り替え"
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr "オブジェクトの名前変更"
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr "ファイルを作成"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr "ディレクトリを作成"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr "更新チェッカー"
      
      #: ../updatechecker/src/updatechecker.c:42
      #, fuzzy
      msgid "Checks whether there are updates for Geany available"
      msgstr "Geany の新しいリリースが利用可能かどうかチェックするプラグイン"
      
      #: ../updatechecker/src/updatechecker.c:195
      #, fuzzy, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "新しいバージョンが利用可能です"
      
      #: ../updatechecker/src/updatechecker.c:203
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "新しいバージョンが利用可能です"
      
      #: ../updatechecker/src/updatechecker.c:218
      #, fuzzy, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      "バージョン情報が取得できません。\n"
      "エラーコード: %d \n"
      "エラーメッセージ: »%s«"
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr "起動時に更新チェックを実行"
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr "更新をチェック"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "メッセージウィンドウ"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "サイドバー"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr "分離ウィンドウ"
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "なし"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr "接続"
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "通常サイズ"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "ユーティリティ"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "ブックマークに切り替え"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "ズーム(_Z)"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr "内容全体にズーム(_C)"
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr "ペインの方向を切り替え"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "戻る"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "進む"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "読み込みを中断"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "現在のページを再読み込み"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr "Web検証"
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr "Web検証を切り替え"
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr "Webヘルパー"
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      "Webページのプレビューを表示します。ファイルを保存する毎に内容を確認しWebペー"
      "ジの解析とデバッグツールを呼び出します(Web検証ソフト)。WebKit を使用していま"
      "す。"
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr "Web表示"
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr "Webプレビュー"
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr "文書保存時に再読み込み"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr "ブラウザ自動読み直し"
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr "文書保存時にブラウザが読み直すかどうか"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr "ブラウザの最新のURI"
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr "ブラウザが最後に表示したURI"
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "ブックマークを表示"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr "ブラウザの方向"
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr "ブラウザ・ウィジェットの方向"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr "ブラウザの位置"
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Geany UIのブラウザ・ウィジェットの位置"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr "ブラウザ分割ウィンドウの位置"
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr "分割されたブラウザ・ウィンドウの最後の位置"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr "検証ウィンドウの位置"
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr "検証ウィンドウの最後の位置"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr "検証ウィンドウの状態"
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr "検証はウィンドウを分割するかブラウザにドッキングするか"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr "副ウィンドウはタスクバーを表示しない"
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr "ウィンドウ・マネージャがタスクバーに副ウィンドウを表示させるかどうか"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr "副ウィンドウは一時的"
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr "副ウィンドウは一時的な子ウィンドウかどうか"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr "副ウィンドウの種類"
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr "副ウィンドウの種類"
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr "Web検証を切り替え"
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr "Web表示ウィンドウを切り替え"
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr "ブラウザ"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr "ウィンドウ"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr "XML スニペット"
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "スニペットを使用してXML/HTMLタグを自動補完"
      
      #~ msgid "Program received a signal"
      #~ msgstr "プログラムはシグナルを受信しました"
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "LaTeX サポートを提供するプラグイン"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "スペルチェックの言語設定中にエラーになりました。環境設定を確認してくださ"
      #~ "い。エラーメッセージ: %s"
      
      #~ msgid ""
      #~ "Unable to paste the code on codepad.org\n"
      #~ "Retry or select another pastebin."
      #~ msgstr ""
      #~ "codepad.orgのコードの貼り付けができません\n"
      #~ "もう一度実行するか他のpastebinを指定する."
      
      #~ msgid ""
      #~ "Unable to paste the code. Check your connection and retry.\n"
      #~ "Error code: %d\n"
      #~ msgstr ""
      #~ "コードの貼り付けができません。インターネット接続を確認してもう一度実行しま"
      #~ "す。\n"
      #~ "エラーコード: %d\n"
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "プロジェクトファイルを検索"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "プロジェクトファイルを検索"
      
      #, fuzzy
      #~ msgid "Generate tags for all project files:"
      #~ msgstr "プロジェクトの全てのファイルのタグを生成"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "リストをテーブルに変換するプラグイン"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "このプラグインはソースファイルを移動する機能を追加します。\n"
      #~ "現時点で、次の機能があります。\n"
      #~ "- .cpp ファイルと対応する .h ファイル間の切り替え\n"
      #~ "- [名前を入力するとファイルを開く -> TODO]"
      
      #~ msgid "Goto file"
      #~ msgstr "ファイルに移動"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(%s プラグインより)"
      
      #~ msgid "GProject"
      #~ msgstr "Gプロジェクト"
      
      #~ msgid "Glob-pattern-based project management plugin for Geany."
      #~ msgstr "Globパターンに基づくプロジェクト管理プラグイン"
      
      #~ msgid ""
      #~ "Space separated list of patterns that are used to identify source files."
      #~ msgstr ""
      #~ "空白で区切られたソースファイルとして使用するファイルパターンのリスト"
      
      #~ msgid ""
      #~ "Note: set the patterns of files belonging to the project under the "
      #~ "Project tab."
      #~ msgstr ""
      #~ "注: プロジェクトタブにプロジェクトに所属するファイルのパターンを設定します"
      
      #~ msgid "No update available"
      #~ msgstr "新しいリリースはありません"
      
      #~ msgid "%s: error %lu."
      #~ msgstr "%s: エラー %lu。"
      
      #~ msgid "Plugins"
      #~ msgstr "プラグイン"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "ブレークポイント #%s を関数 %s() に追加。場所 %s:%s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "ブレークポイント #%s を追加。場所 %s:%s\n"
      
      #~ msgid "Added write watchpoint #%s for %s\n"
      #~ msgstr "出力監視ポイント #%s を追加。変数 %s\n"
      
      #~ msgid "Added read/write watchpoint #%s for %s\n"
      #~ msgstr "入出力監視ポイント #%s を追加。変数 %s\n"
      
      #~ msgid "Added read watchpoint #%s for %s\n"
      #~ msgstr "入力監視ポイント #%s を追加。変数 %s\n"
      
      #~ msgid "Watch/breakpoint deleted.\n"
      #~ msgstr "監視/ブレークポイントを削除。\n"
      
      #~ msgid "Failed to toggle breakpoint -\n"
      #~ msgstr "ブレークポイント切り替えに失敗 -\n"
      
      #~ msgid "Watch/breakpoint toggled.\n"
      #~ msgstr "監視/ブレークポイントを切り替え。\n"
      
      #~ msgid "Watch/breakpoint modified.\n"
      #~ msgstr "監視/ブレークポイントを変更。\n"
      
      #~ msgid "Failed to retrieve source search path setting from GDB."
      #~ msgstr "GDBのソースファイル検索パス設定の読み込みに失敗。"
      
      #~ msgid "Failed to retrieve executable search path setting from GDB."
      #~ msgstr "GDBの実行ファイル検索パス設定の読み込みに失敗。"
      
      #~ msgid "Failed to retrieve working directory setting from GDB."
      #~ msgstr "GDBの作業ディレクトリ設定の読み込みに失敗。"
      
      #~ msgid "Field list too long, not all items can be displayed.\n"
      #~ msgstr "項目リストが長すぎて、すべての項目が表示できません。\n"
      
      #~ msgid "Error starting target process!\n"
      #~ msgstr "ターゲットプロセス起動エラー!\n"
      
      #~ msgid ""
      #~ "This executable does not appear to contain the required debugging "
      #~ "information."
      #~ msgstr ""
      #~ "必要なデバッグ情報が含まれていないため、実行ファイルは表示できません。"
      
      #~ msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
      #~ msgstr "プログラムがシグナル %s (%s) を %s で受信。場所 関数 %s()  %s:%s"
      
      #~ msgid "Program exited on signal %s (%s).\n"
      #~ msgstr "プログラムはシグナル %s (%s) で終了。\n"
      
      #~ msgid "Unknown signal"
      #~ msgstr "不明なシグナル"
      
      #~ msgid "Program exited with code %d [%s]\n"
      #~ msgstr "プログラムは終了コード %d [%s]で終了。\n"
      
      #~ msgid "(unknown)"
      #~ msgstr "(不明)"
      
      #~ msgid "Program exited normally.\n"
      #~ msgstr "プログラムは正常に終了。\n"
      
      #~ msgid "tty temporary directory not specified!\n"
      #~ msgstr "tty 一時ディレクトリが指定されていません!\n"
      
      #~ msgid "tty helper program not specified!\n"
      #~ msgstr "tty ヘルパープログラムが指定されていません!\n"
      
      #~ msgid "tty helper program not found!\n"
      #~ msgstr "tty ヘルパープログラムがありません!\n"
      
      #~ msgid "Attaching to terminal %s\n"
      #~ msgstr "端末 %s に割り当て中\n"
      
      #~ msgid "Timeout waiting for TTY name.\n"
      #~ msgstr "TTY 名のタイムアウト待ち。\n"
      
      #~ msgid "GDB exited (pid=%d)\n"
      #~ msgstr "GDB が終了しました (pid=%d)\n"
      
      #~ msgid "Target process exited. (pid=%d; %s%s)\n"
      #~ msgstr "ターゲットプロセスが終了しました。(pid=%d; %s%s)\n"
      
      #~ msgid "code="
      #~ msgstr "コード="
      
      #~ msgid "reason:"
      #~ msgstr "理由:"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "ターゲットプログラムをシャットダウンします。\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "ターゲットプログラムを終了させます。\n"
      
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "ターゲットプログラムのタイムアウト待ち。\n"
      
      #~ msgid "Using a bigger hammer!\n"
      #~ msgstr "大きなハンマーを使用中!\n"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "ターゲットプロセスの終了待ち。\n"
      
      #~ msgid "Killing GDB (pid=%d)\n"
      #~ msgstr "GDBを終了中 (pid=%d)\n"
      
      #~ msgid "Timeout trying to kill GDB.\n"
      #~ msgstr "GDBを終了しようとしてタイムアウトしました。\n"
      
      #~ msgid "Shutting down GDB\n"
      #~ msgstr "GDBをシャットダウンします。\n"
      
      #~ msgid "Waiting for GDB to exit.\n"
      #~ msgstr "GDBの終了待ち。\n"
      
      #~ msgid "Timeout waiting for GDB to exit.\n"
      #~ msgstr "GDBの終了のタイムアウト待ち。\n"
      
      #~ msgid "Starting gdb (pid=%d)\n"
      #~ msgstr "GDBを開始中 (pid=%d)\n"
      
      #~ msgid "Started target process. (pid=%d)\n"
      #~ msgstr "ターゲットプロセスを開始しました。(pid=%d)\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "%s が選ばれていません"
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "選択した監視ポイントを削除しますか?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "選択したブレークポイントを削除しますか?"
      
      #~ msgid "Enabled"
      #~ msgstr "有効"
      
      #~ msgid "Break after "
      #~ msgstr "ブレーク条件 "
      
      #~ msgid " times."
      #~ msgstr " 回ごと."
      
      #~ msgid "Break when "
      #~ msgstr "ブレーク条件 "
      
      #~ msgid " is true."
      #~ msgstr " が trueのとき."
      
      #~ msgid "Watchpoints"
      #~ msgstr "監視ポイント"
      
      #~ msgid "Environment settings"
      #~ msgstr "環境設定"
      
      #~ msgid ""
      #~ "\n"
      #~ " Command-line arguments passed to target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " ターゲットプログラムに渡すコマンドライン引数:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ " ソースプログラム検索パス:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Working directory for target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " ターゲットプログラムの作業ディレクトリ:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ " 実行ファイル検索パス:"
      
      #~ msgid "Keep debug window on top."
      #~ msgstr "デバッグウィンドウを前面に表示。"
      
      #~ msgid "Show icons."
      #~ msgstr "アイコンを表示"
      
      #~ msgid "Font for source code listings:"
      #~ msgstr "ソースプログラム一覧のフォント:"
      
      #~ msgid "Terminal program:"
      #~ msgstr "端末プログラム:"
      
      #~ msgid "_Examine"
      #~ msgstr "テスト(_E)"
      
      #~ msgid "Elements"
      #~ msgstr "要素"
      
      #~ msgid "Fields"
      #~ msgstr "項目"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "前の画面に戻る"
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "選択した項目の詳細な情報を表示する"
      
      #~ msgid ""
      #~ "\n"
      #~ "Frame #%s in %s() at %s:%s\n"
      #~ msgstr ""
      #~ "\n"
      #~ "フレーム #%s 場所 %s() ファイル %s:%s\n"
      
      #~ msgid "Function arguments"
      #~ msgstr "関数の引数"
      
      #~ msgid "Local variables"
      #~ msgstr "局所変数"
      
      #~ msgid "Return to stack list dialog."
      #~ msgstr "スタック表示ダイアログに戻る。"
      
      #~ msgid "Stack trace"
      #~ msgstr "スタックトレース"
      
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "選択したフレームの詳細な情報を表示する。"
      
      #~ msgid "Clea_r"
      #~ msgstr "消去(_R)"
      
      #~ msgid "Filename: "
      #~ msgstr "ファイル名: "
      
      #~ msgid "Variable to watch:"
      #~ msgstr "監視する変数:"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "行番号または関数名: "
      
      #~ msgid "Access trigger:"
      #~ msgstr "アクセス トリガ:"
      
      #~ msgid "(no program)"
      #~ msgstr "(プログラムなし)"
      
      #~ msgid "loaded"
      #~ msgstr "ロード済み"
      
      #~ msgid "starting"
      #~ msgstr "開始中"
      
      #~ msgid "paused"
      #~ msgstr "一時停止"
      
      #~ msgid "Error:"
      #~ msgstr "エラー:"
      
      #~ msgid "Select executable to debug"
      #~ msgstr "デバッグする実行ファイルを選択"
      
      #~ msgid "Debugging of object files is not supported."
      #~ msgstr "オブジェクトファイルのデバッグはサポートされていません。"
      
      #~ msgid "You don't have permission to execute this file."
      #~ msgstr "このファイルを実行する権利がありません。"
      
      #~ msgid "Debugging of shared libraries is not supported."
      #~ msgstr "共有ライブラリのデバッグはサポートされていません。"
      
      #~ msgid "Debugging of core files id not supported."
      #~ msgstr "コアファイルのデバッグはサポートされていません。"
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr ""
      #~ "ターゲットファイルは ELF 32-bit x86 実行ファイルでなければなりません。"
      
      #~ msgid "You don't have permission to read this file."
      #~ msgstr "このファイルを読む権利がありません。"
      
      #~ msgid "Run to location"
      #~ msgstr "実行する位置"
      
      #~ msgid "Execute target program inside a terminal window."
      #~ msgstr "ターゲットプログラムを端末ウィンドウで実行します。"
      
      #~ msgid "Ignore SIGPIPE"
      #~ msgstr "SIGPIPEを無視"
      
      #~ msgid ""
      #~ "Don't pause execution when target gets a SIGPIPE signal.\n"
      #~ "(Useful for certain networking applications.)"
      #~ msgstr ""
      #~ "ターゲットプログラムが SIGPIPE シグナルを受け取っても一時停止しません。\n"
      #~ "(ネットワーク アプリケーションのデバッグに便利です)"
      
      #~ msgid "Send a GDB command directly to the debugger."
      #~ msgstr "GDB コマンドを直接デバッガに送ります。"
      
      #~ msgid "_Quit"
      #~ msgstr "終了(_Q)"
      
      #~ msgid "Exit everything"
      #~ msgstr "すべて終了します。"
      
      #~ msgid "GeanyGDB"
      #~ msgstr "GeanyGDB"
      
      #~ msgid "Integrated debugging with GDB."
      #~ msgstr "GDBによる統合デバッグ環境"
      
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr "プラグイン設定ディレクトリ (%s) を作成できません。"
      
      #~ msgid "geanygdb: ttyhelper program not found."
      #~ msgstr "geanygdb: ttyhelper プログラムがありません。"
      
      #~ msgid "Seach for:"
      #~ msgstr "検索文字列:"
      
      #~ msgid "Google Code"
      #~ msgstr "Google コード"
      
      #~ msgid "Search for current tag in Google Code Search"
      #~ msgstr "Google コード・サーチで現在のタグを検索"
      
      #~ msgid ""
      #~ "This Plugin implements Macros in Geany.\n"
      #~ "\n"
      #~ "This plugin allows you to record and use your own macros. These are "
      #~ "sequences of actions that can then be repeated with a single key "
      #~ "combination. So if you had dozens of lines where you wanted to delete the "
      #~ "last 2 characters, you could simple start recording, press End, "
      #~ "Backspace, Backspace, down line and then stop recording. Then simply "
      #~ "trigger the macro and it would automatically edit the line and move to "
      #~ "the next. Select Record Macro from the Tools menu and you will be "
      #~ "prompted with a dialog box. You need to specify a key combination that "
      #~ "isn't being used, and a name for the macro to help you identify it. Then "
      #~ "press Record. What you do in the editor is then recorded until you select "
      #~ "Stop Recording Macro from the Tools menu. Simply pressing the specified "
      #~ "key combination will re-run the macro. To edit the macros you have, "
      #~ "select Edit Macro from the Tools menu. You can select a macro and delete "
      #~ "it, or re-record it. You can also click on a macro's name and change it, "
      #~ "or the key combination and re-define that assuming that it's not already "
      #~ "in use. Selecting the edit option allows you to view all the individual "
      #~ "elements that make up the macro. You can select a different command for "
      #~ "each element, move them, add new elements, delete elements, or if it's "
      #~ "replace/insert, you can edit the text that replaces the selected text, or "
      #~ "is inserted.\n"
      #~ "\n"
      #~ "The only thing to bear in mind is that undo and redo actions are not "
      #~ "recorded, and won't be replayed when the macro is re-run.\n"
      #~ "\n"
      #~ "You can alter the default behaviour of this plugin by selecting Plugin "
      #~ "Manager under the Tools menu, selecting this plugin, and clicking "
      #~ "Preferences. You can change:\n"
      #~ "Save Macros when close Geany - If this is selected then Geany will save "
      #~ "any recorded macros and reload them for use the next time you open Geany, "
      #~ "if not they will be lost when Geany is closed.\n"
      #~ "Ask before replacing existing Macros - If this is selected then if you "
      #~ "try recording a macro over an existing one it will check before over-"
      #~ "writing it, giving you the option of trying a different name or key "
      #~ "trigger combination, otherwise it will simply erase any existing macros "
      #~ "with the same name, or the same key trigger combination."
      #~ msgstr ""
      #~ "このプラグインはGeanyにマクロを実装します.\n"
      #~ "\n"
      #~ "このプラグインはマクロを記録し使用することを可能にします. マクロとは一連の"
      #~ "エディタ操作を複数キーの同時入力で繰り返し実行させることです.複数の行から"
      #~ "最後の2文字を削除したい場合, あなたは、マクロ記録を開始してEndキーを押し"
      #~ "て、Backspaceキーを2回押して、下矢印キーを押して、マクロ記録を終了します."
      #~ "すると,マクロを呼び出すことで、行末の2文字を削除し次の行に移動してくれま"
      #~ "す.ツールメニューのマクロを記録を選択するとダイアログボックスが表示されま"
      #~ "す.あなたは、マクロ呼び出しのキーの組み合わせを指定し、複数のマクロを区別"
      #~ "するためにマクロに名前を指定することができます.次に記録ボタンをクリックし"
      #~ "ます.ツールメニューのマクロ記録を停止を選択するまで、プラグインはエディタ"
      #~ "操作をマクロとして記録します指定したキーの組み合わせを押すだけでマクロを実"
      #~ "行できます.マクロを修正するにはツールメニューからマクロの修正を選択します."
      #~ "マクロを選択して削除したり,マクロの記録をやり直すことも可能です.マクロ名を"
      #~ "変更したり,マクロ呼び出しのキーの組み合わせを別の物に変更することもできま"
      #~ "す.\n"
      #~ "\n"
      #~ "ツールメニューのプラグイン・マネージャを選択して、このプラグインの設定を変"
      #~ "更することもできます, このプラグインを探して、設定ボタンを押してください."
      #~ "次の項目を変更できます:\n"
      #~ "Geanyを閉じるときにマクロを保存する - 選択するとGeanyは記録したすべてのマ"
      #~ "クロをファイルに保存し次回Geanyを起動したときに再利用します,選択しないと"
      #~ "Geanyを終了したときにマクロは失われます.\n"
      #~ "既存のマクロに上書きするときに問い合わせる - 選択すると、同じキーの組み合"
      #~ "わせで記録されたマクロがあるかどうか,マクロ記録する前に確認します, マクロ"
      #~ "名やキーの組み合わせを変更するかどうか確認メッセージが表示されるので, 別の"
      #~ "名前やキーの組み合わせにするか、そのまま記録して既存のマクロに上書きするか"
      #~ "を選択してください."
      
      #~ msgid ""
      #~ "This Plugin implements Numbered Bookmarks in Geany.\n"
      #~ "\n"
      #~ "It allows you to use 10 numbered bookmarks. Normaly if you had more than "
      #~ "one bookmark, you would have to cycle through them until you reached the "
      #~ "one you wanted. With this plugin you can go straight to the bookmark that "
      #~ "you want with a single key combination. To set a numbered bookmark press "
      #~ "Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to the "
      #~ "line number. If you press Ctrl+Shift+a number on a line that already has "
      #~ "that bookmark number then it removes the bookmark, otherwise it will move "
      #~ "the bookmark there if it was set on a different line, or create it if it "
      #~ "had not already been set. Only the bookmark with the highest number on a "
      #~ "line will be shown, but you can have more than one bookmark per line. "
      #~ "This plugin does not interfer with regular bookmarks. When a file is "
      #~ "saved, Geany will remember the numbered bookmarks and make sure that they "
      #~ "are set the next time you open the file.\n"
      #~ "\n"
      #~ "You can alter the default behaviour of this plugin by selecting Plugin "
      #~ "Manager under the Tools menu, selecting this plugin, and clicking "
      #~ "Preferences. You can change:\n"
      #~ "Remember fold state - if this is set then this plugin will remember the "
      #~ "state of any folds along with the numbered bookmarks and set them when "
      #~ "the file is next loaded.\n"
      #~ "Center view when goto bookmark - If this is set it will try to make sure "
      #~ "that the numbered bookmark that you are going to is in the center of the "
      #~ "screen, otherwise it will simply be on the screen somewhere."
      #~ msgstr ""
      #~ "このプラグインは番号指定ブックマークを提供します. \n"
      #~ "\n"
      #~ "このプラグインは10個のブックマークを提供します.Geanyで複数のブックマークを"
      #~ "使用するときは、必要なブックマークにたどりつくまで、何度もブックマークを呼"
      #~ "び出す必要がありました.このプラグインを使用すると、複数キーの同時入力で目"
      #~ "的のブックマークを呼び出せます.ブックマークを設定するには、CtrlキーとShift"
      #~ "キーを押しながら、0から9のキーを押してください. 行番号の隣にマーカが表示さ"
      #~ "れます.マーカの行でCtrl+Shift+数字キーを押すと、そのマーカは削除されます."
      #~ "別の行でCtrl+Shift+数字キーを押すと、その行が新しいマーカ位置になります.あ"
      #~ "る行にマーカが複数設定されているときは,最大のマーカ番号が表示されますが,設"
      #~ "定された他のマーカも有効です.このプラグインは geanyの本来のブックマーク機"
      #~ "能と干渉しません. ファイルを保存したときに,Geany は番号付きマーカの位置を"
      #~ "記録し、次回そのファイルを編集するときに再利用できます.\n"
      #~ "\n"
      #~ "ツールメニューのプラグイン・マネージャを選択して、このプラグインの設定を変"
      #~ "更することもできます, このプラグインを探して、設定ボタンを押してください."
      #~ "次の項目を変更できます:\n"
      #~ "折り返し状態を記録 - 選択すると、プラグインはマーカによる折り返しを記録し"
      #~ "次回ファイルを開いたときに再利用します.\n"
      #~ "ブックマークに移動したときに画面の中心にする - 選択すると、ブックマークに"
      #~ "よって文書を 移動するときにマーカ行が画面の中心になります, 選択しないと"
      #~ "カーソル行の移動のみ行います."
      
      #~ msgid "You must define a key trigger combination"
      #~ msgstr "マクロを呼び出すのに必要なキーの組み合わせを設定してください"
      
      #~ msgid "ConText Feature parity plugin"
      #~ msgstr "コンテキスト・フィーチャ・パリティ・プラグイン"
      
      #~ msgid "ConTEXT feature parity help"
      #~ msgstr "コンテキスト・フィーチャ・パリティ・ヘルプ"
      
      #~ msgid ""
      #~ "This Plugin implements two useful features.\n"
      #~ "\n"
      #~ "Firstly it allows you to use 10 numbered bookmarks. Normaly if you had "
      #~ "more than one bookmark, you would have to cycle through them until you "
      #~ "reached the one you wanted. With this plugin you can go straight to the "
      #~ "bookmark that you want with a single key combination. To set a numbered "
      #~ "bookmark press Ctrl+Shift+a number from 0 to 9. You will see a marker "
      #~ "appear next to the line number. If you press Ctrl+Shift+a number on a "
      #~ "line that already has that bookmark number then it removes the bookmark, "
      #~ "otherwise it will move the bookmark there if it was set on a different "
      #~ "line, or create it if it had not already been set. Only the bookmark with "
      #~ "the highest number on a line will be shown, but you can have more than "
      #~ "one bookmark per line. This plugin does not interfer with regular "
      #~ "bookmarks. When a file is saved, Geany will remember the numbered "
      #~ "bookmarks and make sure that they are set the next time you open the "
      #~ "file.\n"
      #~ "\n"
      #~ "Secondly this plugin alows you to record and use your own macros. These "
      #~ "are sequences of actions that can then be repeated with a single key "
      #~ "combination. So if you had dozens of lines where you wanted to delete the "
      #~ "last 2 characters, you could simple start recording, press End, "
      #~ "Backspace, Backspace, down line and then stop recording. Then simply "
      #~ "trigger the macro and it would automaticaly edit the line and move to the "
      #~ "next. Select Record Macro from the Tools menu and you will be prompted "
      #~ "with a dialog box. You need to specify a key combination that isn't being "
      #~ "used, and a name for the macro to help you identify it. Then press "
      #~ "Record. What you do in the editor is then recorded until you select Stop "
      #~ "Recording Macro from the Tools menu. Simply pressing the specified key "
      #~ "combination will re-run the macro. To edit the macros you have select "
      #~ "Edit Macro from the Tools menu. You can select a macro and delete it, or "
      #~ "re-record it. You can also click on a macro's name and change it, or the "
      #~ "key combination and re-define that asuming that it's not already in use.\n"
      #~ "\n"
      #~ "You can alter the default behaviur of this plugin by selecting Plugin "
      #~ "Manager under the Tools menu, selecting this plugin, and clicking "
      #~ "Preferences. You can change:\n"
      #~ "Remember fold state - if this is set then this plugin will remember the "
      #~ "state of any folds along with the numbered bookmarks and set them when "
      #~ "the file is next loaded.\n"
      #~ "Center view when goto bookmark - If this is set it will try to make sure "
      #~ "that the numbered bookmark that you are going to is in the center of the "
      #~ "screen, otherwise it will simply be on the screen somewhere.\n"
      #~ "Save Macros when close Geany - If this is selected then Geany will save "
      #~ "any recorded macros and reload them for use the next time you open Geany, "
      #~ "if not they will be lost when Geany is closed.\n"
      #~ "Ask before replacing existing Macros - If this is selected then if you "
      #~ "try recording a macro over an existing one it will check before over-"
      #~ "writing it, giving you the option of trying a different name or key "
      #~ "trigger combination, otherwise it will simply erase any existing macros "
      #~ "with the same name, or the same key trigger combination."
      #~ msgstr ""
      #~ "このプラグインは2つの便利な機能を実装しています.\n"
      #~ "\n"
      #~ "このプラグインは10個のブックマークを提供します. Geanyで複数のブックマーク"
      #~ "を使用するときは、必要なブックマークにたどりつくまで、何度もブックマークを"
      #~ "呼び出す必要がありました.このプラグインを使用すると、複数キーの同時入力で"
      #~ "目的のブックマークを呼び出せます.ブックマークを設定するには、Ctrlキーと"
      #~ "Shiftキーを押しながら、0から9のキーを押してください. 行番号の隣にマーカが"
      #~ "表示されます.マーカの行でCtrl+Shift+数字キーを押すと、そのマーカは削除され"
      #~ "ます.別の行でCtrl+Shift+数字キーを押すと、その行が新しいマーカ位置になりま"
      #~ "す.ある行にマーカが複数設定されているときは,最大のマーカ番号が表示されます"
      #~ "が,設定された他のマーカも有効です.このプラグインは geanyの本来のブックマー"
      #~ "ク機能と干渉しません. ファイルを保存したときに,Geany は番号付きマーカの位"
      #~ "置を記録し、次回そのファイルを編集するときに再利用できます.\n"
      #~ "\n"
      #~ "2つめの機能は、マクロを記録し実行できることです. マクロとは一連のエディタ"
      #~ "操作を複数キーの同時入力で繰り返し実行させることです.複数の行から最後の2文"
      #~ "字を削除したい場合, あなたは、マクロ記録を開始してEndキーを押して、"
      #~ "Backspaceキーを2回押して、下矢印キーを押して、マクロ記録を終了します.する"
      #~ "と,マクロを呼び出すことで、行末の2文字を削除し次の行に移動してくれます."
      #~ "ツールメニューのマクロを記録を選択するとダイアログボックスが表示されます."
      #~ "あなたは、マクロ呼び出しのキーの組み合わせを指定し、複数のマクロを区別する"
      #~ "ためにマクロに名前を指定することができます.次に記録ボタンをクリックします."
      #~ "ツールメニューのマクロ記録を停止を選択するまで、プラグインはエディタ操作を"
      #~ "マクロとして記録します指定したキーの組み合わせを押すだけでマクロを実行でき"
      #~ "ます.マクロを修正するにはツールメニューからマクロの修正を選択します.マクロ"
      #~ "を選択して削除したり,マクロの記録をやり直すことも可能です.マクロ名を変更し"
      #~ "たり,マクロ呼び出しのキーの組み合わせを別の物に変更することもできます.\n"
      #~ "\n"
      #~ "ツールメニューのプラグイン・マネージャを選択して、このプラグインの設定を変"
      #~ "更することもできます, このプラグインを探して、設定ボタンを押してください."
      #~ "次の項目を変更できます:\n"
      #~ "折り返し状態を記録 - 選択すると、プラグインはマーカによる折り返しを記録し"
      #~ "次回ファイルを開いたときに再利用します.\n"
      #~ "ブックマークに移動したときに画面の中心にする - 選択すると、ブックマークに"
      #~ "よって文書を 移動するときにマーカ行が画面の中心になります, 選択しないと"
      #~ "カーソル行の移動のみ行います.\n"
      #~ "Geanyを閉じるときにマクロを保存する - 選択するとGeanyは記録したすべてのマ"
      #~ "クロをファイルに保存し次回Geanyを起動したときに再利用します,選択しないと"
      #~ "Geanyを終了したときにマクロは失われます.\n"
      #~ "既存のマクロに上書きするときに問い合わせる - 選択すると、同じキーの組み合"
      #~ "わせで記録されたマクロがあるかどうか,マクロ記録する前に確認します, マクロ"
      #~ "名やキーの組み合わせを変更するかどうか確認メッセージが表示されるので, 別の"
      #~ "名前やキーの組み合わせにするか、そのまま記録して既存のマクロに上書きするか"
      #~ "を選択してください."
      
      #~ msgid "Error reading config file"
      #~ msgstr "設定ファイル読み込みエラー"
      
      #~ msgid "Couldn't create tempfile"
      #~ msgstr "一時ファイルを作成できません"
      
      #~ msgid "Lionel Fuentes"
      #~ msgstr "Lionel Fuentes"
      
      #~ msgid "Yura Siamshka "
      #~ msgstr "Yura Siamashka "
      
      #~ msgid ":  "
      #~ msgstr ": "
      
      #~ msgid "Jeff Pohlmeyer, Dominic Hopf"
      #~ msgstr "Jeff Pohlmeyer, Dominic Hopf"
      
      #~ msgid ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      #~ msgstr ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      
      #~ msgid "Yura Siamashka "
      #~ msgstr "Yura Siamashka "
      
      #~ msgid "goto_file"
      #~ msgstr "goto_file"
      
      #~ msgid "switch_head_impl"
      #~ msgstr "switch_header_impl"
      
      #~ msgid "Booklet"
      #~ msgstr "冊子"
      
      #~ msgid "Conference"
      #~ msgstr "会議"
      
      #~ msgid "Inbook"
      #~ msgstr "本の一部"
      
      #~ msgid "PhdThesis"
      #~ msgstr "博士論文"
      
      #~ msgid "Proceedings"
      #~ msgstr "議事録"
      
      #~ msgid "Techreport"
      #~ msgstr "テクニカルレポート"
      
      #~ msgid "Unpublished"
      #~ msgstr "未出版"
      
      #~ msgid "Showing icon in toolbar"
      #~ msgstr "ツールバーにアイコンを表示"
      
      #~ msgid "The Geany developer team"
      #~ msgstr "Geany 開発チーム"
      
      #~ msgid "Treeview filebrowser plugin."
      #~ msgstr "ツリー表示のファイル一覧プラグイン"
      
      #~ msgid "Directory '%s' not exists."
      #~ msgstr "ディレクトリ '%s' がありません"
      
      #~ msgid "Default directory deep to fill"
      #~ msgstr "最初に表示するディレクトリの深さ"
      
      #~ msgid "How many folders will opened and store in tree"
      #~ msgstr "ツリーにいくつのフォルダを展開するか"
      
      #~ msgid "On expand, refresh directory view"
      #~ msgstr "展開時に、ディレクトリ表示を更新"
      
      #~ msgid "Code Navigation plug-in configuration"
      #~ msgstr "コードナビ プラグイン設定"
      
      #~ msgid "Switch header / implementation"
      #~ msgstr "ヘッダとソースの切り替え"
      
      #~ msgid "Load target program into debugger."
      #~ msgstr "ターゲットプログラムをデバッガにロードします。"
      
      #~ msgid "Kill the target program AND the debugger."
      #~ msgstr "ターゲットプログラムとデバッガを終了します。"
      
      #~ msgid "Execute target program in debugger."
      #~ msgstr "ターゲットプログラムをデバッガで実行します。"
      
      #~ msgid "_Kill"
      #~ msgstr "_Kill"
      
      #~ msgid "Kill the target program with SIGKILL."
      #~ msgstr "SIGKILL シグナルを送ってターゲットプログラムを終了させます。"
      
      #~ msgid "Pause the target program with SIGINT."
      #~ msgstr "SIGINT シグナルを送ってターゲットプログラムを一時停止します。"
      
      #~ msgid "Continue executing target program."
      #~ msgstr "ターゲットプログラムの実行を再開します。"
      
      #~ msgid "Step to the next line or function call."
      #~ msgstr "次の行または関数呼び出しを実行して止まります。"
      
      #~ msgid "Execute the next machine instruction or function call."
      #~ msgstr "次の機械語命令または関数呼び出しまで実行して止まります。"
      
      #~ msgid "Ne_xt in"
      #~ msgstr "Ne_xt in"
      
      #~ msgid "Execute the next machine instruction."
      #~ msgstr "次の機械語命令まで実行します。"
      
      #~ msgid "Run to specified source line."
      #~ msgstr "ソースプログラムの位置を指定して実行します。"
      
      #~ msgid "Display a backtrace of the current call stack."
      #~ msgstr "現在の呼び出しスタックを表示します。"
      
      #~ msgid "Add or remove watchpoints."
      #~ msgstr "監視ポイントを追加または削除します。"
      
      #~ msgid "_Finish"
      #~ msgstr "_Finish"
      
      #~ msgid "_Return"
      #~ msgstr "_Return"
      
      #~ msgid "Return immediately from the current function."
      #~ msgstr "現在実行している関数から直ちに戻ります。"
      
      #~ msgid "En_viron"
      #~ msgstr "En_viron"
      
      #~ msgid "Set target environment and command line options."
      #~ msgstr ""
      #~ "ターゲット プログラムの環境やコマンドライン オプションを設定します。"
      
      #~ msgid "Set user interface options."
      #~ msgstr "ユーザ インタフェース オプションを設定します。"
      
      #~ msgid "VC"
      #~ msgstr "VC"
      
      #~ msgid "_History (Log)"
      #~ msgstr "履歴ログ(_H)"
      geany-plugins-1.27/po/Makefile.in.in0000644000175000017500000001604612671261370017617 0ustar00frlanfrlan00000000000000# Makefile for program source directory in GNU NLS utilities package.
      # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper 
      # Copyright (C) 2004-2008 Rodney Dawes 
      #
      # This file may be copied and used freely without restrictions.  It may
      # be used in projects which are not available under a GNU Public License,
      # but which still want to provide support for the GNU gettext functionality.
      #
      # - Modified by Owen Taylor  to use GETTEXT_PACKAGE
      #   instead of PACKAGE and to look for po2tbl in ./ not in intl/
      #
      # - Modified by jacob berkman  to install
      #   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
      #
      # - Modified by Rodney Dawes  for use with intltool
      #
      # We have the following line for use by intltoolize:
      # INTLTOOL_MAKEFILE
      
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      PACKAGE = @PACKAGE@
      VERSION = @VERSION@
      
      SHELL = @SHELL@
      
      srcdir = @srcdir@
      top_srcdir = @top_srcdir@
      top_builddir = @top_builddir@
      VPATH = @srcdir@
      
      prefix = @prefix@
      exec_prefix = @exec_prefix@
      datadir = @datadir@
      datarootdir = @datarootdir@
      libdir = @libdir@
      DATADIRNAME = @DATADIRNAME@
      itlocaledir = $(prefix)/$(DATADIRNAME)/locale
      subdir = po
      install_sh = @install_sh@
      # Automake >= 1.8 provides @mkdir_p@.
      # Until it can be supposed, use the safe fallback:
      mkdir_p = $(install_sh) -d
      
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      
      GMSGFMT = @GMSGFMT@
      MSGFMT = @MSGFMT@
      XGETTEXT = @XGETTEXT@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
      GENPOT   = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
      
      ALL_LINGUAS = @ALL_LINGUAS@
      
      PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi)
      
      USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi)
      
      USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
      
      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
      
      POTFILES = \
      # This comment gets stripped out
      
      CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
      
      .SUFFIXES:
      .SUFFIXES: .po .pox .gmo .mo .msg .cat
      
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V))
      INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY))
      INTLTOOL__v_MSGFMT_0 = @echo "  MSGFMT" $@;
      
      .po.pox:
      	$(MAKE) $(GETTEXT_PACKAGE).pot
      	$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
      
      .po.mo:
      	$(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $<
      
      .po.gmo:
      	$(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \
      	  && rm -f $$file && $(GMSGFMT) -o $$file $<
      
      .po.cat:
      	sed -f ../intl/po2msg.sed < $< > $*.msg \
      	  && rm -f $@ && gencat $@ $*.msg
      
      
      all: all-@USE_NLS@
      
      all-yes: $(CATALOGS)
      all-no:
      
      $(GETTEXT_PACKAGE).pot: $(POTFILES)
      	$(GENPOT)
      
      install: install-data
      install-data: install-data-@USE_NLS@
      install-data-no: all
      install-data-yes: all
      	linguas="$(USE_LINGUAS)"; \
      	for lang in $$linguas; do \
      	  dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
      	  $(mkdir_p) $$dir; \
      	  if test -r $$lang.gmo; then \
      	    $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
      	    echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
      	  else \
      	    $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
      	    echo "installing $(srcdir)/$$lang.gmo as" \
      		 "$$dir/$(GETTEXT_PACKAGE).mo"; \
      	  fi; \
      	  if test -r $$lang.gmo.m; then \
      	    $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
      	    echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
      	  else \
      	    if test -r $(srcdir)/$$lang.gmo.m ; then \
      	      $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
      		$$dir/$(GETTEXT_PACKAGE).mo.m; \
      	      echo "installing $(srcdir)/$$lang.gmo.m as" \
      		   "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
      	    else \
      	      true; \
      	    fi; \
      	  fi; \
      	done
      
      # Empty stubs to satisfy archaic automake needs
      dvi info ctags tags CTAGS TAGS ID:
      
      # Define this as empty until I found a useful application.
      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; \
      	done
      
      check: all $(GETTEXT_PACKAGE).pot
      	rm -f missing notexist
      	srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
      	if [ -r missing -o -r notexist ]; then \
      	  exit 1; \
      	fi
      
      mostlyclean:
      	rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
      	rm -f .intltool-merge-cache
      
      clean: mostlyclean
      
      distclean: clean
      	rm -f Makefile Makefile.in POTFILES stamp-it
      	rm -f *.mo *.msg *.cat *.cat.m *.gmo
      
      maintainer-clean: distclean
      	@echo "This command is intended for maintainers to use;"
      	@echo "it deletes files that may require special tools to rebuild."
      	rm -f Makefile.in.in
      
      distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
      dist distdir: $(DISTFILES)
      	dists="$(DISTFILES)"; \
      	extra_dists="$(EXTRA_DISTFILES)"; \
      	for file in $$extra_dists; do \
      	  test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
      	done; \
      	for file in $$dists; do \
      	  test -f $$file || file="$(srcdir)/$$file"; \
      	  ln $$file $(distdir) 2> /dev/null \
      	    || cp -p $$file $(distdir); \
      	done
      
      update-po: Makefile
      	$(MAKE) $(GETTEXT_PACKAGE).pot
      	tmpdir=`pwd`; \
      	linguas="$(USE_LINGUAS)"; \
      	for lang in $$linguas; do \
      	  echo "$$lang:"; \
      	  result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
      	  if $$result; then \
      	    if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
      	      rm -f $$tmpdir/$$lang.new.po; \
                  else \
      	      if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
      	        :; \
      	      else \
      	        echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
      	        rm -f $$tmpdir/$$lang.new.po; \
      	        exit 1; \
      	      fi; \
      	    fi; \
      	  else \
      	    echo "msgmerge for $$lang.gmo failed!"; \
      	    rm -f $$tmpdir/$$lang.new.po; \
      	  fi; \
      	done
      
      Makefile POTFILES: stamp-it
      	@if test ! -f $@; then \
      	  rm -f stamp-it; \
      	  $(MAKE) stamp-it; \
      	fi
      
      stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
      	cd $(top_builddir) \
      	  && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
      	       $(SHELL) ./config.status
      
      # Tell versions [3.59,3.63) of GNU make not to export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/po/da.po0000644000175000017500000047100512671261352016071 0ustar00frlanfrlan00000000000000# Danish translation for geany-plugins
      # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Andrew Janke , 2009
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2009-06-11 10:15+0200\n"
      "Last-Translator: Andrew L Janke \n"
      "Language-Team: Danish \n"
      "Language: da\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=2; plural=(n != 1);\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr ""
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr ""
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr ""
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr ""
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr ""
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr ""
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr ""
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr ""
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr ""
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr ""
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr ""
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr ""
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr ""
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      msgid "Reset to Default"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr ""
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr ""
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr ""
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr ""
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr ""
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr ""
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr ""
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr ""
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr ""
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr ""
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr ""
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:523
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr ""
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr ""
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr ""
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr ""
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr ""
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr ""
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr ""
      
      #: ../debugger/src/keys.c:57
      msgid "Jump to the current instruction"
      msgstr ""
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr ""
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr ""
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr ""
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr ""
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr ""
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr ""
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr ""
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr ""
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr ""
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr ""
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:149
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:528
      msgid "_Search for:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      msgid "pattern"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      msgid "_Declaration"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      msgid "Generate tags"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:653
      msgid "Find tag..."
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:658
      msgid "Find tag"
      msgstr ""
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr ""
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr ""
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr ""
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr ""
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr ""
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1982
      #, fuzzy
      msgid "Format selection left-aligned"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanylatex/src/geanylatex.c:1984
      #, fuzzy
      msgid "Format selection right-aligned"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr ""
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr ""
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr ""
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr ""
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr ""
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:67
      #, fuzzy
      msgid "Delete to beginning of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:91
      #, fuzzy
      msgid "Move Cursor to first visible character"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      #, fuzzy
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:100
      #, fuzzy
      msgid "Extend Selection down a line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:101
      #, fuzzy
      msgid "Extend Selection up a line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:102
      #, fuzzy
      msgid "Extend Selection Left a line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:103
      #, fuzzy
      msgid "Extend Selection Right a line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:104
      #, fuzzy
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:105
      #, fuzzy
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:106
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:107
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:108
      #, fuzzy
      msgid "Extend Selection to start of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:109
      #, fuzzy
      msgid "Extend Selection to end of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:110
      #, fuzzy
      msgid "Extend Selection to start of document"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:111
      #, fuzzy
      msgid "Extend Selection to end of document"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:112
      #, fuzzy
      msgid "Extend Selection up one Page"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:113
      #, fuzzy
      msgid "Extend Selection down one Page"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:114
      #, fuzzy
      msgid "Extend Selection to fist visible character"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:115
      #, fuzzy
      msgid "Extend Selection to last visible character"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      #, fuzzy
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      #, fuzzy
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:121
      #, fuzzy
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:123
      #, fuzzy
      msgid "Extend Rectangular Selection down a line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:124
      #, fuzzy
      msgid "Extend Rectangular Selection up a line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:125
      #, fuzzy
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:126
      #, fuzzy
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:127
      #, fuzzy
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:128
      #, fuzzy
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:129
      #, fuzzy
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:130
      #, fuzzy
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:152
      #, fuzzy
      msgid "Set start of search to beginning of selection"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr ""
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr ""
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr ""
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr ""
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr ""
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr ""
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr ""
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr ""
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr ""
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr ""
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr ""
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr ""
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:44
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr ""
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr ""
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr ""
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr ""
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr ""
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      msgid "Failed to paste the code"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:701
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      msgid "_Removed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      msgid "Go to the previous hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      msgid "Go to the next hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      msgid "Remove _Unique Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:74
      msgid "Remove _Empty Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      msgid "_Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:127
      msgid "Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr ""
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr ""
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr ""
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr ""
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      msgid "Open Tab"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      msgid "Open Window"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      msgid "Previous tab"
      msgstr ""
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      msgid "Show Tabs"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      msgid "New terminal"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, c-format
      msgid "Unable to write default config file: %s"
      msgstr ""
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      msgid "Terminal"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      msgid "Close terminal"
      msgstr ""
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      msgid "Show Overview"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      msgid "Position on left"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      msgid "Hide tooltip"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      msgid "Toggle current translation fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      msgid "Show statistics of the current document"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid "Project Organizer"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      msgid "Find in Project Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      msgid "Find Project File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      msgid "Find Project Symbol..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      msgid "Find project symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      msgid "Index all project files:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:628
      msgid "No"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      msgid "project or external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      msgid "Add External Directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      msgid "Add"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      msgid "Find Symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      msgid "Add external directory"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      msgid "Find in Files..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      msgid "Find File..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      msgid "Find Symbol..."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      msgid "Remove External Directory"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:32
      #, fuzzy
      msgid "_Columns"
      msgstr "Flyt Kolonne"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:74
      #, fuzzy
      msgid "Convert _UTF-8 to locale"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      msgid "breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:98
      msgid "hardware breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:99
      msgid "tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr ""
      
      #: ../scope/src/break.c:142
      msgid "Run to Cursor"
      msgstr ""
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr ""
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr ""
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr ""
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr ""
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr ""
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr ""
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr ""
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr ""
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr ""
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr ""
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr ""
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr ""
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr ""
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr ""
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr ""
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr ""
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr ""
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr ""
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr ""
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr ""
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr ""
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr ""
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr ""
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr ""
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr ""
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr ""
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr ""
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr ""
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:294
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:330
      msgid "Check spelling when opening a document"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr ""
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "Flyt Kolonne"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "Flyt det valgte til højre/venstre"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "Flyt til Venstre"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "Flyt til Højre"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      msgid "LaTeX"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:329
      #, fuzzy
      msgid "Convert selection to table"
      msgstr "Flyt det valgte til højre/venstre"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr ""
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1234
      msgid "_Find in Files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2053
      msgid "Open new files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr ""
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:474
      msgid "Bookmark this website"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      msgid "List of bookmarks"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr ""
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      geany-plugins-1.27/po/es.po0000644000175000017500000071244412671261352016121 0ustar00frlanfrlan00000000000000# translation of es.po to
      # Spanish translation for geany-plugins
      # Copyright (C) 2009 - 2014 Lucas Vieites
      # This file is distributed under the same license as the geany-plugins package.
      # Andrew Janke , 2009
      # Lucas Vieites , 2009 - 2014.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2014-04-07 21:25+0200\n"
      "Last-Translator: Lucas Vieites \n"
      "Language-Team: Spanish; Castilian <>\n"
      "Language: es\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=2; plural=(n != 1);\n"
      "X-Generator: Gtranslator 2.91.6\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Línea vacía)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "Elimina_r marcador"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "Nº"
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Contenido"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Marcadores"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "_Actualizar"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Ocultar ventana de mensajes"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Archivo"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Línea"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Tipo"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Tarea"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Tareas"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Contexto:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "Etiquetado XML"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Nombre de etiqueta para insertar:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "%s será reemplazado por su selección actual. Tenga cuidado con su selección"
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Abrir URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Copiar URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr "Incluir caracteres"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Cancelar"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "Incluir combinación %d"
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "Carácter de apertura"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "Carácter de cierre"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Cerrar los _demás documentos"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "Cerrar _todos"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Mostrar lista de documentos"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, fuzzy, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "_Copiar ruta completa al portapapeles"
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      #, fuzzy
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Comprueba la ortografía del documento actual."
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Añadidos"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Varios pequeños añadidos para Geany."
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "Enfocar lista de marcadores"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "Enfocar lista de tareas"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "Actualizar lista de tareas"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr "Ejecutar etiquetado de XML"
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "No se ha podido crear el directorio de configuración del complemento."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr "Mostrar en la barra un elemento con una lista de documentos abiertos"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr "Ordenar documentos por _nombre"
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr "Ordenar los documentos en la lista por el nombre de archivo"
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr "Ordenar documentos por _frecuencia"
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Ordenar los documentos en el orden de las pestañas"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Ordenar documentos por f_recuencia (inversa)"
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr "Ordenar los documentos en el orden de las pestañas (inversa)"
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Mostrar el elemento «Abrir URI» en el menú del editor"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "Mostrar tareas disponibles en la ventana de mensajes"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "Mostrar tareas de todos los documentos"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Indica si se muestran las tareas de todos los documentos abiertos o sólo las "
      "del documento actual."
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "Indique una lista de cadenas de búsqueda separada por punto y coma."
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr "Cadenas de búsqueda:"
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "Mostrar un icono de estado en el área de notificación"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Mostrar marcadores definidos (líneas marcadas) en la barra lateral"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      "Marcar todas las apariciones de una palabra al pulsar dos veces sobre ella"
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr "Eliminar líneas en blanco al final"
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr "Etiquetado XML para la selección"
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr "Incluir selección mediante combinaciones de tecla configurables"
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      "Incluir selección automáticamente (sin pulsar una combinación de teclas)"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr "Autocierre"
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr "Auto-cerrar paréntesis y corchetes con multitud de opciones"
      
      #: ../autoclose/src/autoclose.c:1033
      #, fuzzy
      msgid "Auto-close quotes and brackets"
      msgstr "Auto-cerrar paréntesis y corchetes con multitud de opciones"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "No establecer ninguna codificación"
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Mover el cursor al fin de la línea"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientación del navegador"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      #, fuzzy
      msgid "Suppress double-completion"
      msgstr "Modo de autocompletado"
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Cancelar selección"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "Establecer la selección a un nivel más abajo"
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      #, fuzzy
      msgid "Enclose selections in strings and comments"
      msgstr "Incluir selección mediante combinaciones de tecla configurables"
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Navegación por el código"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Cambiar cabecera/implementación"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr "Extensiones de implementaciones"
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr "Extensiones de cabeceras"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Por defecto"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "No se ha encontrado %s. ¿Desea crearlo?"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr "Comandante"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      "Proporciona un panel de comandos para acceso rápido a acciones, archivos y "
      "más"
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr "Mostrar panel de comandos"
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr "Depurador"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr "Integración de varios depuradores."
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Depurar"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "Nombre"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "Valor"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr "Seleccionar archivo de destino"
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr "Objetivo:"
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr "Explorar"
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr "Depurador:"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr "Argumentos de línea de comando:"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr "Variables de entorno"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr "¿Borrar variable?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Ubicación"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Condición"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "Contador de aciertos"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "línea %i"
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "El programa ha recibido la señal:"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "El programa ha finalizado con código «%i»"
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr "No se ha podido resucitar el proceso gdb"
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      "~«Cargando archivo de destino.\n"
      "»"
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr "Error al cargar un archivo"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr "Error al configurar GDB"
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "No se puede fijar en %s el punto de ruptura %i\n"
      "Mensaje del depurador: %s"
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "No se puede encontrar un archivo de código fuente «%s»"
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr "Marco activo"
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr "Pulse en una flecha para cambiar a un marco"
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr "Hilo %i"
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Dirección"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Función"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "Objetivo"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Puntos de ruptura"
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr "Vigilar"
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr "Autos"
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr "Pila de llamadas"
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr "Terminal de depuración"
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr "Mensajes del depurador"
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr "Ejecutar/continuar"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "Detener"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "Reiniciar"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr "Entrar"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr "Saltar"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr "Salir"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr "Ejecutar hasta cursor"
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr "Añadir/eliminar punto de ruptura"
      
      #: ../debugger/src/keys.c:57
      msgid "Jump to the current instruction"
      msgstr "Saltar a la instrucción actual"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "No se puede evaluar la expresión"
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr "Detenga la sesión de depuración para editar archivos de código"
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "Ejecutar"
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "Ajustes"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr "Modo de dos paneles"
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "Continuar"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "Guardar los datos de la sesión de depuración en un proyecto"
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr "Definir formateador"
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr "Alinear la barra invertida automáticamente en ´define´s multilínea"
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Documentación"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "Código"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr "Buscar documentación de «Tag» en"
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Devhelp"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Páginas de manual"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Retroceder una página"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Avanzar una página"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Acercar"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Alejar"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Buscar"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Buscar documentación de «%s» en"
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr "Complemento de Devhelp"
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      "Añade soporte para la búsqueda de documentación en DevHelp, páginas de manua "
      "y Google Code en el visor integrado."
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "No se ha podido crear el directorio de configuración en «%s»"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "No se ha podido obtener la configuración predeterminada: «%s»"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "No se ha podido escribir la configuración predeterminada: «%s»"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr "Conmutar la pestaña de contenidos de la barra lateral"
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr "Conmutar pestaña de búsqueda de la barra lateral"
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr "Conmutar pestaña de documentación"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr "Activar todas las pestañas"
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr "Buscar la etiqueta actual en DevHelp"
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr "Buscar la etiqueta actual en las páginas de manual"
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr "Devhelp — Asistente"
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Libro:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Libro"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Página"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Palabra clave"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr "Struct"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "Macro"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr "Enum"
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr "Se esperaba «%s», se obtuvo «%s» en la línea %d, columna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr "Namespace no válido «%s» en la línea %d, columna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      "Los elementos \"title\", \"name\" y \"link\" son obligatorios en la línea "
      "%d, columna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      "Los elementos \"name\" y \"link\" son obligatorios dentro de  en la "
      "línea %d, columna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      "Los elementos \"name\" y \"link\" son obligatorios dentro de «%s» en la "
      "línea %d, columna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      "El elemento \"type\" es obligatorio dentro de  en la línea %d, "
      "columna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr "No se ha podido descomprimir el libro «%s»: %s"
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr "Todos los libros"
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr "Buscar en:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      "Andrew Janke , 2009\n"
      "Lucas Vieites , 2009 - 2012"
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr "Un visor de ayuda para el desarrollador de Gnome"
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_Archivo"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "_Editar"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "_Ver"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "_Ir"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "_Ayuda"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "Ventana _nueva"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "Nueva pes_taña"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "I_mprimir..."
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Buscar siguiente"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Buscar anterior"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "Ir a la página anterior"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Ir a la siguiente página"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "Solapa de _contenidos"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "Solapa de _búsqueda"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "Te_xto más grande"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Aumentar el tamaño del texto"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "Tex_to más pequeño"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Disminuir el tamaño del texto"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "Tamaño _normal"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Usar el tamaño de texto normal"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Salir del modo pantalla completa"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "Mostrar en pantalla completa"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Más grande"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Más pequeño"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "Acerca de Devhelp"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Preferencias..."
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "Se ha producido un error al abrir el enlace solicitado."
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "Página vacía"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Buscar:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Buscar la aparición anterior de la cadena de búsqueda"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Buscar la siguiente aparición de la cdena de búsqueda"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "Sensible _a mayúsculas"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr "Intercambiar búsqueda sensible a mayúsculas"
      
      #: ../geanyctags/src/geanyctags.c:51
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "complemento de criptografía gpg para geany"
      
      #: ../geanyctags/src/geanyctags.c:149
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: no existe el directorio."
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      #, fuzzy
      msgid "Find Tag"
      msgstr "Buscar:"
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "Buscar:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      #, fuzzy
      msgid "prefix"
      msgstr "_Prefijo base"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "Carta"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "Sensible _a mayúsculas"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relacional"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "General"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Buscar:"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "Buscar siguiente"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Llamar al visor de documentación para el símbolo actual."
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "No se ha podido interpretar la salida del comando"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Poner la salida en un búfer"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Comando 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Comando 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "Se reemplazará %w con la palabra actual\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr "Documentar palabra actual"
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr "Documento interactivo"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Selección extra"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr "Modo columna, seleccionar hasta la línea/corchete/ancla."
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "Selección e_xtra"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr "Modo _columna"
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr "Modo columna"
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr "Seleccionar hasta _línea"
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr "Seleccionar hasta línea"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr "Seleccionar hasta _corchete correspondiente"
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr "Seleccionar hasta corchete correspondiente"
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr "In_tercambiar flujo/rectangular"
      
      #: ../geanyextrasel/src/extrasel.c:532
      msgid "Convert selection"
      msgstr "Convertir selección"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr "Fijar an_cla"
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr "Fijar ancla"
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr "Seleccionar hasta _ancla"
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr "Seleccionar hasta ancla"
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr "Seleccionar en _rectángulo hasta ancla"
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr "Seleccionar en rectángulo hasta ancla"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "valor booleano"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "valor booleano no válido «%s»"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "plantilla no válida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "nombre de posición"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "posición no válida «%s»"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "nombre de política"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "política no válida «%s»"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "política de fusión"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr "política de fusión no válida «%s»"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "tipo"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "tipo no válido «%s»"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "nombre de ajuste no válido «%s»"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr "identificador de ajuste"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Tipo «%s» desconocido. ¿Es un error tipográfico?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr "identificador de emparejamiento"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr "identificador de emparejamiento vacío"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "identificador de tipo de documentación"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "tipo de documentación"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "expresión regular no válida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "descripción de entorno no válida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr "ajuste"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "nombre de sección"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "sección duplicada «%s»"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "nombre de sección no válido «%s»"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "entrada de datos vacía"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "Advertencia del analizador sintáctico: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "Error del analizador sintáctico: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Etiqueta no válida"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      "No se encontró el archivo de configuración de tipo de archivo para el "
      "lenguaje «%s»: %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr "No se pudo cargar el tipo de archivo «%s» desde el archivo «%s»: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "Generador de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr "Genera una base de documentación a partir del código fuente"
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "No se pudo cargar la configuración: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "No se pudo guardar la configuración: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      "No se pudo encontrar el archivo de configuración para el tipo de archivo "
      "«%s» %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      "# Todavía no existe una configuración para este tipo de archivo.\n"
      "# Para crearla, simplemente escríbala en este archivo y guárdela. Para "
      "obtener información\n"
      "# acerca de la sintaxis de este archivo acuda al manual.\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "No se ha podido cargar el archivo «%s»: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr "Inserte comentario de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr "_Documentar símbolo actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr "Generar documentación para el símbolo actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr "Document_ar todos los símbolos"
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Generar documentación para todos los símbolos en el documento actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "_Recargar archivos de configuración"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "Forzar la recarga de archivos de configuración"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "_Editar la configuración del lenguaje actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr "Abrir el archivo de configuración de idioma actual para su edición"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Abrir _manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Abrir el manual en un navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "Generador de _documentación"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "General"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "_Guardar archivo antes de generar documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Define si se debe guardar el documento actual en el disco antes de generar "
      "la documentación. Este es un detalle técnico, pero es actualmente necesario "
      "para tener una lista de etiquetas actualizada. Si desactiva esta opción y "
      "solicita generar documentación en un documento modificado, el comportamiento "
      "podría ser inesperado puesto que el comentario será generado desde el último "
      "estado de guardado de este documento y no el estado actual."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr "_Aplicar sangría a la documentación insertada"
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Define si se debe realizar sangría en la documentación insertada para "
      "ajustar la sangría al punto de inserción."
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "Elija el tipo de documentación a utilizar con cada tipo de archivo. El "
      "lenguaje especial «Todos» al principio de la lista se utiliza para elegir el "
      "tipo de documentación por defecto, utilizado por todos los lenguajes que no "
      "tienen un tipo especificado."
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr "Entorno global"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "Añadidos y sustituciones del entorno global. Este entorno será fusionado con "
      "las específicas de cada tipo de archivo."
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "El archivo «%s» existe pero no es un archivo correcto"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: no existe el archivo o directorio"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "No se ha podido cambiar el tamaño del flujo de salida de memoria."
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      "La expresión regular para analizar argumentos no produjo ninguna "
      "coincidencia (la lista de argumentos fue: «%s»)"
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "No se pudo añadir entorno global, saltando: %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "No se pudo construir comentario: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "Tipo de documentación «%s» no existe para el lenguaje «%s»."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr "Ningún ajuste se aplica al símbolo «%s» de tipo «%s» en la línea %lu."
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "No hay etiqueta válida en la línea %d."
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr "No hay etiquetas en el documento"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Opción desconocida"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      "Opción o proxy no válido: o bien la propiedad del proxy no es compatible o "
      "el tipo de opción no es compatible."
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "Tipo de valor desconocido para entrada de archivo clave %s::%s"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr "Error al obtener entrada de archivo clave %s::%s: %s"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Lenguaje"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr "_Cambiar tipo de documentación asociada"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr "_Desasociar tipo de documentación"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Todos"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      "Tipo de documentación por defecto para los lenguajes que no tienen un tipo "
      "especificado"
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "Insertar números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "Insertar/Rellenar columnas con números"
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Contando..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Preparando..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Insertando..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "Para base 11 y superiores"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "_Inicio:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "_Paso:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Letras:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "Mayúsc_ulas"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "Minúscu_las"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "_Prefijo base"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 para octal, 0x para hex, + para decimal positivo"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Relleno:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Esp_acio"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "_Cero"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "Insertar _números"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Entornos"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Formato"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Estructura del documento"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Listas"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Matemáticas"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Inserte entorno"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Entorno:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "No se ha podido determinar dónde insertar el paquete: %s\n"
      "Por favor, intente insertar el paquete manualmente"
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr "No se ha podido determinar dónde insertar el paquete: «%s»"
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Artículo (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Libro (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr "Folleto (@Booklet)"
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Conferencia (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr "Cuadernillo (@Inbook)"
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr "Parte de un libro con título propio (@Incollection)"
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr "Artículo de acta de sesiones (@Inproceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr "Manual (@Manual)"
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "Tésis de maestría (@Mastersthesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr "Misc (@Misc)"
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr "Tésis doctoral (@PhdThesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr "Acta de sesiones (@Proceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr "Informe técnico (@Techreport)"
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "Sin publicar (@Unpublished)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr "Anotación"
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Autor"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr "Título del libro"
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Capítulo"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr "Referencia cruzada"
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Edición"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "E-print"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr "HowPublished"
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Institución"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Publicación"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Clave"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Mes"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Nota"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Número"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organización"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Páginas"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Editorial"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "Escuela"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Serie"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Título"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Volumen"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Año"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Dirección de la editorial"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr "Comentario para estilos de bibliografía anotados"
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "Nombre(s) del autor o autores, separados por «and» si hay más de uno"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "Título del libro, si sólo se menciona parte de él"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Número de capítulo"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr "Clave de cita de la entrada de referencia cruzada"
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "Nº de edición del libro (por ejemplo «primera» o «segunda»)"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "Nombres de los editores, separados por «and» si hay más de uno"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "Especificación de publicación electrónica"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "Método de publicación en caso de que el método no sea estándar"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "Institución implicada en la publicación"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "Publicación o revista en la cuál el trabajo fue publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      "Campo oculto utilizado para especificar o invalidar el orden alfabético de "
      "entradas"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr "Mes de publicación, o creación, si no está publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Información adicional variada"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "Número de publicación, revista o informe tecnológico"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "Patrocinador de la conferencia"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "Números de página separados por comas o guiones dobles"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Nombre del editor"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "Escuela en la que se escribió la tesis"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "Serie de libros en la que el libro fue publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Título del trabajo"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Tipo de informe técnico"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Dirección de internet"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Número de volumen"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "Año de publicación, o creación, si no está publicado"
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr "Ejecuta asistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "Marca el texto seleccionado como cursiva"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "Marca el texto seleccionado como negrita"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "Subraya el texto seleccionado"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centrado"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Orientado a la izquierda"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Orientado a la derecha"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "Utilizar script KOMA por defecto"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "Mostrar barra de herramientas de complemento opcional"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr "Capitalizar frase al escribir"
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr "Añadir un icono de asistente a la barra de herramientas principal"
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr "Bajar selección al formatear versalitas (\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr "No se preocupe por este complemento interno"
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Realizar siempre autocompletado en LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr "Modo de autocompletado"
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "Insertar etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "Nombre de etiqueta:"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "Insertar comando"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "Nombre de comando:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "Insertar referencia"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "Nombre de referencia:"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "Referencia e_stándar"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "Referencia de _página"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr "_Añadir ambos"
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "Más"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr "Añadir paquete adicional"
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "Nombre del paquete:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr "Opciones del paquete:"
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr "Insertar referencia BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr "Nombre de referencia BibTeX:"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "Estimado Señor o Señora"
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr "Saludos cordiales"
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr "No se asignó ninguna plantilla. Cancelando"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "Asistente LaTeX"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Plantilla:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr "Establezca la plantilla que se usará para crear el nuevo documento"
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "Por defecto"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr "Clase de documento:"
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "Elija el tipo de documento que desea escribir"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Artículo"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Informe"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Carta"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Presentación"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Codificación:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "Establezca la codificación para su nuevo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr "Tamaño de letra"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr "Establezca el tamaño de letra por defecto de su nuevo documento"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Autor:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Establece el valor del comando \\author. En la mayoría de los casos, éste "
      "debería ser su nombre"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Fecha:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "Establece el valor del comando \\date dentro de la cabecera de su nuevo "
      "documento LaTeX creado. Mantener este valor a \\today es una buena decisión "
      "si usted no necesita ninguna fecha fija."
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Título:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "Establece el título de su nuevo documento."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "Tamaño del papel:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "Elija el formato de papel para el nuevo documento creado"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "Orientación de papel:"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr "Elija la orientación de papel para el nuevo documento creado"
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr "Utilizar clases de script KOMA si es posible"
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "Utiliza las clases de script KOMA por Markus Kohm.\n"
      "No olvide que para compilar su documento, estas clases deben ser instaladas "
      "primero."
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "Usar modo borrador"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "Establece el modo borrador en los nuevos documentos creados para obtener "
      "documentos con cierta cantidad de ayudantes de depuración"
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "Ejecutar el asistente LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "Insertar \\label"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "Insertar \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "Insertar salto de línea \\\\"
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "Insertar comando"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr "Activar/desactivar reemplazo de entrada"
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Reemplazar caracteres especiales"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr "Ejecutar diálogo de insertar entorno"
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "Insertar \\item"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr "Aplicar negrita a la selección"
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr "Aplicar cursiva a la selección"
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr "Aplicar fuente Typewriter a la selección"
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "Centrar selección"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "Alinear selección a la izquierda"
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr "Alinear selección a la derecha"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr "Insertar lista de tipo description"
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr "Insertar lista de tipo itemize"
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr "Insertar lista de tipo enumerate"
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr "Establecer la selección a un nivel más arriba"
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr "Establecer la selección a un nivel más abajo"
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr "Insertar \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr "Diálogo insertar referencia BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX es un complemento para mejorar el soporte de LaTeX en Geany.\n"
      "\n"
      "Por favor, notifique todos los fallos o características deseadas a "
      "cualquiera de los autores."
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      "glatex_set_autocompletion_contextsize se ha inicializado con un valor no "
      "válido. Por tanto, se ha tomado el valor por defecto. Por favor, revise su "
      "archivo de configuración"
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr "página \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr "\\ref{{{reference}}}, página \\pageref{{{reference}}}"
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "_Asistente LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Inicia un asistente para crear fácilmente documentos de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "I_nsertar carácter especial"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "Ayuda a utilizar algunos símbolos y letras poco comunes"
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "Insertar _referencia"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr "Insertar referencias al documento"
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "Insertar _etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "Ayuda a insertar etiquetas a un documento"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "Insertar _entorno"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr "Ayuda a insertar un entorno a un documento"
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "Insertar _paquete"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      "Un pequeño diálogo para insertar \\usepackage{} en la cabecera del fichero "
      "actual"
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formato"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "Tamaño de _fuente"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "Reemplazo de caractere_s especiales"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr "_Reemplazar caracteres especiales de forma masiva"
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "_Reemplazar caracteres especiales seleccionados con sustitutos TeX"
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr "Alternar reemplazo de caractere_s especiales"
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "Insertar _comando"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr "Insertar comando personalizado en el documento"
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr "Insertar referencia B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr "Ayuda a la inserción de referencias de archivos BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr "Entradas _BibTeX"
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr "Letras LaTeX"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Letras griegas"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Umlauts alemanes"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Varios"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Caracteres de flechas"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Relacional"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Operación binaria"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Cursiva"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Negrita"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Subrayado"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Máquina de escribir"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Versalitas"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "Oblícua"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Énfasis"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "tiny"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr "scriptsize"
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "footnotesize"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "small"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "normalsize"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "large"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "Large"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "LARGE"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "huge"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "Huge"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "IBM 850 code page"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "IBM 852 code page"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "No establecer ninguna codificación"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr "Creando texto de relleno con Geany"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Generador Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "Introduzca la longitud del texto Lipsum"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr "Incluir Pseudotexto en el código"
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "Insertar texto Lipsum"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s():\n"
      " se esperaba el tipo «%s» para el argumento nº %d\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s()\n"
      " tipo esperado «%s» o «%s» para el argumento nº %d.\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s():\n"
      " tabla inválida en el argumento nº %d:\n"
      " tipo esperado «%s» para el elemento nº %d\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Script Lua"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Escriba y ejecute scripts Lua para comandos personalizados."
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Complemento de Script Lua"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Error de script Lua:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Tiempo de espera para el script"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Un script Lua está tardando demasiado en terminar.\n"
      "¿Desea seguir esperando?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Se ha terminado el tiempo de espera del script."
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(el objeto de error no es una cadena)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Error desconocido dentro del script."
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Memoria agotada"
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "No se ha podido abrir el archivo de script."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Se ha producido un error desconocido al cargar el archivo de script."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Construyendo menú desde «%s»\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "¡Nada para configurar!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "Puede crear el script:\n"
      "\n"
      "«%s»\n"
      "\n"
      "para añadir su propio diálogo de configuración personalizado."
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Abrir archivo"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Seleccionar archivo"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Explorar..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Seleccionar color"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Elegir..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Seleccionar fuente"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Seleccionar..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "Error en el módulo «%s» en la función navigate():\n"
      "modo de navegación desconocido «%s» para el argumento nº 1.\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s()\n"
      "El comando de API «%s» no está implementado.\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s()\n"
      "no hay argumentos suficientes para el comando «%s».\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s()\n"
      "comando desconocido «%s» para el argumento nº1.\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s()\n"
      " tabla inválida en el argumento nº %d:\n"
      " indicador «%s» desconocido para el elemento nº %d\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "El archivo existe"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "¿Desea sobrescribirlo?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "confirmar"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Guardar archivo"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "Error en el módulo «%s» en la función pickfile()\n"
      "no se ha podido interpretar la cadena del filtro en el eargumento nº 3.\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s()\n"
      "cadena esperada «open» o «save» para el argumento nº 1.\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: No se ha podido cargar la biblioteca auxiliar %s.\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: No se ha podido inicilalizar la biblioteca auxiliar %s.\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      "%s: Hay discrepancia en las versiones de la biblioteca auxiliar: %s para %s "
      "(debería %s).\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      "%s: Desajuste en el ABI de la biblioteca auxiliar: %d por %s (debería ser "
      "%d).\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: No se ha podido encontrar la biblioteca auxiliar %s.\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "El complemento %s no se ha cargado correctamente.\n"
      "Compruebe su instalación."
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s()\n"
      "no se encuentra el componente «%s» para el argumento nº1.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "Error en el módulo «%s» en la función %s() argumento #2:\n"
      "el componente «%s» no tiene una señal llamada «%s».\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Cortar al portapapeles"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "Copiar al portapapeles"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Pegar desde el portapapeles"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Cortar la línea actual al portapapeles"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Copiar líne actual al portapapeles"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "Borrar el caracter a la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "Borrar el caracter a la derecha"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "Borrar el caracter a la izquierda (pero no el salto de línea)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "Borrar hasta el inicio de la palabra a la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "Borrar hasta el inicio de la palabra a la derecha"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "Borrar hasta el final de la palabra a la derecha"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "Borrar hasta el inicio de la línea"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "Borrar hasta el final de la línea"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Borrar línea actual"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr "Tabulación inversa (borra tabulación si no hay nada detrás)"
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "Mover la vista una línea hacia abajo"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "Mover la vista una línea hacia arriba"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr "Acercar vista"
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr "Alejar vista"
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "Mover el curso hacia abajo"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "Mover el curso hacia arriba"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "Mover el curso hacia la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "Mover el curso hacia la derecha"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "Mover el cursor al inicio de la palabra a la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "Mover el cursor al inicio de la palabra a la derecha"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr "Mover el cursor al inicio de parte de la palabra a la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr "Mover el cursor al inicio de parte de la palabra a la derecha"
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "Mover el cursor al inicio de la línea"
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "Mover el cursor al fin de la línea"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr "Mover el cursor a la 1ª línea del documento"
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr "Mover el cursor a la última línea del documento"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "Mover el cursor una página hacia arriba"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "Mover el cursor una página hacia abajo"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr "Mover el cursor al primer carácter visible"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr "Mover el cursor al último carácter visible"
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      "Mover el cursor al primer carácter no blanco de la línea o al primer "
      "carácter de la línea si ya está en el primer carácter no blanco"
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Mover el cursor al inicio del siguiente párrafo"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr "Mover el cursor al inicio del párrafo actual/anterior"
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr "Mover el cursor al final de la palabra a la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr "Mover el cursor al final de la palabra a la derecha"
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr "Extender la selección una línea hacia abajo"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "Extender la selección una línea hacia arriba"
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "Extender la selección una línea hacia la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "Extender la selección una línea hacia la derecha"
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr ""
      "Extender la selección una línea hasta el inicio de la palabra a la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr ""
      "Extender la selección una línea hasta el inicio de la palabra a la derecha"
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr ""
      "Extender la selección una línea hasta el inicio de una parte de la palabra a "
      "la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr ""
      "Extender la selección una línea hasta el inicio de una parte de la palabra a "
      "la derecha"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "Extender la selección hasta el inicio de la línea"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "Extender la selección hasta el final de la línea"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr "Extender la selección hasta el inicio del documento"
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr "Extender la selección hasta el final del documento"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "Extender la selección una página hacia arriba"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "Extender la selección una página hacia abajo"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr "Extender la selección hasta el primer carácter visible"
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr "Extender la selección hasta el último carácter visible"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      "Extender la selección hasta el primer carácter no blanco de la línea o al "
      "primer carácter de la línea si ya está en el primer carácter no blanco"
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Extender la selección hasta el inicio del siguiente párrafo"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr "Extender la selección hasta el inicio de párrafo actual/anterior"
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Extender la selección hasta el final de la palabra a la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Extender la selección hasta el final de la palabra a la derecha"
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr "Extender la selección rectangular una línea hacia abajo"
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr "Extender la selección rectangular una línea hacia arriba"
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Extender la selección rectangular una línea hacia la izquierda"
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Extender la selección rectangular una línea hacia la derecha"
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Extender la selección rectangular hasta el inicio de la línea"
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Extender la selección rectangular hasta el final de la línea"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Extender la selección rectangular un página hacia arriba"
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Extender la selección rectangular un página hacia abajo"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      "Extender la selección rectangular actual hasta el primer carácter no blanco "
      "de la línea o hasta el primer carácter si ya está en el primer carácter no "
      "blanco"
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "Cancelar selección"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr "Intercambiar modo inserción/sobrescritura"
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Tab"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Cambio de línea"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr "Insertar/reemplazar con \"\""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr "Intercambiar la línea actual con la superio"
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Cambiar el texto seleccionado a minúsculas"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Cambiar el texto seleccionado a mayúsculas"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr "Insertar un duplicado de la líne actual debajo"
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      "Insertar un duplicado del texto seleccionado después de la selección. Si no "
      "hay nada seleccionado, duplicar la línea"
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr "Buscar siguiente \"\""
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr "Buscar anterior \"\""
      
      #: ../geanymacro/src/geanymacro.c:152
      msgid "Set start of search to beginning of selection"
      msgstr "Mover inicio de búsqueda a inicio de selección"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Macros"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr "Macros para Geany"
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr "No hay texto en el portapapeles."
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      "Mensaje no reconocido\n"
      "%i %i %i"
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr "Guardar macros al cerrar Geany"
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr "Preguntar antes de reemplazar macros existentes"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr "Ayuda de macros Geany"
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      "Este plugin proporciona Macros en Geany.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr "Este plugin permite grabar y usar macros propias."
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      "Estas son secuencias de acciones que luego podrán ser repetidas con una sola "
      "combinación de teclas."
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      "Así que si tiene docenas de líneas en las que desea eliminar los últimos dos "
      "caracteres, simplemente podría iniciar la grabación, pulsar «Fin», "
      "«Retroceso», «Retroceso», «línea abajo» y detener la grabación."
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      "Luego simplemente iniciar la macro y automáticamente editará la línea y se "
      "moverá a la siguiente."
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      "Seleccione «Grabar Macro» del menú «Herramientas» y se le presentará una "
      "caja de diálogo."
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      "Debe indicar una combinación de teclas que no esté siendo utilizada y un "
      "nombre que identifiauq a la macro."
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr "Pulse «Grabar»"
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      "Todo lo que haga en el editor será grabado hasta que seleccione «Detener "
      "grabación de macro» del menú «Herramientas»."
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr "Al pulsar la combinación de teclas indicada se ejecutará la macro."
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      "Para editar las macros que ya tiene, seleccione «Editar macro» del menú "
      "«Herramientas»."
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr "Puede seleccionar una macro y borrarla o volver a grabarla."
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      "También puede pulsar en el nombre de una macro y cambiarlo, o en la "
      "combinación de tecla y modificarla siempre que la nueva no esté ya en uso."
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      "Al seleccionar la opción de edición podrá ver los elementos individuales de "
      "los que está compuesta la macro."
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      "Puede seleccionar un comando distinto para cada elemento, moverlos, añadir "
      "elementos nuevos, borrar elementos o, si es un reemplazo/inserción, editar "
      "el texto reemplazado o insertado.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      "Lo único que debe tener en cuenta es que las operaciones de deshacer y "
      "rehacer no se grabarán, por lo que no se reproducirán cuando se ejecute la "
      "macro.\n"
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      "Puede alterar el comportamiento predeterminado de este plugin seleccionando "
      "el gestor de plugins en el menú «Herramientas», elegir esteplugin y pulsar "
      "en «Preferencias»."
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr "Puede cambiar:\n"
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      "Guardar macros al cerrar Geany - Si esto está seleccionado Geany guardará "
      "cualquier macro grabada y las cargará para usarlas la siguiente vez que abra "
      "Geany, si no se perderán al cerrar el programa.\n"
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      "Preguntar antes de reemplazar macros existentes - Si esto está seleccionado "
      "e intenta grabar una macro por encima de una existente, Geany lo comprobará "
      "antes de sobrescribirla, proporcionando la opción de intentar usar un nombre "
      "o una combinación de teclas distintos. Si no, simplemente eliminará "
      "cualquier macro que tenga el mismo nombre o la misma combinación de teclas."
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "Grabar macro"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Grabar"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "Disparador de macro:"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "Nombre de macro:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "El nombre de macro «%s»\n"
      "ya está en uso.\n"
      "¿Desea reemplazarlo?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "El disparador de macro «%s»\n"
      "ya está en uso.\n"
      "¿Desea reemplazarlo?"
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr "Buscar %s, buscando %s%s%s.%s%s%s%s%s"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Opciones de búsqueda:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_Ok"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr "_Cancelar"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "Buscar hacia adelante"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Buscar hacia atrás"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "Buscar el contenido del portapapeles"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr "Buscar:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "La búsqueda es sensible a mayúsculas"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Buscar la palabra completa"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Buscar el inicio de la palabra"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "El texto buscado es una expresión regular"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "El texto buscado es compatible POSIX"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr "Editar texto a insertar/reemplazar"
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Texto:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr "Insertar/reemplazar con «%s»"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "Editar: %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "Evento"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "Mover hacia _arriba"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "Mover hacia a_bajo"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr "Nuevo _encima"
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr "Nuevo _debajo"
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "_Eliminar"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "Editar macros"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "Nombre de macro"
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr "Tecla del disparador"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr "_Regrabar"
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "Grabar _macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "Detener grabación de _macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "_Editar macros"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      "GMS: Plugin de filtro Geany Mini-Script\n"
      "Este plugin es una herramienta para aplicar un filtro de script a:\n"
      "   o la selección de texto,\n"
      "   o el documento actual,\n"
      "   o todos los documentos de la sesión actual.\n"
      "\n"
      "El filtro puede ser de tipo:\n"
      "   o script shell Unix,\n"
      "   o script perl,\n"
      "   o script python,\n"
      "   o commandos sed,\n"
      "   o script awk.\n"
      "\n"
      "AUTOR\n"
      "   Escrito por Pascal BURLOT (Diciembre, 2008)\n"
      "\n"
      "LICENCIA:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr "Cargar archivo mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr "Guardar archivo mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr "Filto mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr "Limpiar la ventana de mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr "Cargar un mini-script en esta ventana"
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr "Guardar el mini-script en un archivo"
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr "Mostrar información acerca de plugin mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr "seleccionar el tipo de mini-script"
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr "entrada del filtro"
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr "seleccionar la entrada del filtro del mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "selección"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "documento"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "sesión"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr "salida del filtro"
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr "seleccionar la salida del filtro del mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "Documento actual"
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr "Documento nuevo"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr "configuración de script"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr "Mini Script"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      "Una herramienta para aplicar un filtro de script sobre una selección de "
      "texto o un documento actual"
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, un usuario de Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr "_Mini-Script"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr "Marcadores numerados para Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      "No se han podido aplicar todos los marcadores a «%s» ya que todos están en "
      "uso."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr "_OK"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      "«%s» ha sido editado desde que fue guardado por última vez por Geany. Las "
      "posiciones de los marcadores no son fiables y no serán cargadas.\n"
      "Pulse «Ignorar» para intentar cargar los marcadores de todos modos."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr "_Ignorar"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr "recordar estado de plegado"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr "Centrar vista al ir a un marcador"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to start of line"
      msgstr "Mover al inicio de la línea"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr "Mover a la posición recordada de la línea"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr "Mover a la posición en la línea actual"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      msgid "Move to End of line"
      msgstr "Mover al final de la línea"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr "Guardar los ajustes del archivo con los ajustes del programa"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr "Guardar los ajustes del archivo a un nombre de fichero con sufijo"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr "recordar marcadores normales"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr "Ayuda de marcadores numerados"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      "Este plugin implementa marcadores numerados en Geany, también recuerda el "
      "estado de los pliegues y las posiciones de marcadores no numerados estándar "
      "cuando se guarda un archivo.\n"
      "\n"
      "Le permitirá guardar hasta 10 marcadores numerados. Para guardar un "
      "marcador, pulse Ctrl+Mayús+un número del 0 al 9. Verá que aparecerá un "
      "marcador al lado del número de línea. Si pulsa Ctrl+Mayús+n número en una "
      "línea que ya tiene ese número, se eliminará el marcador, de lo contrario "
      "moverá ahí el marcador si éste ya estaba en otra línea, o lo creará no no "
      "existía ya. Solo se mostrará el marcador más reciente de una línea, pero "
      "podrá tener más de un marcador por línea. Para moverse a un marcador fijado "
      "anteriormente, pulse Ctrl+un número de 0 a 9."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr "No se pueden aplicar marcadores ya que están todos ocupados."
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "No se ha podido crear un archivo temporal"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      "La clave con el ID de usuario «%s» tiene validez «%s».\n"
      "\n"
      "ATENCIÓN: NO es seguro que la clave pertenezca a la persona mencionada en el "
      "ID de usuario.\n"
      "\n"
      "¿*Realmente* está seguro de que desea usar esta clave de todos modos?"
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      "No se han seleccionado destinatarios.\n"
      "¿Desea usar cifrado simétrico?"
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr "complemento de criptografía gpg para geany"
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr "Usando versión de libgpgme:"
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr "Error desde"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "Cifrar"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "Firmar"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr "Descifrar / Verificar"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr "Verificar firma separada"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Seleccione destinatario(s)"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Firma mensage como:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Seleccionar destinatarios"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "Elige una clave para firmar:"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "Seleccionar firmante"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "No pudo usar pinentry"
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "Salida inesperado desde pinentry"
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr "entrada de contraseña"
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Contraseña"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "Entra contraseña para"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "pinentry ha hecho un error"
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "Error inesperado desde pinentry"
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      "Error, Entrada de contraseña sin usar gpg-agent todavía no esta soportado en "
      "Windows."
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr "un clave con huella dactilar"
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "desconocido"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "no definido"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "nunca"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "marginal"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "completamente"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr "último"
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr "[valor de validez malo]"
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr " validó"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr " verde"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr " rojo"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr " revocado"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " clave-expirado"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " firma-expirado"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " clave-faltando"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " crl-faltando"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " crl-demasiado-viejo"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr " política-mala"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr " sys-error"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Desconocido\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      "estatus ........: %s\n"
      "resumen ........:%s\n"
      "huella dactilar : %s\n"
      "creó ...........: %sexpirará .......: %svalidez ........: %s\n"
      "razón.de.validez: %s\n"
      "alg clave publcó: %s\n"
      "alg de resumen .: %s\n"
      "dirección de pka: %s\n"
      "confianza en pka: %s\n"
      "otras flags ....:%s%s\n"
      "notaciones .....: %s\n"
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Ninguna]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Desconocido"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "NS/NC"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "mala"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "buena"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr "Reservado para uso en el futuro"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr " utilización de clave incorrecta"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr " modelo cadena"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "sí"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "no"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "Encontró firma de"
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Firma"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "No pudo encontrar resultados de verificación"
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "Error, no pudo encontrar resultados de verificación"
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Abrir archivo de firma"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "Soporte alternativo de proyectos"
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr "Buscar un texto en el proyecto geanyprj"
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr "Mostrar barra lateral"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Preferencias del proyecto"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Proyecto nuevo"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "C_rear"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Nombre:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Ubicación:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Elija la ubicación del proyecto"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Ruta base:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "La ruta del directorio base de todos los archivos que conforman el proyecto. "
      "Esto puede ser una ruta nueva o un árbol de directorios existentes. Puede "
      "utilizar rutas relativas al archivo del proyecto."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Elija la ruta base del proyecto"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Generar lista de archivos al cargar"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Añadir archivos que coinciden con el tipo de projecto automáticamente al "
      "cargarlo. No puede añadir o eliminar archivos manualmente si marca esta "
      "opción ya que sus modificaciones se perderán en la siguiente carga del "
      "proyecto."
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Tipo:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Ya existe el archivo de proyecto «%s»"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Proyecto"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Eliminar proyecto"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Añadir archivo"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferencias"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Buscar en proyecto"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Eliminar archivo"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Ocultar barra _lateral"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Proyecto"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Se ha abierto el proyecto «%s»."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr "Soporte para plugins Python"
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "No se ha podido precargar la biblioteca Python: %s."
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr "No de ha podido importar el módulo de gestión"
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr "Ha fallado la importación de PluginManager del módulo de gestión"
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr "No se ha encontrado el directorio de plugins del sistema."
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr "No se ha podido instanciar un nuevo PluginManager"
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr "No de ha podido obtener el método get_all() en el gestor de plugins"
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "No se ha podido crear el directorio de plugins Python: %s: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr "Gestor de plugins Python"
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Un pequeño complemento para enviar el archivo actual como adjunto mediante "
      "el cliente de correo preferido del usuario"
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "Dirección del destinatario"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "Introduzca la dirección e-mail del destinatario:"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "No se ha encontrado el sustituto del nombre de archivo. El comando ejecutado "
      "podría haber fallado."
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "No se ha encontrado el sustituto de la dirección email del destinatario. El "
      "comando ejecutado podría haber fallado."
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "No se ha podido ejecutar el programa de correo. Compruebe su configuración."
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "Primero debe definir un cliente de correo."
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "Debe guardar el archivo antes de enviar."
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "Enviar"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "Enviar por correo electrónico"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "Ruta y opciones del cliente de correo:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Nota: \n"
      "\t%f será reemplazado por su archivo.\n"
      "\t%r será reemplazado por la dirección del destinatario.\n"
      "\t%b será reemplazado por el nombre del archivo\n"
      "\tEjemplos:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Enviando '%b'\" -a \"%f\" \"%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr "Mostrar icono en la barra de herramientas"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Muestra un icono en la barra de herramientas para enviar el archivo más "
      "fácilmente."
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      "Usar un diálogo para introducir la dirección de correo de los destinatarios"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "Enviar archivo por correo electrónico"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "Enviar docu_mento"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Envía el archivo abierto como un adjunto mediante cualquier cliente de "
      "correo de su $PATH"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "Interfaz hacia varios sistemas de control de versión."
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "Error de geanyvc: s_spawn_sync: %s"
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "Archivo %s: acción %s ejecutado vía %s."
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated: No se puede renombrar «%s» a «%s»"
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "No se han realizado cambios."
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr "No hay historia disponible"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "¿Está seguro de que quiere revertir «%s»?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "¿Está seguro de que quiere añadir «%s»?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "¿Está seguro de que quiere eliminar «%s»?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "¿Está seguro de que quiere actualizar?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      "Las diferencias resultantes no se pueden mostrar porque son demasiado "
      "grandes para mostrar aquí y ralentizarían la UI considerablemente.\n"
      "/nPara ver las diferencias cancele este diálogo y abra las diferencias "
      "directamente en Geany mediante el menú GeanyVC (Directorio base -> Diff)."
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "Commit S/N"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Estado"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Ruta"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Línea: %d Columna: %d"
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "Commit"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "_De/seleccionar todos los archivos"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "Mensaje de commit:"
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr "C_ommit"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "No hay nada para commit."
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "Ha ocurrido un error al iniciar la comprobación ortográfica: %s"
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      "Fijar el indicador «Modificado» para pestañas de documentos creados por el "
      "complemento"
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Si esta opción está activada, cada pestaña creada por el complemento de VC "
      "(Control de versiones) será marcado como «modificada». Aunque esta opción "
      "puede ser útil en algunos casos, podrá causar la aparición de una molesta "
      "cantidad de diálogos del tipo «¿Desea guardar el archivo?»."
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr "Confirmar la adición de archivos nuevos al VCS"
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr "Muestra un diálogo de confirmación al añadir un archivo nuevo al VCS."
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "Maximizar el diálogo de commit"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "Mostrar el diálogo de commit maximizado."
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "Usar un visor de diffs externo"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "Usar un programa externo para visualizar diferencias entre archivos."
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "Mostrar menús de VC en el menú del editor"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Mostrar opciones de menú para funciones de VC en los menús del editor"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr "Añadir menú a la barra de menús"
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      "Indica si el menú de este plugin se colocará dentro del menú de herramientas "
      "o directamente den la barra de menús de Geany. Se tendrá en cuenta después "
      "de reiniciar GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "Activar CVS"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "Activar GIT"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "Activar SVN"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "Activar SVK"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Activar Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Activar Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "Idioma de comprobación ortográfica"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr "Acciones de archivo _VC"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "Crear un diff del archivo actual"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "_Revertir"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "Restaurar una copia limpia de trabajo (deshacer ediciones locales)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr "_Culpar"
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr "Muestra los cambios hechos a un archivo por revisión y autor."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "_Historial (registro)"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "Muestra el registro del archivo actual"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr "Muestra el original del archivo actual"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "_Añadir a control de versiones"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Añadir un archivo al repositorio."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "Elimina_r del Control de Versiones"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Eliminar el archivo del repositorio."
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "_Directorio"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "Realizar un diff del directorio del archivo actual"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      "Restaurar los archivos originales en el directorio actual (deshacer "
      "ediciones locales)."
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "Muestra el registro del directorio actual"
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "Directorio _Base"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr "Crear un diff desde el directorio superior de CV"
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "Revertir cualquier modificación local"
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr "Muestra el registro del directorio superior de CV"
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr "_Commit CV"
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Mostrar diff del archivo"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Mostrar diff del directorio"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "Mostrar diff del directorio base"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "Hacer commit de los cambios"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Mostrar estado"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "Revertir un solo archivo"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "Revertir directorio"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "Revertir directorio base"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Actualizar archivo"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "C_V"
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr "Control de _versiones"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "E_stado"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Mostrar estado."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Actualizar desde el repositorio remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "_Commit"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "Hacer commit de los cambios."
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr "Pegue su código en su pastebin preferido"
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "No se ha encontrado el directorio %s.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "posición no válida «%s»"
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr "Negándose a crear un pegado en blanco"
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "No de ha podido importar el módulo de gestión"
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "No se pudo crear el directorio de configuración «%s»: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "No se ha podido abrir el archivo de script."
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      #, fuzzy
      msgid "unexpected response from the pastebin service."
      msgstr "Error inesperado desde pinentry"
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr "Pegado con éxito"
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Su pegado se puede encontrar aquí:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr "No hay documentos abiertos. Abra uno y vuelva a intentarlo.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr "El campo del nombre de autor está vacío."
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr "Seleccionar pastebin:"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr "Introduzca el nombre del autor:"
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr "Mostrar su pegado en una nueva pestaña del navegador"
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr "_Péguelo"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "Eliminar archivo"
      
      #: ../git-changebar/data/prefs.ui.h:6
      #, fuzzy
      msgid "Colors"
      msgstr "Color de fondo:"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "No se pudo cargar el archivo de configuración: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "No se pudo crear el directorio de configuración «%s»: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "No se pudo guardar el archivo de configuración: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Ir a la página anterior"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Ir a la siguiente página"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "No se pudo cargar la definición de UI, compruebe su instalación. El mensaje "
      "de error: %s"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Eliminar archivo"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Eliminar archivo"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operación binaria"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operación binaria"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Posición:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Barra lateral"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "Ventana de mensajes"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Fuente:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "Fuente de código:"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "Color de fondo:"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "Color de frente:"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr "Seleccionar plantilla"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr "Vista previa en directo de Markdown"
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr "Vista previa de Markdown"
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr "El documento actual no es un archivo de tipo Markdown."
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "No se pudo guardar el archivo de configuración: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "No se pudo cargar el archivo de configuración: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "ventana-de-mensajes"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "barra lateral"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "Abrir terminal"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "Ventana _nueva"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      #, fuzzy
      msgid "Next tab"
      msgstr "Cadena _siguiente"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "Cadena _anterior"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Mostrar estado"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "No se ha podido escribir la configuración predeterminada: «%s»"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "Mostrar terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "No se ha podido escribir la configuración predeterminada: «%s»"
      
      #: ../multiterm/src/shell-config.vala:30
      #, fuzzy, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "No se ha podido crear el directorio de configuración en «%s»"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "Terminar"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "Mostrar terminal"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "No se pudo construir comentario: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "Mostrar terminal"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      #, fuzzy
      msgid "Zoom Level:"
      msgstr "Acercar vista"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "nombre de posición"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "Mostrar ayuda emergen_te"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "Opciones"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      #, fuzzy
      msgid "Color:"
      msgstr "Color de fondo:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      #, fuzzy
      msgid "Outline Color:"
      msgstr "Seleccionar color"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr "Resaltador de etiquetas parejas"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Encuentra y resalta etiquetas HTML de apertura/cierre"
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr "Ayudante de _traducción"
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr "Cadena _anterior"
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr "Ir a la cadena anterior"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr "Cadena _siguiente"
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr "Ir a la siguiente cadena"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr "A_nterior sin traducir"
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr "Ir a la anterior cadena sin traducir"
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr "Siguien_te sin traducir"
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr "Ir a la siguiente cadena sin traducir"
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr "Difu_sa anterior"
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr "Ir a la traducción difusa anterior"
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr "Siguiente di_fusa"
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr "Ir a la siguiente traducción difusa"
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr "Anterior sin traducir o difu_sa"
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr "Ir a la anterior cadena sin traducir o difusa"
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr "Siguiente sin traducir _o difusa"
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr "Ir a la siguiente cadena sin traducir o difusa"
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      msgid "Toggle current translation fuzziness"
      msgstr "Conmutar estado de traducción difusa"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr "Conmu_tar difuso"
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr "Pegar _original como traducción"
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr "Pegar la cadena original sin traducir como traducción"
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr "Refluir la cadena de traducción actual"
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr "_Refluir traducción"
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      #, fuzzy
      msgid "Show statistics of the current document"
      msgstr "Comprueba la ortografía del documento actual."
      
      #: ../pohelper/data/menus.ui.h:25
      #, fuzzy
      msgid "_Show stats"
      msgstr "Mostrar estado"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      "Indica si se actualizan las cabeceras de la traducción (autor, fecha de "
      "revisión, etc.) al guardar el archivo"
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr "Actualizar _cabeceras al guardar"
      
      #: ../pohelper/data/stats.ui.h:1
      #, fuzzy
      msgid "Translation statistics"
      msgstr "Ayudante de traducción"
      
      #: ../pohelper/data/stats.ui.h:2
      #, fuzzy
      msgid "Choose a color for translated strings"
      msgstr "Ir a la siguiente cadena sin traducir"
      
      #: ../pohelper/data/stats.ui.h:3
      #, fuzzy
      msgid "Choose a color for fuzzily translated strings"
      msgstr "Ir a la siguiente traducción difusa"
      
      #: ../pohelper/data/stats.ui.h:4
      #, fuzzy
      msgid "Choose a color for untranslated strings"
      msgstr "Ir a la siguiente cadena sin traducir"
      
      #: ../pohelper/data/stats.ui.h:5
      #, fuzzy
      msgid "Translated:"
      msgstr "Siguien_te sin traducir"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      #, fuzzy
      msgid "Untranslated:"
      msgstr "Siguien_te sin traducir"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr "Ayudante de traducción"
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr "Mejora el soporte para archivos de traducción Gettext."
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr "Pegar cadena original sin traducir como traducción"
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      "No se pudo encontrar el widget «%s» en la definición de UI, compruebe su "
      "instalación."
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr "PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr "Formatea XML y lo hace legible para humanos."
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr "PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr "Ejecutar PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr "No se puede parsear el contenido como XML."
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      "No se puede procesar PrettyPrinting en el XML indicado porque algunas "
      "características no están soportadas.\n"
      "\n"
      "Vea «Ayuda > Mensajes de depuración» para obtener más información..."
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Comentarios"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr "Poner en una línea"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr "En línea si es posible"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Alineación"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr "Nodos de texto"
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "CDATA"
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr "Nodos vacíos"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr "Concatenación ( a )"
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr "Espaciado ( a )"
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr "Expansión ( a )"
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Sangría"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Espacio"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "Cambio de línea"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferencias del proyecto"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Buscar en archivos del proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr "Buscar en archivos del proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Buscar archivo de proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr "Buscar archivo de proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Buscar archivo de proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Buscar archivo de proyecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr "Intercambiar cabecera/fuente"
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr "Intercambiar cabecera/fuente"
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      #, fuzzy
      msgid "Open Selected File (Project Organizer)"
      msgstr "Abrir archivo seleccionado (gproject)"
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr "Patrones de código:"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      "Lista de patrones separados por espacios, usados para identificar archivos "
      "de cabeceras. Usado principalmente para el intercambio de cabeceras y código."
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr "Patrones de cabecera:"
      
      #: ../projectorganizer/src/prjorg-project.c:593
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "Lista de patrones separados por espacios, usados para identificar archivos "
      "de cabeceras. Usado principalmente para el intercambio de cabeceras y código."
      
      #: ../projectorganizer/src/prjorg-project.c:599
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Patrones de directorios ignorados:"
      
      #: ../projectorganizer/src/prjorg-project.c:605
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      "Lista de patrones separados por espacios, usados para identificar "
      "directorios en los que no se buscarán archivos de código fuente."
      
      #: ../projectorganizer/src/prjorg-project.c:611
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Patrones de directorios ignorados:"
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      "Lista de patrones separados por espacios, usados para identificar "
      "directorios en los que no se buscarán archivos de código fuente."
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Buscar en archivos del proyecto"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      #, fuzzy
      msgid "Yes"
      msgstr "sí"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "Nº"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      #, fuzzy
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      "Generar una lista de etiquetas para todos los archivos de proyecto en vez de "
      "solo para los archivos abiertos actualmente. Demasiado lento para proyectos "
      "grandes ( > 1000 archivos) y debería ser desctivado en este caso."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr "Buscar archivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr "Buscar en:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr "Buscar en la ruta completa"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "Crear directorio nuevo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Seleccionar directorio"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "Añadidos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Buscar archivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr "Recargar todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "Revertir directorio"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr "Seguir editor activo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Buscar en archivos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "Buscar archivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Buscar archivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "Revertir directorio"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "Depura_r"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr "_Configurar programa"
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "_Programas recientes"
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr "Ejecuta_r/continuar"
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr "Ejecutar hasta _cursor"
      
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr "Ejecutar hasta _origen"
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr "En_trar"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr "S_altar"
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr "Sal_ir"
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr "_Terminar"
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr "Intercam_biar punto de ruptura"
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr "Comando _GDB:"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "_Más"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr "_Mostrar terminal"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr "_Reiniciar marcadores"
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr "Ar_chivos de limpieza"
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr "_Alimentar"
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "_Ventana"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr "_Automostrar"
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr "Ocultar _automáticamente"
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr "Mostrar en _error"
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr "_Desordenado"
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr "_Ver fuente"
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr "S_incronizar"
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr "_Interrumpir"
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr "Enviar _señal"
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr "S_eleccionar al"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr "_Ejecutando"
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr "_Detenido"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr "_Terminado"
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr "_Seguir"
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr "_Columnas"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr "Mostrar _grupo"
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr "Mostrar nú_cleo"
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr "Añadir _ruptura"
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr "Añadir _vigilancia"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr "Aplicar al ejecuta_r"
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr "_Mostrar @entrada"
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr "Mostrar _dirección"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr "_Modificar"
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr "_Vigilancia"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr "_Inspeccionar"
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr "modo _8-bits"
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "Por _defecto"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr "_7 bits"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr "_Locale"
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr "Mo_strar .nombres"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr "L_eer"
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr "A_grupar por"
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr "_Saltar a"
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "_Aplicar"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr "_Expandir"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr "_Natural"
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr "_Decimal"
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr "_Hex"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr "_Octal"
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "_Binario"
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr "C_rudo"
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr "_Evaluar/modificar"
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr "Expresión de _vigilancia"
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr "_Inspeccionar variable"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr "Hilos"
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr "Pila"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr "Locales"
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr "Vigilancias"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "Memoria"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr "Introduzca comando gdb:"
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr "Convertir _UTF-8 a locale"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr "_Hilo"
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr "A_grupar"
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr "_Marco"
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr "Configurar programa"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr "_Ejecutable:"
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr "_Argumentos:"
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr "Ento_rno:"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr "Directorio de _trabajo:"
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr "_Cargar script:"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr "Ejecutar programa automáticamente/_salir de gdb"
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr "Modo _non-stop"
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr "Punto de ruptura _temporal al cargar en:"
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      "Borrar to_dos los puntos de ruptura, vigilancias, inspecciones y registros"
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr "Programa"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr "Abrir al"
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr "carga g_db"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr "inicio de p_rograma"
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr "Actualizar todas las _vistas"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr "Panel"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr "Modo pred. texto 8-bits:"
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr "_7-bits \\nnn"
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr "Mostrar"
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr "_miembro"
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr "y"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr "_argumento"
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr "nombres"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr "Valores"
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr "E_xpandir al aplicar"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr "Mo_strar"
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr "hijos"
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr "Inspeccionar"
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr "Mostrar mensajes de bib_lioteca"
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr "Mostrar ayuda emergen_te"
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr "Otros"
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "_Importar"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr "Introduzca expresión de asignación:"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr "Inspeccionar"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "Objeto:"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr "Marco:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr "_Aplicar al ejecutar"
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "Expandir"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr "Inicio:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr "Suma:"
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr "_Expandir al aplicar"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr "Terminal de programa"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr "Registros"
      
      #: ../scope/src/break.c:97
      msgid "breakpoint"
      msgstr "punto de ruptura"
      
      #: ../scope/src/break.c:98
      msgid "hardware breakpoint"
      msgstr "punto de ruptura hardware"
      
      #: ../scope/src/break.c:99
      msgid "tracepoint"
      msgstr "punto de observación"
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr "punto de observación rápido"
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr "escribir punto de observación"
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr "acceder punto de observación"
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr "leer punto de observación"
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr "punto de captura"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr "CLI"
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr "MI no soportado"
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr "al cargar"
      
      #: ../scope/src/break.c:142
      msgid "Run to Cursor"
      msgstr "Ejecutar hasta cursor"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      "Hay dos o más puntos de ruptura en %s:%d.\n"
      "\n"
      "Use la lista de puntos de ruptura para eliminar el adecuado."
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ", %s"
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr "func %s"
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr "Añadir punto de ruptura"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr "Añadir punto de observación"
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr "Alimentar terminal"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr "Introducir char # (0..255):"
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr "Ámbito: %s."
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr "No hay puntos de ruptura. Colgando."
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr "GDB se ha detenido inesperadamente con estado %d."
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr "Programa terminado."
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr "datos no válidos"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr "no hay hijo en el rango"
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr "fuera de ámbito"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr "Nombre de variable de inspección duplicado."
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr "Leer memoria"
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr "Ámbito: tamaño de puntero > %d, Datos desactivados."
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr "Modificar"
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr "Evaluar/modificar"
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr "Expresión de observación"
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr "Inspeccionar variable"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr "Error de GDB indefinido."
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Seleccionar directorio"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Seleccionar archivo"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr "Ámbito: %s: %s."
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr "Ámbito: creado archivo de configuración."
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr "Cargados ajustes de depuración para %s."
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr ""
      "No se ha podido cargar el archivo de configuración de depuración %s: %s."
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      "%s: %s.\n"
      "\n"
      "¿Continuar?"
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr "¿Desea eliminar todos los puntos de ruptura, vigilancias, etc.?"
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr "como _Nombre=valor"
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr "como _Nombre = valor"
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr "Depurador de ámbito"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr "Interfaz relativamente sencilla para GDB."
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr "Configurar programa"
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr "Ejecutar/continuar"
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr "Ejecutar hasta origen"
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr "Terminar"
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr "Intercambiar punto de ruptura"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr "Comando GDB"
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr "Mostrar terminal"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "Ocupado"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "Listo"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr "Colgar"
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr "Ensam"
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr "Cargar"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr "Activada la acción de compilación. ¿Terminar depuración?"
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr "Puntos de ruptura"
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "Consola"
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr "Consola de depuración:"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr "Iniciado grupo de hilos %s."
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr "Grupo de hilos"
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr "terminado"
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr "con código de salida %s"
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr "Enviar señal"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr "Introducir nº de señal:"
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr "Terminar proceso"
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr "Introducir código de salida:"
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "Ejecutando"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "Detenido"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr "%s: %s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr "Ámbito: error al leer [%s]."
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "…"
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "_Enviar"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "_Ocupado"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr "Comando GDB"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "Intentar: "
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "Comprobando"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Comprobando el archivo «%s» (líneas %d a %d usando %s):"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Comprobando el archivo «%s» (usando %s):"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "El texto comprobado es correcto."
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "No se ha podido inicializar la biblioteca Enchant (%s)."
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "error desconocido (quizás el idioma elegido no está disponible)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "Corrección ortográfica"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Comprueba la ortografía del documento actual."
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "Ejecutar comprobación ortográfica"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "Conmutar corrección al escribir"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Seleccionar directorio"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      "Mostrar elemento de barra de herramientas para conmutar la comprobación "
      "ortográfica"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Mostrar elemento de menú para mostrar sugerencias ortográficas"
      
      #: ../spellcheck/src/scplugin.c:294
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Mostrar el elemento «Abrir URI» en el menú del editor"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Mostrar palabras mal escritas y sugerencias en la ventana de mensajes"
      
      #: ../spellcheck/src/scplugin.c:319
      #, fuzzy
      msgid "Interface"
      msgstr "Inspeccionar"
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Corrección al escribir"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Corrección al escribir"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "Idioma utilizado para la comprobación ortográfica:"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "_Directorio en el que buscar archivos de diccionario:"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Leer archivos de diccionario adicionales de este directorio. Por ahora "
      "solamente funciona con diccionarios de myspell."
      
      #: ../spellcheck/src/scplugin.c:386
      #, fuzzy
      msgid "Behavior"
      msgstr "Otros"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "Está activada la comprobación ortográfica mientras escribe"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "Está desactivada la comprobación ortográfica mientras escribe"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Más..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(No hay sugerencias)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Añadir «%s» al diccionario"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Ignorar todo"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "El término de búsqueda es demasiado largo\n"
      "para proporcionar sugerencias en el menú."
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Realizar comprobación ortográfica"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Predeterminado (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr "Conmutar comprobación ortográfica al escribir (idioma actual: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Sugerencias"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "Mover Columna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "Mover Selección a la izquierda y a la derecha"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "Mover a la Izquierda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "Mover a la Derecha"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Convertir tabla"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Algo fue mal al parsear la selección. Deteniendo"
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr "Convertir selección en tabla"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "_Convertir en tabla"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "Convierte la lista marcada en una tabla"
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      #, fuzzy
      msgid "_More TableConvert"
      msgstr "Convertir tabla"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr "Visor de árbol"
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      "Este complemento añade un navegador de archivos a Geany, permitiendo al "
      "usuario navegar por sus archivos mediante un árbol de directorios."
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: no existe el directorio."
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(Vacío)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "No se ha podido ejecutar el comando externo configurado «%s» (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "NewDirectory"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "NewFile"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "El archivo de destino «%s» existe.\n"
      "¿Está seguro de que desea reemplazarlo con un archivo vacío?"
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "¿Está seguro de que desea eliminar «%s»?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Subir"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Fijar ruta del documento"
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr "_Abrir externamente"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Abrir terminal"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Fijar como raíz"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Refrescar"
      
      #: ../treebrowser/src/treebrowser.c:1234
      msgid "_Find in Files"
      msgstr "_Buscar en archivos"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Crear directorio nuevo"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Crear archivo nuevo"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Renombrar"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Eliminar"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Cerrar: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr "Cerrar documentos hijo"
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr "_Copiar ruta completa al portapapeles"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Colapsar todos"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Mostrar archivos ocultos"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr "Mostrar barras"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      "El archivo de destino «%s» existe. ¿Está seguro de que desea reemplazarlo?"
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Inicio"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr "Rastrear ruta"
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "Ocultar barras"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      "Filtro (*.c;*.h;*.cpp), y si quiere un filtro temporal utilice «!», por "
      "ejemplo: '!;*.c;*.h;*.cpp'"
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra de direcciones, por ejemplo «/proyectos/mi-proyecto»"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr "Visor de árbol"
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Comando de apertura externa"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "El comando que se ejecutará al usar «Abrir con». puede utilizar los "
      "comodines %f y %d.\n"
      "%f se reemplazará con el nombre de archivo con la ruta completa\n"
      "%d se reemplazará con la ruta del directorio sin el nombre de archivo"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "Barra de herramientas"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "Oculta"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "Arriba"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "Abajo"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr "Si se cambia la posición será necesario reiniciar el complemento."
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr "Mostrar iconos"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "Ninguno"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr "Base"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr "Tipo de contenido"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      "En Windows esto solamente oculta archivos cuyo nombre empieza con un "
      "«.» (punto)."
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Ocultar archivos objeto"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "No mostrar los archivos objeto generados en el visor de archivos, esto "
      "incluye *.o, *.obj. *.so, *.dll, *.a, *.lib"
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "Invertir filtro"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "Seguir documento actual"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr "Una sola pulsación abre el documento y lo enfoca"
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Doble pulsación para abrir un directorio"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "Al borrar un archivo, cerrarlo si está abierto"
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr "Enfocar el editor al abrir un archivo"
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "Mostrar líneas de árbol"
      
      #: ../treebrowser/src/treebrowser.c:2053
      msgid "Open new files"
      msgstr "Abrir archivos nuevos"
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "Enfocar lista de archivos"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr "Enfocar entrada de ruta"
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr "Renombrar objeto"
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr "Crear archivo nuevo"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr "Crear directorio nuevo"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr "Comprobador de actualizaciones"
      
      #: ../updatechecker/src/updatechecker.c:42
      #, fuzzy
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      "Este complemento comprueba si hay actualizaciones disponibles para Geany."
      
      #: ../updatechecker/src/updatechecker.c:195
      #, fuzzy, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Está disponible una versión más reciente"
      
      #: ../updatechecker/src/updatechecker.c:203
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "Está disponible una versión más reciente"
      
      #: ../updatechecker/src/updatechecker.c:218
      #, fuzzy, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      "No se ha podido conseguir alguna información de la versión.\n"
      "Código de error: %d \n"
      "Mensaje de error: »%s«"
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr "Ejecutar comprobación de versión al arrancar"
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr "Comprobar actualizaciones"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "ventana-de-mensajes"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "barra lateral"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr "ventana-separada"
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "ninguno"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr "en-conexión"
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "normal"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "utilidad"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "Enfocar lista de marcadores"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Zoom"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr "Zoom a todo el _contenido"
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr "Voltear orientación de los paneles"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Atrás"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "Adelante"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "Cancelar carga"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Recargar página actual"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr "Inspector web"
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr "Des/activar inspector web"
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr "Ayudante web"
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      "Muestra una vista previa de la página web que se actualiza al guardar el "
      "documento y proporciona herramientas de análisis y depuración de webs (alias "
      "Inspector web), todo mediante WebKit."
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr "Vista web"
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr "Vista previa web"
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr "Recargar un documento al guardar"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr "Auto recargar navegador"
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr "Recargar el navegador al guardar un archivo"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr "Último URI del navegador"
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr "Último URI visitado por el navegador"
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr "Orientación del navegador"
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr "Orientación del componente de navegador"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr "Posición del navegador"
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Posición del componente del navegador en la IU de Geany"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr "Geometría de la ventana del navegador separada"
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr "Última geometría de la ventana de navegador separada"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr "Geometría de la ventana del inspector"
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr "Última geometría de la ventana del instpector"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr "Inspector desacoplado"
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      "Colocar el inspector en una ventana separada o acoplado en el navegador"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr "Las ventana secundarias no se muestran en la barra de tareas"
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      "Indica si el gestor de ventanas debe mostrar o no las ventanas secundarias "
      "en la barra de tareas"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr "Las ventanas secundarias son transitorias"
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr "Indica si las ventanas secundarias son hijas transitorias de su padre"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr "Tipo de ventana secundaria"
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr "El tipo de las ventanas secundarias"
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr "Conmutar inspector web"
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr "Mostrar/ocultar la ventana de vista web"
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr "Navegador"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr "Ventanas"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr "Recortes XML"
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Autocompleta etiquetas XML/HTML mediante recortes"
      
      #~ msgid "Program received a signal"
      #~ msgstr "El programa ha recibido la señal"
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "Complemento para proporcionar mejor soporte de LaTeX"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "Ha ocurrido un error al configurar un idioma para la comprobación "
      #~ "otrográfica. Compruebe su configuración. El mensaje de error es: %s"
      
      #~ msgid ""
      #~ "Unable to paste the code on codepad.org\n"
      #~ "Retry or select another pastebin."
      #~ msgstr ""
      #~ "No se puede pegar el código en codepad.org\n"
      #~ "Vuelva a intentarlo o seleccione otro pastebin."
      
      #~ msgid ""
      #~ "Unable to paste the code. Check your connection and retry.\n"
      #~ "Error code: %d\n"
      #~ msgstr ""
      #~ "No se ha podido pegar el código. Compruebe su conexión y vuelva a "
      #~ "intentarlo.\n"
      #~ "Código de error: %d\n"
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Buscar archivo de proyecto"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "Buscar archivo de proyecto"
      
      #, fuzzy
      #~ msgid "Generate tags for all project files:"
      #~ msgstr "Generar etiquetas para todos los archivos de proyecto"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "Un pequeño complemento para convertir listas en tablas"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Este complemento añade características que facilitan la navegación entre "
      #~ "archivos de código.\n"
      #~ "Por ahora implementa:\n"
      #~ "- intercambiar entre un archivo .cpp y el .h correspondiente\n"
      #~ "- [apertura de un archivo al escribir su nombre -> TODO]"
      
      #~ msgid "Goto file"
      #~ msgstr "Ir a archivo"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Del complemento %s)"
      
      #~ msgid "GProject"
      #~ msgstr "GProject"
      
      #~ msgid "Glob-pattern-based project management plugin for Geany."
      #~ msgstr "Complemento de gestión de proyecto basado en comodines"
      
      #~ msgid ""
      #~ "Space separated list of patterns that are used to identify source files."
      #~ msgstr ""
      #~ "Lista de patrones separados por espacios, usados para identificar "
      #~ "archivos de código fuente."
      
      #~ msgid ""
      #~ "Note: set the patterns of files belonging to the project under the "
      #~ "Project tab."
      #~ msgstr ""
      #~ "Nota: defina los patrones de los archivos pertenecientes al proyecto bajo "
      #~ "la pestaña «Proyecto»"
      
      #~ msgid "No update available"
      #~ msgstr "No hay actualizaciones disponibles"
      
      #~ msgid "%s: error %lu."
      #~ msgstr "%s: error %lu."
      
      #~ msgid "Plugins"
      #~ msgstr "Plugins"
      
      #~ msgid "Seach for:"
      #~ msgstr "Buscar:"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "Añadido el punto de ruptura #%s en %s() en %s:%s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "Añadido el punto de ruptura #%s en %s:%s\n"
      
      #~ msgid "Added write watchpoint #%s for %s\n"
      #~ msgstr "Añadido punto de vigilancia de escritura #%s para %s\n"
      
      #~ msgid "Added read/write watchpoint #%s for %s\n"
      #~ msgstr "Añadido punto de vigilancia de lectura/escritura #%s para %s\n"
      
      #~ msgid "Added read watchpoint #%s for %s\n"
      #~ msgstr "Añadido punto de vigilancia de lectura #%s para %s\n"
      
      #~ msgid "Watch/breakpoint deleted.\n"
      #~ msgstr "Eliminado punto de vigilancia/ruptura.\n"
      
      #~ msgid "Failed to toggle breakpoint -\n"
      #~ msgstr "No se ha podido conmutar el punto de ruptura -\n"
      
      #~ msgid "Watch/breakpoint toggled.\n"
      #~ msgstr "Punto de vigilancia/ruptura conmutado.\n"
      
      #~ msgid "Watch/breakpoint modified.\n"
      #~ msgstr "Punto de vigilancia/ruptura modificado.\n"
      
      #~ msgid "Failed to retrieve source search path setting from GDB."
      #~ msgstr ""
      #~ "No se ha podido obtener de GDB la configuración de la ruta para la "
      #~ "búsqueda de código fuente."
      
      #~ msgid "Failed to retrieve executable search path setting from GDB."
      #~ msgstr ""
      #~ "No se ha podido obtener de GDB la configuración de la ruta para la "
      #~ "búsqueda de ejecutables."
      
      #~ msgid "Failed to retrieve working directory setting from GDB."
      #~ msgstr ""
      #~ "No se ha podido obtener de GDB la configuración del directorio de trabajo."
      
      #~ msgid "Field list too long, not all items can be displayed.\n"
      #~ msgstr ""
      #~ "La lista de campo es demasiado larga, no se pueden mostrar todos los "
      #~ "elementos.\n"
      
      #~ msgid "Error starting target process!\n"
      #~ msgstr "Ha ocurrido un error al iniciar el proceso objetivo.\n"
      
      #~ msgid ""
      #~ "This executable does not appear to contain the required debugging "
      #~ "information."
      #~ msgstr ""
      #~ "Este ejecutable no parece contener la información de depuración necesaria."
      
      #~ msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
      #~ msgstr ""
      #~ "El programa ha recibido la señal %s (%s) en %s en la función %s() en %s:%s"
      
      #~ msgid "Program exited on signal %s (%s).\n"
      #~ msgstr "El programa ha salido con la señal %s (%s).\n"
      
      #~ msgid "Unknown signal"
      #~ msgstr "Señal desconocida"
      
      #~ msgid "Program exited with code %d [%s]\n"
      #~ msgstr "El programa ha finalizado con código %d [%s]\n"
      
      #~ msgid "(unknown)"
      #~ msgstr "(desconocido)"
      
      #~ msgid "Program exited normally.\n"
      #~ msgstr "El programa ha finalizado con normalidad.\n"
      
      #~ msgid "tty temporary directory not specified!\n"
      #~ msgstr "No se ha indicado el directorio temporal para tty.\n"
      
      #~ msgid "tty helper program not specified!\n"
      #~ msgstr "No se ha especificado el programa de apoyo para tty.\n"
      
      #~ msgid "tty helper program not found!\n"
      #~ msgstr "No se ha encontrado el programa de apoyo para tty.\n"
      
      #~ msgid "Attaching to terminal %s\n"
      #~ msgstr "Conectando a la terminal %s\n"
      
      #~ msgid "Timeout waiting for TTY name.\n"
      #~ msgstr "Tiempo de espera agotado para nombre de TTY.\n"
      
      #~ msgid "GDB exited (pid=%d)\n"
      #~ msgstr "GDB ha finalizado (pid=%d)\n"
      
      #~ msgid "Target process exited. (pid=%d; %s%s)\n"
      #~ msgstr "El proceso objetivo ha finalizado. (pid=%d; %s%s)\n"
      
      #~ msgid "code="
      #~ msgstr "código="
      
      #~ msgid "reason:"
      #~ msgstr "razón:"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "Cerrando el programa destino.\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "Matando el programa destino.\n"
      
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "Tiempo de espera agotado para el proceso objetivo.\n"
      
      #~ msgid "Using a bigger hammer!\n"
      #~ msgstr "¡Usando un martillo más grande!\n"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "Esperando al proceso objetivo para terminar.\n"
      
      #~ msgid "Killing GDB (pid=%d)\n"
      #~ msgstr "Matando la aplicación GDB (pid=%d)\n"
      
      #~ msgid "Timeout trying to kill GDB.\n"
      #~ msgstr "Tiempo de espera agotado al matar aplicación GDB.\n"
      
      #~ msgid "Shutting down GDB\n"
      #~ msgstr "Cerrando GDB\n"
      
      #~ msgid "Waiting for GDB to exit.\n"
      #~ msgstr "Esperando a que GDB termine.\n"
      
      #~ msgid "Timeout waiting for GDB to exit.\n"
      #~ msgstr "Tiempo de espera agotado para el cierre de GDB.\n"
      
      #~ msgid "Starting gdb (pid=%d)\n"
      #~ msgstr "Iniciando gdb (pid=%d)\n"
      
      #~ msgid "Started target process. (pid=%d)\n"
      #~ msgstr "Iniciado el proceso objetivo. (pid=%d)\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "No se ha seleccionado %s"
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "¿Desea eliminar el punto de observación seleccionado?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "¿Desea eliminar el punto de ruptura seleccionado?"
      
      #~ msgid "Enabled"
      #~ msgstr "Activado"
      
      #~ msgid "Break after "
      #~ msgstr "Interrumpir después de "
      
      #~ msgid " times."
      #~ msgstr " veces."
      
      #~ msgid "Break when "
      #~ msgstr "Interrumpir cuando "
      
      #~ msgid " is true."
      #~ msgstr " sea verdadero."
      
      #~ msgid "Watchpoints"
      #~ msgstr "Puntos de observación"
      
      #~ msgid "Environment settings"
      #~ msgstr "Configuración del entorno"
      
      #~ msgid ""
      #~ "\n"
      #~ " Command-line arguments passed to target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Argumentos de línea de comandos pasados al programa objetivo:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ " Ruta de búsqueda para archivos de código fuente:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Working directory for target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Directorio de trabajo para el programa objetivo:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ " Ruta de búsqueda para ejecutables:"
      
      #~ msgid "Keep debug window on top."
      #~ msgstr "Mantener la ventana de depuración encima."
      
      #~ msgid "Show icons."
      #~ msgstr "Mostrar iconos."
      
      #~ msgid "Font for source code listings:"
      #~ msgstr "Tipografía para listados de código fuente:"
      
      #~ msgid "Terminal program:"
      #~ msgstr "Programa para Terminal:"
      
      #~ msgid "_Examine"
      #~ msgstr "_Examinar"
      
      #~ msgid "Elements"
      #~ msgstr "Elementos"
      
      #~ msgid "Fields"
      #~ msgstr "Campos"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "Volver al diálogo anterior."
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "Mostrar información adicional sobre el elemento seleccionado."
      
      #~ msgid ""
      #~ "\n"
      #~ "Frame #%s in %s() at %s:%s\n"
      #~ msgstr ""
      #~ "\n"
      #~ "Marco nº%s en %s() a %s:%s\n"
      
      #~ msgid "Function arguments"
      #~ msgstr "Argumentos de función"
      
      #~ msgid "Local variables"
      #~ msgstr "Variables locales"
      
      #~ msgid "Return to stack list dialog."
      #~ msgstr "Volver al diálogo de lista de pila."
      
      #~ msgid "Stack trace"
      #~ msgstr "Trazado de pila"
      
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "Mostrar información adicional acerca del marco seleccionado."
      
      #~ msgid "Clea_r"
      #~ msgstr "Limpia_r"
      
      #~ msgid "Filename: "
      #~ msgstr "Nombre de archivo:"
      
      #~ msgid "Variable to watch:"
      #~ msgstr "Variable observada:"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "Número de línea o nombre de función: "
      
      #~ msgid "Access trigger:"
      #~ msgstr "Disparador de acceso:"
      
      #~ msgid "(no program)"
      #~ msgstr "(ningún programa)"
      
      #~ msgid "loaded"
      #~ msgstr "cargado"
      
      #~ msgid "starting"
      #~ msgstr "iniciando"
      
      #~ msgid "paused"
      #~ msgstr "pausado"
      
      #~ msgid "Error:"
      #~ msgstr "Error:"
      
      #~ msgid "Select executable to debug"
      #~ msgstr "Seleccione ejecutable para depurar"
      
      #~ msgid "Debugging of object files is not supported."
      #~ msgstr "La depuración de archivos objeto no está soportada."
      
      #~ msgid "You don't have permission to execute this file."
      #~ msgstr "No tiene permisos para ejecutar este archivo."
      
      #~ msgid "Debugging of shared libraries is not supported."
      #~ msgstr "La depuración de librerías compartidas no está soportada."
      
      #~ msgid "Debugging of core files id not supported."
      #~ msgstr "La depuración de volcados de núcleo no está soportada."
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr "El archivo objetivo debe ser un ejecutable de tipo ELF 32-bit x86."
      
      #~ msgid "You don't have permission to read this file."
      #~ msgstr "No tiene permiso para leer este archivo."
      
      #~ msgid "Run to location"
      #~ msgstr "Ejecutar en "
      
      #~ msgid "Execute target program inside a terminal window."
      #~ msgstr "Ejecutar programa objetivo dentro de una ventana de terminal."
      
      #~ msgid "Ignore SIGPIPE"
      #~ msgstr "Ignorar SIGPIPE"
      
      #~ msgid ""
      #~ "Don't pause execution when target gets a SIGPIPE signal.\n"
      #~ "(Useful for certain networking applications.)"
      #~ msgstr ""
      #~ "No pausar la ejecución cuando el objetivo recibe una señal SIGPIPE.\n"
      #~ "(Útil para ciertas aplicaciones de red.)"
      
      #~ msgid "Send a GDB command directly to the debugger."
      #~ msgstr "Enviar un comando GDB directamente al depurador."
      
      #~ msgid "_Quit"
      #~ msgstr "_Salir"
      
      #~ msgid "Exit everything"
      #~ msgstr "Terminar todo"
      
      #~ msgid "GeanyGDB"
      #~ msgstr "GeanyGDB"
      
      #~ msgid "Integrated debugging with GDB."
      #~ msgstr "Depuración integrada con GDB."
      
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr ""
      #~ "No se pudo crear el directorio de configuración del complemento (%s)."
      
      #~ msgid "geanygdb: ttyhelper program not found."
      #~ msgstr "geanygdb: no se encontró el programa ttyhelper."
      
      #~ msgid "Google Code"
      #~ msgstr "Google Code"
      
      #~ msgid "Search for current tag in Google Code Search"
      #~ msgstr "Buscar la etiqueta actual en Google Code"
      
      #, fuzzy
      #~ msgid ""
      #~ "This Plugin implements Macros in Geany.\n"
      #~ "\n"
      #~ "This plugin allows you to record and use your own macros. These are "
      #~ "sequences of actions that can then be repeated with a single key "
      #~ "combination. So if you had dozens of lines where you wanted to delete the "
      #~ "last 2 characters, you could simple start recording, press End, "
      #~ "Backspace, Backspace, down line and then stop recording. Then simply "
      #~ "trigger the macro and it would automatically edit the line and move to "
      #~ "the next. Select Record Macro from the Tools menu and you will be "
      #~ "prompted with a dialog box. You need to specify a key combination that "
      #~ "isn't being used, and a name for the macro to help you identify it. Then "
      #~ "press Record. What you do in the editor is then recorded until you select "
      #~ "Stop Recording Macro from the Tools menu. Simply pressing the specified "
      #~ "key combination will re-run the macro. To edit the macros you have, "
      #~ "select Edit Macro from the Tools menu. You can select a macro and delete "
      #~ "it, or re-record it. You can also click on a macro's name and change it, "
      #~ "or the key combination and re-define that assuming that it's not already "
      #~ "in use. Selecting the edit option allows you to view all the individual "
      #~ "elements that make up the macro. You can select a different command for "
      #~ "each element, move them, add new elements, delete elements, or if it's "
      #~ "replace/insert, you can edit the text that replaces the selected text, or "
      #~ "is inserted.\n"
      #~ "\n"
      #~ "The only thing to bear in mind is that undo and redo actions are not "
      #~ "recorded, and won't be replayed when the macro is re-run.\n"
      #~ "\n"
      #~ "You can alter the default behaviour of this plugin by selecting Plugin "
      #~ "Manager under the Tools menu, selecting this plugin, and clicking "
      #~ "Preferences. You can change:\n"
      #~ "Save Macros when close Geany - If this is selected then Geany will save "
      #~ "any recorded macros and reload them for use the next time you open Geany, "
      #~ "if not they will be lost when Geany is closed.\n"
      #~ "Ask before replacing existing Macros - If this is selected then if you "
      #~ "try recording a macro over an existing one it will check before over-"
      #~ "writing it, giving you the option of trying a different name or key "
      #~ "trigger combination, otherwise it will simply erase any existing macros "
      #~ "with the same name, or the same key trigger combination."
      #~ msgstr ""
      #~ "Este complemento proporciona macros en Geany.\n"
      #~ "\n"
      #~ "Este complemento le permitirá grabar y usar sus propias macros. Éstas son "
      #~ "secuencinas de acciones que luego podrán ser repetidas mediante una sola "
      #~ "combinación de teclas. Así que si tiene docenas de líneas en las que "
      #~ "quiere eliminar solamente los últimos dos caracteres, podría iniciar la "
      #~ "grabación, pulsar «Fin», «Retroceso», «Retroceso» y flecha hacia abajo, y "
      #~ "detener la grabación. Luego simplemente puede ejecutar la macro y "
      #~ "automáticamente editará la línea y se moverá a la siguiente. Seleccione "
      #~ "«Grabar macro» del menú «Herramientas» y le será mostrada una ventana de "
      #~ "diálogo. Deberá indicar una combinación de teclas que esté libre y un "
      #~ "nombre para la macro que le ayudará a identificarla. Luego pulse "
      #~ "«Grabar». Todo lo que haga en el editor derá grabado hasta que seleccione "
      #~ "«Detener grabación demacro» del menú «Herramientas». Con una simple "
      #~ "pulsación de la combinación de teclas indicada se ejecutará la macro. "
      #~ "Para editar una macro solamente debe seleccionar «Editar macro» del menú "
      #~ "«Herramientas». Podrá seleccionar una macro y borrarla, o volver a "
      #~ "grabarla. También puede pulsar en el nombre de una macro y modificarlo, o "
      #~ "cambiar su combinación de teclas a otra que no esté en uso.\n"
      #~ "\n"
      #~ "Puede alterar el comportamiento predeterminado de este complemento "
      #~ "seleccionando el «Administrador de complementos» en el menú "
      #~ "«Herramientas», luego este complemento y pulsando «Preferencias». Puede "
      #~ "cambiar:\n"
      #~ "Guardar macros al cerrar Geany - Si esto está seleccionado, Geany "
      #~ "guardará todas las macros grabadas y las recargará para su uso la próxima "
      #~ "vez que abra Geany. Si no, todos los cambios en las macros se perderán al "
      #~ "cerrar.\n"
      #~ "Preguntar antes de reemplazar macros existentes - Si esto está "
      #~ "seleccionado e intenta grabar una macro por encima de una existente, "
      #~ "antes de guardarla se le pedirá que lo confirme y tendrá la opciónde "
      #~ "cambiar el nombre y la combinación de teclas. De lo contrario simplemente "
      #~ "borrará cualquier macro existente con el mismo nombre o combinación de "
      #~ "teclas."
      
      #~ msgid ""
      #~ "This Plugin implements Numbered Bookmarks in Geany.\n"
      #~ "\n"
      #~ "It allows you to use 10 numbered bookmarks. Normaly if you had more than "
      #~ "one bookmark, you would have to cycle through them until you reached the "
      #~ "one you wanted. With this plugin you can go straight to the bookmark that "
      #~ "you want with a single key combination. To set a numbered bookmark press "
      #~ "Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to the "
      #~ "line number. If you press Ctrl+Shift+a number on a line that already has "
      #~ "that bookmark number then it removes the bookmark, otherwise it will move "
      #~ "the bookmark there if it was set on a different line, or create it if it "
      #~ "had not already been set. Only the bookmark with the highest number on a "
      #~ "line will be shown, but you can have more than one bookmark per line. "
      #~ "This plugin does not interfer with regular bookmarks. When a file is "
      #~ "saved, Geany will remember the numbered bookmarks and make sure that they "
      #~ "are set the next time you open the file.\n"
      #~ "\n"
      #~ "You can alter the default behaviour of this plugin by selecting Plugin "
      #~ "Manager under the Tools menu, selecting this plugin, and clicking "
      #~ "Preferences. You can change:\n"
      #~ "Remember fold state - if this is set then this plugin will remember the "
      #~ "state of any folds along with the numbered bookmarks and set them when "
      #~ "the file is next loaded.\n"
      #~ "Center view when goto bookmark - If this is set it will try to make sure "
      #~ "that the numbered bookmark that you are going to is in the center of the "
      #~ "screen, otherwise it will simply be on the screen somewhere."
      #~ msgstr ""
      #~ "Este complemento proporciona marcadores numerados en Geany.\n"
      #~ "\n"
      #~ "Permite usar 10 marcadores numerados. Normalmente si tiene más de un "
      #~ "marcado debe recorrerlos todos hasta alcanzar el que quiere. Con este "
      #~ "complemento puede ir directamente al marcador deseado mediante una única "
      #~ "combinación de teclas. Para fijar un marcador numerado pulse «Ctrl+Mayús+ "
      #~ "un número entre 0 y 9». Verá que aparecerá un marcador al lado del número "
      #~ "de línea. Si pulsa «Ctrl+Mayús+ un número entre 0 y 9» en una línea que "
      #~ "ya tiene ese número de marcador, éste será eliminado, de lo contrario "
      #~ "moverá el marcador ahí si existiera en otra línea o lo creará si no "
      #~ "existiera. Puede haber más de un marcador numerado por línea, pero "
      #~ "solamente se mostrará el número de marcador más alto. Este complemento no "
      #~ "interfiere con marcadores normales. Geany recordará los marcadores "
      #~ "numerados cuando se guarde un archivo y se asegurará de que se muestren "
      #~ "la próxima vez que lo abra.\n"
      #~ "\n"
      #~ "Puede alterar el comportamiento predeterminado de este complemento "
      #~ "seleccionando el «Administrador de complementos» en el menú "
      #~ "«Herramientas», luego este complemento y pulsando «Preferencias». Puede "
      #~ "cambiar:\n"
      #~ "Recordar estado de plegado - si esto está marcado el complemento "
      #~ "recordará el estado de cualquiera de los pliegues junto con los "
      #~ "marcadores numerdaos y los mostrará cuando se abra el archivo.\n"
      #~ "Centrar vista al ir a un marcador - Si esto está marcado intentará "
      #~ "asegurarse de que el marcador al que va esté en el centro de la pantalla, "
      #~ "de lo contrario simplemente estará en algún lugar de la pantalla."
      
      #~ msgid "You must define a key trigger combination"
      #~ msgstr "Debe definir una combinación de teclas"
      
      #~ msgid "Config saved successfully"
      #~ msgstr "La configuración se ha guardado con éxito"
      
      #~ msgid "Error reading config file"
      #~ msgstr "Error al leer archivo de configuración"
      
      #~ msgid "Configuration error: debugger module '%s' is not found"
      #~ msgstr ""
      #~ "Error de configuración: no se ha encontrado el módulo de depurador «%s»"
      
      #~ msgid "Some breakpoints can't be set as the files are missed"
      #~ msgstr ""
      #~ "No se pueden fijar algunos putnos de ruptura ya que faltan los archivos."
      
      #~ msgid "Config loaded successfully"
      #~ msgstr "Configuración cargada con éxito"
      
      #~ msgid ""
      #~ "No destinatarios fueron seleccionadas,\n"
      #~ "Quiere usar una cifra simétrica?"
      #~ msgstr "No "
      
      #~ msgid "Lionel Fuentes"
      #~ msgstr "Lionel Fuentes"
      
      #~ msgid "Yura Siamshka "
      #~ msgstr "Yura Siamshka "
      
      #~ msgid ":  "
      #~ msgstr ":  "
      
      #~ msgid "Jeff Pohlmeyer, Dominic Hopf"
      #~ msgstr "Jeff Pohlmeyer, Dominic Hopf"
      
      #~ msgid ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      #~ msgstr ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      
      #~ msgid "Yura Siamashka "
      #~ msgstr "Yura Siamashka "
      geany-plugins-1.27/po/ca.po0000644000175000017500000053337412671261352016100 0ustar00frlanfrlan00000000000000# Catalon translation of geany-plugins
      # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      #
      # Toni Garcia-Navarro , 2009 - 2013
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2013-03-07 23:48+0100\n"
      "Last-Translator: Toni Garcia-Navarro \n"
      "Language-Team: ca \n"
      "Language: \n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "X-Poedit-Language: Catalan\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Línia Buida)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "_Suprimeix l'adreça d'interès"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "No."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Continguts"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Marcadors"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "Act_ualitza"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Amaga la Finestra de Missatges"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Fitxer"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Línia"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Tipus"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Tasca"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Tasques"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Context:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Nom de la etiqueta a inserir:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Obre una localització (URI)"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Copia localització (URI)"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Cancel·la"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr ""
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Tanca Altres _Documents"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "_Tanca-ho Tot"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Mostra la Llista de _Documents"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, fuzzy, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Copia la ruta completa al porta-retalls"
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      #, fuzzy
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Comprova l'ortografia del document actual."
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Afegits"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Diversos connectors per a Geany"
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "No s'ha pogut crear el directori de configuració de connectors."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr "Mostra la barra d'eines per a mostrar la llista de documents oberts"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr "Ordena els documents per _nom"
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr "Ordena els documents per _ocurrències"
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Mostra un ítem 'Obre localització (URI)' al menú d'edició"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Mou el Cursor al final de la línia"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientació del navegador"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Cancel·la la la Selecció"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Navegació del codi"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Canvia entre capçalera/implementació"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Predeterminat"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "No s'ha trobat %s, voleu crear-lo?"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr "Depurador"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Depuració"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "Nom"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "Valor"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr "Objectiu:"
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr "Navega"
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr "Depurador:"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr "Arguments de la Línia d'Ordres"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr "Variables d'Entorn"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr "Elimina la variable?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Ubicació"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Condició"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "Recompte"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "línia %i"
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "El programa ha rebut un senyal"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "El programa ha sortit amb el codi d'error \"%i\""
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr "S'ha produït un error en carregar el fitxer"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr "S'ha produït un error en configurar GDB"
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr "Fil %i"
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Adreça"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Funció"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "Objectiu"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Punts de ruptura"
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr "Pila de crides"
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr "Missatges del Depurador"
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr "Executa / Continua"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "Atura"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "Reinicia"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr "Pas avant"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr "Pas enrere"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr "Afegeix / Suprimeix el punt de ruptura"
      
      #: ../debugger/src/keys.c:57
      #, fuzzy
      msgid "Jump to the current instruction"
      msgstr "Salta a la instrucció actual"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "Executa"
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "Preferències"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr "Mode de dos quadres"
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "Continua"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Documentació"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "Codi"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Pàgines del Manual"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Retrocedeix una pàgina"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Avança una pàgina"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Apropa"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Allunya"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Cerca"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "No s'ha pogut crear el directori de configuració '%s'"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "No s'ha pogut obtenir la configuració per defecte: %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "No s'ha pogut escriure la configuració per defecte: %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr "Activa totes les pestanyes"
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr "Devhelp - Auxiliar"
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Llibre:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Llibre"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Pàgina"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Paraula Clau"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr "Struct"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "Macro"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr "Enum"
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr "S'esperava '%s', però s'ha obtingut '%s' a la línia %d, columna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr "L'espai de noms '%s' no és vàlid a la línia %d, columna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr "No s'ha pogut descomprimir el llibre '%s': %s"
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr "Tots els llibres"
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr "Cerca a:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr "Un navegador d'ajuda per a desenvolupadors per al GNOME"
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_Fitxer"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "_Edita"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "_Visualitza"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "_Vés"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "_Ajuda"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "Finestra _Nova"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "_Pestanya Nova"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "Im_primir..."
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Cerca el Següent"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Cerca l'Anterior"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "Vés a la pàgina anterior"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Vés a la pàgina següent"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "Pestanya de _Continguts"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "Pestanya de _Cerca"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "Text Més _Gran"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Incrementa la mida del text"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "Text Més _Petit"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Redueix la mida del text"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "Mida _Normal"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Utilitza la mida normal del text"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Surt de pantalla completa"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "Mostra en mode de pantalla completa"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Més gran"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Més xicotet"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "Quant al Devhelp"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Preferències..."
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "S'ha produït un error en obrir l'enllaç."
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "Pàgina Buida"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Cerca:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Cerca l'anterior ocurrència de la cadena de cerca"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Cerca la següent ocurrència de cadena de cerca"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "_Diferencia entre Majúscules i Minúscules"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr "Commuta a una cerca que distingeixi entre majúscules i minúscules"
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:149
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: no existeix el directori."
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      #, fuzzy
      msgid "Find Tag"
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      #, fuzzy
      msgid "prefix"
      msgstr "Prefix base"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "Carta (8,5 x 11 polzades)"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "Sensible a m_ajúscules"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relacional"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "General"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "Cerca el Següent"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Document"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "No s'ha pogut llegir l'eixida de l'ordre"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Ordre 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Ordre 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w serà reemplaçat per la paraula actual\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr "Document interactiu"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Selecció Addicional"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "Selecció A_ddicional"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr "Modalitat de _Columna"
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr "Modalitat de columna"
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr "Selecciona Fins a la _Línia"
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr "Selecciona fins a la línia"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr "Vés al Parèntesi _Corresponent"
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr "Vés al parèntesi corresponent"
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "Converteix la selecció en una taula"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "valor booleà"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "valor booleà no vàlid \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "plantilla no vàlida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "nom de política"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "política no vàlida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "uneix polítiques"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "tipus"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "tipus no vàlid \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr "l'identificador és buit"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "expressió regular no vàlida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "nom de la secció"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "Generador de Documentació"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "No s'ha pogut carregar la configuració: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "No s'ha pogut desar la configuració: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      "No s'ha pogut trobar un fitxer de configuració per al tipus de fitxer \"%s"
      "\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "No s'ha pogut carregar el fitxer \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "Actualitza els Fitxe_rs de Configuració"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Obre el _Manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Obre el manual en línia en un navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "Generador de _Documentació"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "General"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "De_sar el fitxer abans de generar la documentació"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipus de documentació"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr "Entorn global"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "El fitxer \"%s\" existeix però no és un fitxer normal"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: no existeix el fitxer o directori"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "Ha fallat el redimensionament de la memòria del flux de sortida"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Opció desconeguda"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Llenguatge"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Tots"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "Insereix Números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Comptant..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "S'està preparant..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Inserint..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "_Inici:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "_Pas:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Cartes:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "S_uperior"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "_Inferior"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "Prefix base"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Separació:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "_Zero"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "Insereix _Números"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Entorns"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Format"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Estructura del Document"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Llistes"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Matemàtiques"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Insereix Entorn"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Entorn:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Article (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Llibre (@Llibre)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Conferència (@Conferència)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr "Manual (@Manual)"
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr "Miscel·lània (@Miscel·lània)"
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "No publicat (@No publicat)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Autor"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Capítol"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Edició"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "Preimprimessió"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Institució"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Diari"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Tecla"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Mes"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Nota"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Número"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organització"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Pàgines"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "Escola"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Series"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Títol"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Volum"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Any"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Adreça del publicadors"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Número de capítol"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Nom del publicador"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Tipus de informe tècnic"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Adreça d'Internet:"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Número de volum"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "Subratlla el text seleccionat"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centrat"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr "Escriu en majúscules la primera lletra de la frase"
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "Insereix Etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "Nom de l'etiqueta:"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "Insereix una Ordre"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "Nom de l'ordre:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "Insereix Referència"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "Nom de la referència:"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "Referència E_stàndard"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "Referència de _Pàgina"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "Més"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "Nom del paquet:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr "Opcions del paquet:"
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "Benvolgut / Benvolguda"
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "Assitent LaTeX"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Plantilla:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "Predeterminat"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Article"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Informe"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Carta (8,5 x 11 polzades)"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Presentació"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Codificació:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "Definiu la codificació per al nou document"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr "Mida de la font"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Autor:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Data:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Títol:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "Mida del paper:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "Orientació del Paper:"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "Usa mode d'esborrany"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "Executa l'assistent per a LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "Insereix \\label"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "Insereix \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "Insereix salt de línia \\\\"
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "Insereix una ordre"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Reemplaça els caràcters especials HTML"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "Insereix \\item"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr "Insereix \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr "pàgina \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr "\\ref{{{reference}}}, pàgina \\pageref{{{reference}}}"
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "_Assistent LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "I_nsereix Caràcter E_special"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "Insereix _Referència"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr "Insereix referències al document"
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "Insereix E_tiqueta"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "Insereix _Entorn"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "Insereix P_aquet"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Format"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "Mida de la font"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "_Reemplaçament de Caràcters Especials HTML"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr "Reemplaçament en _Massa de Caràcters Especial HTML"
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr "Activa/Desactiva el Reemplaçament de Caràcters Especials HTML"
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "Insereix _Ordre"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr "Insereix referència B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Caràcters grecs"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Miscel·lània"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Caràcters de fletxa"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Relacional"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Operació binària"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Cursiva"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Negreta"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Subratllat"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Mecanografiat"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Minúscules"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Emfatitzat"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "diminuta"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "footnotesize"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "petit"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "gran"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "Gran"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "GRAN"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "enorme"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "Enorme"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin 1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "Codi de pàgina IBM 850"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "Codi de pàgina IBM 852"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "Introduïu la longitud del text Lipsum"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "Insereix text Lipsum"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Script Lua"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Temps excedit"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Sense memòria."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "No s'ha pogut obrir el fitxer de script."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr ""
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Obre un Fitxer"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Selecciona un Fitxer"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Navega..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Selecciona un Color"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Tria..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Tria la font"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Selecciona..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "El fitxer ja existeix"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Voleu sobreescriure'l?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "confirma"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Desa el Fitxer"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Retalla al Porta-retalls"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "Copia al Porta-retalls"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Enganxa el Contingut del Porta-retalls"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Retalla la línia actual al Porta-retalls"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Copia la línia actual al Porta-retalls"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "Suprimeix fins al final de la línia"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Suprimeix la línia actual"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "Desplaça cap a baix la vista en una línia"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "Desplaça cap a dalt la vista en una línia"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "Mou el Cursor una Línia Avall"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "Mou el Cursor una Línia Amunt"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "Mou el Cursor cap a l'Esquerra"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "Mou el Cursor cap a la Dreta"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "Mou el Cursor a l'inici de la Paraula de l'Esquerra"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "Mou el Cursor a l'inici de la Paraula de la Dreta"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "Mou el Cursor a l'inici de la línia."
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "Mou el Cursor al final de la línia"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "Mou el Cursor una Pàgina Amunt"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "Mou el Cursor una Pàgina Avall"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr "Mou el Cursor al final de la Paraula de l'Esquerra"
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr "Mou el Cursor al final de la Paraula de la Dreta"
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "Cancel·la la la Selecció"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr "Commuta entre el mode d'Inserció i el mode de Sobreescriptura"
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Tabulador"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Línia nova"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Canvia el text seleccionat a minúscules"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Canvia el text seleccionat a majúscules"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      #, fuzzy
      msgid "Search for next \"\""
      msgstr "Cerca:"
      
      #: ../geanymacro/src/geanymacro.c:151
      #, fuzzy
      msgid "Search for previous \"\""
      msgstr "Concorda al començament de la paraula"
      
      #: ../geanymacro/src/geanymacro.c:152
      msgid "Set start of search to beginning of selection"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Macros"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "Enregistra una Macro"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Registre"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "Disparador de Macros:"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "Nom de la Macro:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "El nom de macro \"%s\"\n"
      " ja està en ús.\n"
      "Voleu reemplaçar-lo?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Opcions de Cerca:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_D'acord"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr "_Cancel·la"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "Cerca Endavant"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Cerca E_nrere"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr "Cerca:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "La cerca diferencia majúscules i minúscules"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Cerca només paraules completes"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Concorda al començament de la paraula"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "El text de cerca és una expressió regular"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "El text de cerca és compatible POSIX"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Text:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "Edita: %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "Esdeveniment"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "Mou Am_unt"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "Mou A_vall"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "_Elimina"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "Edita les Macros"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "Nom de la Macro"
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr ""
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "Enregistra una _Macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "Atura l'Enregistrament de la _Macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "_Edita les Macros"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "selecció"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "document"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "sessió"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, un usuari de Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr "_Ignora"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to start of line"
      msgstr "Vés a l'inici de la línia"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      msgid "Move to End of line"
      msgstr "Vés al Final de la Línia"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "Encripta"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "Signa"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr "Desencripta / Verifica"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Signa el missatge com a:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Selecciona els destinataris"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "Selecciona el signador"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr ""
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Contrasenya"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "Introduïu la contrasenya per a"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "desconegut"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "indefinit"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "mai"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "marginal"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "complet"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr ""
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr "vàlid"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr "verd"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr "roig"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr " rebutjat"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " clau-expirada"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " signatura-expirada"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " clau-mancant"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " crl-mancant"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " crl-massa-antiga"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr " política-incorrecta"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr " error-de-sistema"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Desconegut\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Cap]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Desconegut"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "n/d"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "incorrecte"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr " us-de-clau-incorrecte"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr " model-de-cadena"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "sí"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "no"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "S'ha trobat una signatura de"
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Signatura"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Obre un fitxer de signatura"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr "Mostra la barra lateral"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Preferències del Projecte"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Projecte Nou"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "C_rea"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Nom:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Ubicació:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Tria Nom de Fitxer del Projecte"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Directori base:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Directori base per a tots els fitxers que formen part del projecte. Pot ser "
      "un directori nou, o un ja existent. Podeu usar directoris relatius al fitxer "
      "de projecte."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Tria Directori Base del Projecte"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Tipus:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "El projecte \"%s\" ja existeix"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Projecte"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Elimina el Pojecte"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Afegeix un Fitxer"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferències"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Cerca en el Projecte"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Elimina un Fitxer"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Amaga la Barra _Lateral"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Projecte"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "S'ha obert el projecte \"%s\"."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, fuzzy, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "No s'ha pogut crear el directori de configuració '%s'"
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      #, fuzzy
      msgid "System plugin directory not found."
      msgstr "No s'ha trobat el directori %s!\n"
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, fuzzy, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "No s'ha pogut crear el directori de configuració '%s'"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:44
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "Adreça del Destinatari"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "Introduïu l'adreça electrònica del destinatari:"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "Correu"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "Envia per correu"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "Ruta i opcions per al programa de correu:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr "Mostra les icones de les barres d'eines"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "Envia el fitxer per correu"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "Envia el docu_ment per correu electrònic"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "No s'han fet canvis."
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr "No hi ha cap historial disponible"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Esteu segurs de voler revertir: %s?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Esteu segurs de voler afegir: %s?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Esteu segurs de voler eliminar: %s?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "Esteu segurs de voler actualitzar?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Estat"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Directori base"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "Confirmació"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr "Annexar el menú a la barra d'eines"
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "Activa CVS"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "Activa GIT"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "Activa SVN"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "Activa SVK"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Activa Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Activa Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "_Diferències"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "_Reverteix"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr ""
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Afegeix el fitxer al repositori."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Elimina el fitxer del repositori."
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "_Directori"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "Directori _Base"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Mostra diferències entre fitxers"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Mostra diferències entre directoris"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "Mostra diferències entre directoris base"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Mostra l'estat"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Actualitza el fitxer"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr "Control de _Versions"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "_Estat"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Mostra l'estat."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Actualitza des dels repositoris."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "Publica els _canvis"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "Publica els canvis."
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "No s'ha pogut obrir el fitxer de script."
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      "No s'ha pogut trobar un fitxer de configuració per al tipus de fitxer \"%s"
      "\": %s"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "No s'ha pogut obrir el fitxer de script."
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr "El camp del nom de l'autor és buit!"
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr "Introduïu el nom de l'autor: "
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "Elimina un Fitxer"
      
      #: ../git-changebar/data/prefs.ui.h:6
      #, fuzzy
      msgid "Colors"
      msgstr "Color del Fons:"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "No s'ha pogut carregar la configuració: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, fuzzy, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      "No s'ha pogut trobar un fitxer de configuració per al tipus de fitxer \"%s"
      "\": %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "No s'ha pogut desar la configuració: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Vés a la pàgina anterior"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Vés a la pàgina següent"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Elimina un Fitxer"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Elimina un Fitxer"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operació binària"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operació binària"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Posició:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Barra Lateral"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "Finestra de missatges"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Font:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "Tipus de Lletra per a Codi:"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "Color del Fons:"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "Color del Primer Pla:"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr ""
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "No s'ha pogut desar la configuració: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "No s'ha pogut carregar la configuració: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "finestra-de-missatges"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "barra lateral"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "Obre el terminal"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "Finestra _Nova"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "Cerca l'Anterior"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Mostra l'estat"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "No s'ha pogut escriure la configuració per defecte: %s"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "Mostra el terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "No s'ha pogut escriure la configuració per defecte: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, fuzzy, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "No s'ha pogut crear el directori de configuració '%s'"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "Finalitza"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "Mostra el terminal"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "No s'ha pogut escriure la configuració per defecte: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "Mostra el terminal"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "Posició:"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "Mostra _consells"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "Opcions"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      #, fuzzy
      msgid "Color:"
      msgstr "Color del Fons:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      #, fuzzy
      msgid "Outline Color:"
      msgstr "Selecciona un Color"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      #, fuzzy
      msgid "Go to previous string"
      msgstr "Vés a la pàgina anterior"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      #, fuzzy
      msgid "Go to next string"
      msgstr "Vés a la pàgina següent"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      msgid "Toggle current translation fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      #, fuzzy
      msgid "Show statistics of the current document"
      msgstr "Comprova l'ortografia del document actual."
      
      #: ../pohelper/data/menus.ui.h:25
      #, fuzzy
      msgid "_Show stats"
      msgstr "Mostra l'estat"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      #, fuzzy
      msgid "Translated:"
      msgstr "Plantilla:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Comentaris"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Alineació"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Sagnat"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Espai"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "Salt de línia"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferències del Projecte"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Cerca en els Fitxers del Projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr "Cerca en els fitxers del projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Cerca el Fitxer del Projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr "Cerca el fitxer del projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Cerca el Fitxer del Projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Cerca el fitxer del projecte"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr "Patrons de fitxers de codi font:"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr "Patrons de fitxers de capçalera:"
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Patrons de fitxers de codi font:"
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Patrons de fitxers de capçalera:"
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Cerca en els fitxers del projecte"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      #, fuzzy
      msgid "Yes"
      msgstr "sí"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "No."
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "Crea un directori nou"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Selecciona el Directori"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "Afegits"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      msgid "Find Symbol"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr "Actualitza tot"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "Crea un directori nou"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Expandeix-ho tot"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr "Expandeix-ho Tot"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Cerca en els Fitxers"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "Cerca en els Fitxers"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Cerca en els Fitxers"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "Selecciona el Directori"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "_Programes Recents"
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr "E_xecuta/Continua"
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr "Executa fins al _Cursor"
      
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr "Pas _Enrere"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr "Passa al _Següent"
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr "Pas _Avant"
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr "_Finalitza"
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr "Commuta el Punt de _Ruptura"
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr "Ordre _GDB"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "_Més"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr "_Mostra el terminal"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr "Elimina les Ma_rques"
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr "_Canal"
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "_Finestra"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr "_Ocultar Automàticament"
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr "Sense _ordre"
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr "_Visualitza el Codi Font"
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr "S_incronitza"
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr "_Interromp"
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr "En_via Senyal"
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr "En e_xecució"
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr "A_turat"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr "Se_gueix"
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr "_Columnes"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr "Afegeix Punt de _Vigilància"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr "_Modifica"
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr "_Mira"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr "_Inspecciona"
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr "_8-bit mode"
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "Per _defecte"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr "_7 bit"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr "_Localització"
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr "_Mostra .noms"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr "A_grupa per"
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr "_Vés a"
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "_Aplica"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr "_Expandeix"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr "_Natural"
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr "_Decimal"
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr "_Hex"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr "_Octal"
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "_Binari"
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr "Fils d'execució"
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr "Pila"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr "Locals"
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr "Punts de vigilància"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "Memòria"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr "_Fil d'execució"
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr "_Grup"
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr "_Marc"
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr "_Executable:"
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr "_Arguments:"
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr "En_torn:"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr "Programa"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr "Obre a"
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr "Actualitza _totes les vistes"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr "Quadre"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr "_7-bit \\nnn"
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr "Visualització"
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr "_membre"
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr "i"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr "_argument"
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr "noms"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr "Valors"
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr "_Mostra"
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr "fills"
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr "Inspecciona"
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr "Mostra _consells"
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr "Altres"
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "_Importa"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr "Inspecciona"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "Objecte:"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr "Fotograma:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "Expandeix"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr "Inici:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr "Recompte:"
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr "Programa del Terminal"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      #, fuzzy
      msgid "breakpoint"
      msgstr "Punts de ruptura"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "Commuta el punt de ruptura"
      
      #: ../scope/src/break.c:99
      #, fuzzy
      msgid "tracepoint"
      msgstr "Punts de ruptura"
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:101
      #, fuzzy
      msgid "write watchpoint"
      msgstr "Afegeix Punt de Vigilància"
      
      #: ../scope/src/break.c:104
      #, fuzzy
      msgid "access watchpoint"
      msgstr "Afegeix Punt de Vigilància"
      
      #: ../scope/src/break.c:106
      #, fuzzy
      msgid "read watchpoint"
      msgstr "Afegeix Punt de Vigilància"
      
      #: ../scope/src/break.c:108
      #, fuzzy
      msgid "catchpoint"
      msgstr "Afegeix Punt de Vigilància"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      #, fuzzy
      msgid "unsupported MI"
      msgstr "Sense _ordre"
      
      #: ../scope/src/break.c:141
      #, fuzzy
      msgid "on load"
      msgstr "carregat"
      
      #: ../scope/src/break.c:142
      #, fuzzy
      msgid "Run to Cursor"
      msgstr "Executa fins al _Cursor"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr "Afegeix Punt de Ruptura"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr "Afegeix Punt de Vigilància"
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr ""
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr "El programa ha finalitzat."
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr ""
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr ""
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr ""
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr "Modifica"
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr "Avalua/modifica"
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr ""
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr "Inspecciona la variable"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Selecciona Directory"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Selecciona Fitxer"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr ""
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr ""
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr ""
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr "Executa/continua"
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr "Finalitza"
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr "Commuta el punt de ruptura"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr "ordre GDB"
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr "Mostra el terminal"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "Ocupat"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "Preparat"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr "Penja"
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr "Carrega"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "Consola"
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr "Consola de Depuració"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr " ha sortit"
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr " amb el codi %s"
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr "Envia Senyal"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr ""
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "En execució"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "Aturat"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:45
      #, fuzzy, c-format
      msgid "%s: %s"
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr ""
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "…"
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "_Envia"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "_Ocupat"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr "Ordre GDB"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "Prova:"
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "Verificant"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "Verifica l'Ortografia"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Comprova l'ortografia del document actual."
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "Executa la Comprovació Ortogràfica"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Selecciona el Directori"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:294
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Mostra un ítem 'Obre localització (URI)' al menú d'edició"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:319
      #, fuzzy
      msgid "Interface"
      msgstr "Inspecciona"
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Verifica l'ortografia a mesura que escric"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Verifica l'ortografia a mesura que escric"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "_Directori per als fitxers de diccionari:"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:386
      #, fuzzy
      msgid "Behavior"
      msgstr "Altres"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Més..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(No hi ha suggerències)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Afegeix \"%s\" al Diccionari"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Ignora-ho Tot"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Realitza la Comprovació Ortogràfica"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Predeterminat (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Suggeriments d'Ortografia"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "Desplaça la Columna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr "Converteix la selecció en una taula"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "_Converteix en taula"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr ""
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: no existeix el directori."
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(Buit)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "No s'ha pogut executar l'ordre externa '%s' (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "NouDirectori"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "NouFitxer"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Esteu segurs de voler eliminar '%s'?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Vés cap a dalt"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Especifica el directori pel document"
      
      #: ../treebrowser/src/treebrowser.c:1216
      #, fuzzy
      msgid "_Open externally"
      msgstr "Obre externament"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Obre el terminal"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Instal·la com a superusuari"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Actualitza"
      
      #: ../treebrowser/src/treebrowser.c:1234
      #, fuzzy
      msgid "_Find in Files"
      msgstr "Cerca en els Fitxers"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Crea un directori nou"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Crea un nou fitxer"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Reanomena"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Elimina"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Tanca: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr "Tanca els Documents Fills"
      
      #: ../treebrowser/src/treebrowser.c:1273
      #, fuzzy
      msgid "_Copy full path to clipboard"
      msgstr "Copia la ruta completa al porta-retalls"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Tanca-ho Tot"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Mostra les adreces d'interès"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Mostra els fitxers ocults"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr "Mostra les barres d'eines"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "Ja existeix un fitxer anomenat \"%s\", voleu reemplaçar-lo?"
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Inici"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "Amaga les barres"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Ordre externa per obrir"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "L'ordre a executar quan s'usa \"Obre amb\". Podeu usar els comodins %f i "
      "%d.\n"
      "%f serà substituit amb el nom del fitxer, incloent la ruta completa\n"
      "%d serà substituit amb la ruta completa, sense el nom del fitxer"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "Barra d'Eines"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "Ocult"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "Part superior"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "Part inferior"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr "Mostra les icones"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "Cap"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr "Base"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr "Tipus de continguts"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Amaga els fitxers objecte"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "Inverteix el filtre"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "Segueix el document actual"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Doble clic obre els directoris"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "Mostra les línies de l'arbre"
      
      #: ../treebrowser/src/treebrowser.c:2053
      #, fuzzy
      msgid "Open new files"
      msgstr "Obre un Fitxer"
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "Enfoca la Llista de Fitxers"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr "Reanomena Objecte"
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr "Crea un Fitxer Nou"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr "Crea un Directori Nou"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:195
      #, fuzzy, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Hi ha disponible una versió més recent disponible"
      
      #: ../updatechecker/src/updatechecker.c:203
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "Hi ha disponible una versió més recent disponible"
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr "Executa updatecheck a l'inici"
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr "Comprova si hi ha Actualitzacions"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "finestra-de-missatges"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "barra lateral"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr "finestra-separada"
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "cap"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr "en-connexió"
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "normal"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "utilitat"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "Marcadors"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Zoom"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr "Canvia la orientació dels panells"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Enrere"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "Reenvia"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "Cancel·la la càrrega"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Actualitza la pàgina actual"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr "Inspector web"
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr "Habilita l'inspector web"
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr "Vista Web"
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr "Previsualització Web"
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Mostra les adreces d'interès"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr "Orientació del navegador"
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr "Posició de l'explorador"
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr "Habilita l'Inspector Web"
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr "Mostra/amaga la Finestra de Vista Web"
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr "Explorador"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr "Finestres"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Cerca el Fitxer del Projecte"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "Cerca el fitxer del projecte"
      
      #~ msgid "Goto file"
      #~ msgstr "Ves al fitxer"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Connector %s)"
      
      #~ msgid "No update available"
      #~ msgstr "No hi ha cap actualització disponible"
      
      #~ msgid "%s: error %lu."
      #~ msgstr "%s: error %lu."
      
      #~ msgid "Unknown signal"
      #~ msgstr "Senyal desconeguda"
      
      #~ msgid "(unknown)"
      #~ msgstr "(desconegut)"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "Matant el programa.\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "No s'ha seleccionat %s"
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "Voleu eliminar el watchpoint seleccionat?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "Voleu eliminar el punt de ruptura seleccionat?"
      
      #, fuzzy
      #~ msgid "Break after "
      #~ msgstr "Para després"
      
      #, fuzzy
      #~ msgid "Break when "
      #~ msgstr "Para després"
      
      #, fuzzy
      #~ msgid " is true."
      #~ msgstr "és cert."
      
      #~ msgid "Environment settings"
      #~ msgstr "Paràmetres d'entorn"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ " Directori de cerca de codi font:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ " Directori de cerca d'executable:"
      
      #~ msgid "Show icons."
      #~ msgstr "Mostra icones."
      
      #~ msgid "Terminal program:"
      #~ msgstr "Programa de terminal:"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "Torna al diàleg anterior."
      
      #~ msgid "Function arguments"
      #~ msgstr "Arguments de la funció"
      
      #~ msgid "Filename: "
      #~ msgstr "Nom de fitxer:"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "Número de línia o nom de la funció:"
      
      #~ msgid "(no program)"
      #~ msgstr "(cap programa)"
      
      #~ msgid "Error:"
      #~ msgstr "Error:"
      
      #~ msgid "_Quit"
      #~ msgstr "_Surt"
      
      #~ msgid "Exit everything"
      #~ msgstr "Surt de tot"
      
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr ""
      #~ "No s'ha pogut crear el directori de configuració de connectors (%s)."
      
      #~ msgid "goto_file"
      #~ msgstr "ves_a_fitxer"
      
      #, fuzzy
      #~ msgid "switch_head_impl"
      #~ msgstr "canvia_cap_impl"
      
      #~ msgid "The Geany developer team"
      #~ msgstr "L'equip de desenvolupament de Geany"
      
      #, fuzzy
      #~ msgid "Directory '%s' not exists."
      #~ msgstr "No s'ha trobat el directori %s!\n"
      
      #~ msgid "Switch header / implementation"
      #~ msgstr "Canvia entre capçalera/implementació"
      
      #~ msgid "Ne_xt in"
      #~ msgstr "Següent"
      geany-plugins-1.27/po/POTFILES.skip0000644000175000017500000000036412671261352017256 0ustar00frlanfrlan00000000000000
      
      #geanyvc
      geanyvc/src/commit.glade
      
      # Multiterm
      multiterm/src/config.c
      multiterm/src/context-menu.c
      multiterm/src/notebook.c
      multiterm/src/plugin.c
      multiterm/src/tab-label.c
      multiterm/src/terminal.c
      
      # WebHelper
      webhelper/src/gwh-enum-types.c
      geany-plugins-1.27/po/POTFILES.in0000644000175000017500000001545412671261352016724 0ustar00frlanfrlan00000000000000# List of source files containing translatable strings.
      
      # Addons
      addons/src/ao_bookmarklist.c
      addons/src/ao_tasks.c
      addons/src/ao_systray.c
      addons/src/ao_blanklines.c
      addons/src/ao_markword.c
      addons/src/ao_xmltagging.c
      addons/src/ao_openuri.c
      addons/src/ao_wrapwords.c
      addons/src/ao_doclist.c
      addons/src/ao_copyfilepath.c
      addons/src/addons.c
      
      # Autoclose
      autoclose/src/autoclose.c
      
      # Automark
      automark/src/automark.c
      
      # codenav
      codenav/src/codenavigation.c
      codenav/src/goto_file.c
      codenav/src/switch_head_impl.c
      codenav/src/utils.c
      
      # commander
      commander/src/commander-plugin.c
      
      # debugger
      debugger/src/plugin.c
      debugger/src/vtree.c
      debugger/src/tpage.c
      debugger/src/envtree.c
      debugger/src/bptree.c
      debugger/src/breakpoint.c
      debugger/src/wtree.c
      debugger/src/debug.c
      debugger/src/dbm_gdb.c
      debugger/src/debug_module.c
      debugger/src/utils.c
      debugger/src/stree.c
      debugger/src/tabs.c
      debugger/src/keys.c
      debugger/src/markers.c
      debugger/src/watch_model.c
      debugger/src/callbacks.c
      debugger/src/breakpoints.c
      debugger/src/btnpanel.c
      debugger/src/btnpanel.h
      debugger/src/dconfig.c
      debugger/src/dconfig.h
      debugger/src/pixbuf.c
      debugger/src/pixbuf.h
      debugger/src/atree.h
      debugger/src/atree.c
      
      # defineformat
      defineformat/src/defineformat.c
      
      # devhelp
      devhelp/src/dhp.h
      devhelp/src/dhp-object.c
      devhelp/src/dhp-plugin.c
      devhelp/src/dhp-manpages.c
      devhelp/src/dhp-settings.c
      # bundled libdevhelp2
      devhelp/devhelp/dh-assistant.c
      devhelp/devhelp/dh-assistant.h
      devhelp/devhelp/dh-assistant-view.c
      devhelp/devhelp/dh-assistant-view.h
      devhelp/devhelp/dh-base.c
      devhelp/devhelp/dh-base.h
      devhelp/devhelp/dh-book.c
      devhelp/devhelp/dh-book.h
      devhelp/devhelp/dh-book-manager.c
      devhelp/devhelp/dh-book-manager.h
      devhelp/devhelp/dh-book-tree.c
      devhelp/devhelp/dh-book-tree.h
      devhelp/devhelp/dh-enum-types.c
      devhelp/devhelp/dh-enum-types.h
      devhelp/devhelp/dh-error.c
      devhelp/devhelp/dh-error.h
      devhelp/devhelp/dh-keyword-model.c
      devhelp/devhelp/dh-keyword-model.h
      devhelp/devhelp/dh-link.c
      devhelp/devhelp/dh-link.h
      devhelp/devhelp/dh-marshal.c
      devhelp/devhelp/dh-marshal.h
      devhelp/devhelp/dh-parser.c
      devhelp/devhelp/dh-parser.h
      devhelp/devhelp/dh-preferences.c
      devhelp/devhelp/dh-preferences.h
      devhelp/devhelp/dh-search.c
      devhelp/devhelp/dh-search.h
      devhelp/devhelp/dh-util.c
      devhelp/devhelp/dh-util.h
      devhelp/devhelp/dh-window.c
      devhelp/devhelp/dh-window.h
      devhelp/devhelp/eggfindbar.c
      devhelp/devhelp/eggfindbar.h
      devhelp/devhelp/ige-conf.c
      devhelp/devhelp/ige-conf-gconf.c
      devhelp/devhelp/ige-conf.h
      devhelp/devhelp/ige-conf-private.h
      
      # geanyctags
      geanyctags/src/geanyctags.c
      
      # geanydoc
      geanydoc/tests/unittests.c
      geanydoc/src/config.c
      geanydoc/src/geanydoc.c
      
      # GeanyExtraSel
      geanyextrasel/src/extrasel.c
      
      # GeanyGenDoc
      geanygendoc/src/ggd-file-type-loader.c
      geanygendoc/src/ggd-doc-type.c
      geanygendoc/src/ggd-tag-utils.c
      geanygendoc/src/ggd-file-type-manager.c
      geanygendoc/src/ggd-plugin.c
      geanygendoc/src/ggd-utils.c
      geanygendoc/src/ggd.c
      geanygendoc/src/ggd-doc-setting.c
      geanygendoc/src/ggd-file-type.c
      geanygendoc/src/ggd-widget-frame.c
      geanygendoc/src/ggd-options.c
      geanygendoc/src/ggd-widget-doctype-selector.c
      
      # GeanyInsertnum
      geanyinsertnum/src/insertnum.c
      
      # geanylatex
      geanylatex/src/bibtex.c
      geanylatex/src/formatutils.c
      geanylatex/src/latexenvironments.c
      geanylatex/src/latexutils.c
      geanylatex/src/templates.c
      geanylatex/src/bibtexlabels.c
      geanylatex/src/geanylatex.c
      geanylatex/src/latexkeybindings.c
      geanylatex/src/letters.c
      geanylatex/src/formatpatterns.c
      geanylatex/src/latexencodings.c
      geanylatex/src/latexstructure.c
      geanylatex/src/reftex.c
      
      # geanylipsum
      geanylipsum/src/geanylipsum.c
      
      # geanyLua
      geanylua/glspi.h
      geanylua/glspi_ver.h
      geanylua/glspi_run.c
      geanylua/glspi_init.c
      geanylua/gsdlg_lua.c
      geanylua/glspi_doc.c
      geanylua/gsdlg.c
      geanylua/glspi_sci.c
      geanylua/glspi_dlg.c
      geanylua/glspi_kfile.c
      geanylua/geanylua.c
      geanylua/glspi_app.c
      
      # GeanyMacro
      geanymacro/src/geanymacro.c
      
      # GeanyMiniScript
      geanyminiscript/src/gms_gui.c
      geanyminiscript/src/gms_gui.h
      geanyminiscript/src/gms.c
      geanyminiscript/src/gms.h
      
      # GeanyNumberedBookmarks
      geanynumberedbookmarks/src/geanynumberedbookmarks.c
      
      # GeanyPG
      geanypg/src/decrypt_cb.c
      geanypg/src/encrypt_cb.c
      geanypg/src/geanypg.c
      geanypg/src/helper_functions.c
      geanypg/src/key_selection_dialog.c
      geanypg/src/pinentry.c
      geanypg/src/sign_cb.c
      geanypg/src/verify_aux.c
      geanypg/src/verify_cb.c
      
      # GeanyPrj
      geanyprj/src/geanyprj.c
      geanyprj/src/geanyprj.h
      geanyprj/src/menu.c
      geanyprj/src/project.c
      geanyprj/src/sidebar.c
      geanyprj/src/utils.c
      geanyprj/src/xproject.c
      
      # Geanypy
      geanypy/src/geanypy-plugin.c
      
      # geanysendmail
      geanysendmail/src/geanysendmail.c
      
      # geanyvc
      geanyvc/src/geanyvc.c
      geanyvc/src/geanyvc.h
      geanyvc/src/vc_bzr.c
      geanyvc/src/vc_cvs.c
      geanyvc/src/vc_git.c
      geanyvc/src/vc_hg.c
      geanyvc/src/vc_svk.c
      geanyvc/src/vc_svn.c
      geanyvc/src/utils.c
      
      # GeniusPaste
      geniuspaste/src/geniuspaste.c
      
      # GitChangeBar
      [type: gettext/glade]git-changebar/data/prefs.ui
      git-changebar/src/gcb-plugin.c
      
      # LineOperations
      lineoperations/src/lineoperations.c
      
      # Markdown
      markdown/src/conf.c
      markdown/src/plugin.c
      
      # Multiterm
      multiterm/src/config.vala
      multiterm/src/context-menu.vala
      multiterm/src/notebook.vala
      multiterm/src/plugin.vala
      multiterm/src/shell-config.vala
      multiterm/src/tab-label.vala
      multiterm/src/terminal.vala
      
      # Overview
      overview/overview/overviewcolor.c
      overview/overview/overviewplugin.c
      overview/overview/overviewprefs.c
      overview/overview/overviewprefspanel.c
      overview/overview/overviewscintilla.c
      overview/overview/overviewui.c
      [type: gettext/glade]overview/data/prefs.ui
      
      # Pairtaghighlighter
      pairtaghighlighter/src/pair_tag_highlighter.c
      
      # PoHelper
      [type: gettext/glade]pohelper/data/menus.ui
      [type: gettext/glade]pohelper/data/stats.ui
      pohelper/src/gph-plugin.c
      
      # Pretty-printer
      pretty-printer/src/PrettyPrinter.c
      pretty-printer/src/PluginEntry.c
      pretty-printer/src/ConfigUI.c
      
      # ProjectOrganizer
      projectorganizer/src/prjorg-main.c
      projectorganizer/src/prjorg-menu.c
      projectorganizer/src/prjorg-project.c
      projectorganizer/src/prjorg-sidebar.c
      
      # Scope
      scope/data/scope.glade
      scope/src/break.c
      scope/src/conterm.c
      scope/src/debug.c
      scope/src/inspect.c
      scope/src/memory.c
      scope/src/menu.c
      scope/src/parse.c
      scope/src/plugme.c
      scope/src/prefs.c
      scope/src/program.c
      scope/src/scope.c
      scope/src/thread.c
      scope/src/utils.c
      scope/src/views.c
      scope/src/store/scptreestore.c
      
      # Spell Check
      spellcheck/src/speller.c
      spellcheck/src/scplugin.c
      spellcheck/src/gui.c
      
      # Shift Column
      shiftcolumn/src/shiftcolumn.c
      
      # Tableconvert
      tableconvert/src/tableconvert.c
      tableconvert/src/tableconvert_ui.c
      
      # treebrowser
      treebrowser/src/treebrowser.c
      
      # UpdateChecker
      updatechecker/src/updatechecker.c
      
      # WebHelper
      webhelper/src/gwh-enum-types.c
      webhelper/src/gwh-keybindings.c
      webhelper/src/gwh-settings.c
      webhelper/src/gwh-utils.c
      webhelper/src/gwh-browser.c
      webhelper/src/gwh-plugin.c
      
      # XMLSnippets
      xmlsnippets/src/plugin.c
      xmlsnippets/src/xmlsnippets.c
      xmlsnippets/src/tests.c
      xmlsnippets/src/test-stubs.c
      geany-plugins-1.27/po/be.po0000644000175000017500000050360212671261352016072 0ustar00frlanfrlan00000000000000# Belarussian translation for geany-plugins
      # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Yura Siamshka 
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2009-06-11 10:15+0200\n"
      "Last-Translator: Yura Siamshka >\n"
      "Language-Team: Belarusian \n"
      "Language: be\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=2; plural=(n != 1);\n"
      "X-Poedit-Language: Belarusian\n"
      "X-Poedit-Country: BELARUS\n"
      "X-Poedit-SourceCharset: utf-8\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr ""
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr ""
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr ""
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr ""
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr ""
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      #, fuzzy
      msgid "File"
      msgstr "Дадаць файл"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr ""
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr ""
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr ""
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr ""
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr ""
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr ""
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr ""
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr ""
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr ""
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr ""
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr ""
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Выдаліць праэкт"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Выдаліць праэкт"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr ""
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      msgid "Reset to Default"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:43
      #, fuzzy
      msgid "Commander"
      msgstr "Каманда 0:"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      #, fuzzy
      msgid "Show Command Panel"
      msgstr "Каманда 0:"
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr ""
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      #, fuzzy
      msgid "Name"
      msgstr "Імя:"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr ""
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr ""
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr ""
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      #, fuzzy
      msgid "Command Line Arguments"
      msgstr "Каманда 0:"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr ""
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      #, fuzzy
      msgid "Delete variable?"
      msgstr "Выдаліць праэкт"
      
      #: ../debugger/src/bptree.c:676
      #, fuzzy
      msgid "Location"
      msgstr "Лакацыя:"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr ""
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr ""
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:523
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr ""
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr ""
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr ""
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr ""
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr ""
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr ""
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr ""
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr ""
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr ""
      
      #: ../debugger/src/keys.c:57
      msgid "Jump to the current instruction"
      msgstr ""
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr ""
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      #, fuzzy
      msgid "Documentation"
      msgstr "Інтэрактыўная даведка"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      #, fuzzy
      msgid "Toggle documentation tab"
      msgstr "Інтэрактыўная даведка"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr ""
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr ""
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr ""
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      #, fuzzy
      msgid "Macro"
      msgstr "Імя:"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      #, fuzzy
      msgid "_File"
      msgstr "Дадаць файл"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr ""
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      #, fuzzy
      msgid "Find Next"
      msgstr "Дадаць файл"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      #, fuzzy
      msgid "Find Previous"
      msgstr "Знайсьці і праэкце"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr ""
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr ""
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr ""
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr ""
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1100
      #, fuzzy
      msgid "Preferences…"
      msgstr "Наладкі"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:149
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:528
      msgid "_Search for:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      msgid "pattern"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "Лакацыя:"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      msgid "Generate tags"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Дадаць файл"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "Дадаць файл"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Даведка"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Паказаць даведку па слове, на якім засяроджаны курсор."
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "Немагчыма прааналізаваць вывад каманды"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Выводзіць у буфер"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Каманда 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Каманда 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w будзе заменены на слова, на якім засяроджаны курсор\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr "Даведка па слове, на якім засяроджаны курсор"
      
      #: ../geanydoc/src/geanydoc.c:441
      #, fuzzy
      msgid "Document interactive"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:520
      #, fuzzy
      msgid "Select to line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      #, fuzzy
      msgid "Select to _Anchor"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyextrasel/src/extrasel.c:547
      #, fuzzy
      msgid "Select to anchor"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      #, fuzzy
      msgid "type"
      msgstr "Тып:"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      #, fuzzy
      msgid "Documentation Generator"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      #, fuzzy
      msgid "_Document Current Symbol"
      msgstr "Даведка па слове, на якім засяроджаны курсор"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      #, fuzzy
      msgid "Generate documentation for the current symbol"
      msgstr "Паказаць даведку па слове, на якім засяроджаны курсор."
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      #, fuzzy
      msgid "_Documentation Generator"
      msgstr "Інтэрактыўная даведка"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr ""
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      #, fuzzy
      msgid "Documentation type"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      #, fuzzy
      msgid "_Change associated documentation type"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      #, fuzzy
      msgid "_Disassociate documentation type"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      #, fuzzy
      msgid "Insert Numbers"
      msgstr "Наладкі"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:362
      #, fuzzy
      msgid "_Base:"
      msgstr "Базавы шлях:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:478
      #, fuzzy
      msgid "Insert _Numbers"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:27
      #, fuzzy
      msgid "Document Structure"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:859
      #, fuzzy
      msgid "Command name:"
      msgstr "Каманда 0:"
      
      #: ../geanylatex/src/geanylatex.c:902
      #, fuzzy
      msgid "Insert Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:915
      #, fuzzy
      msgid "Reference name:"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:940
      #, fuzzy
      msgid "_Standard Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:945
      #, fuzzy
      msgid "_Page Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1267
      #, fuzzy
      msgid "Insert BibTeX Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:1280
      #, fuzzy
      msgid "BibTeX reference name:"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr ""
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr ""
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr ""
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      #, fuzzy
      msgid "Date:"
      msgstr "Імя:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2005
      #, fuzzy
      msgid "Insert BibTeX reference dialog"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr ""
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr ""
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2160
      #, fuzzy
      msgid "Insert _Reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2183
      #, fuzzy
      msgid "Insert P_ackage"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr ""
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2289
      #, fuzzy
      msgid "Insert B_ibTeX reference"
      msgstr "Наладкі"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr ""
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr ""
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:410
      #, fuzzy
      msgid "Save file"
      msgstr "Выдаліць файл"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:67
      #, fuzzy
      msgid "Delete to beginning of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:68
      #, fuzzy
      msgid "Delete to end of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:69
      #, fuzzy
      msgid "Delete current line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      #, fuzzy
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:100
      #, fuzzy
      msgid "Extend Selection down a line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:101
      #, fuzzy
      msgid "Extend Selection up a line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:102
      #, fuzzy
      msgid "Extend Selection Left a line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:103
      #, fuzzy
      msgid "Extend Selection Right a line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:104
      #, fuzzy
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:105
      #, fuzzy
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:108
      #, fuzzy
      msgid "Extend Selection to start of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:109
      #, fuzzy
      msgid "Extend Selection to end of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:110
      #, fuzzy
      msgid "Extend Selection to start of document"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:111
      #, fuzzy
      msgid "Extend Selection to end of document"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:112
      #, fuzzy
      msgid "Extend Selection up one Page"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:113
      #, fuzzy
      msgid "Extend Selection down one Page"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      #, fuzzy
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      #, fuzzy
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:121
      #, fuzzy
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:123
      #, fuzzy
      msgid "Extend Rectangular Selection down a line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:124
      #, fuzzy
      msgid "Extend Rectangular Selection up a line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:125
      #, fuzzy
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:126
      #, fuzzy
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:127
      #, fuzzy
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:128
      #, fuzzy
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:152
      #, fuzzy
      msgid "Set start of search to beginning of selection"
      msgstr "Выдаліць праэкт"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1085
      #, fuzzy
      msgid "Macro Name:"
      msgstr "Імя:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr ""
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr ""
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr ""
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      #, fuzzy
      msgid "_Delete"
      msgstr "Выдаліць праэкт"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr ""
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr ""
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      #, fuzzy
      msgid "selection"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      #, fuzzy
      msgid "document"
      msgstr "Інтэрактыўная даведка"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:527
      #, fuzzy
      msgid "New Doc."
      msgstr "Новы Праэкт"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Выдаліць праэкт"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:162
      #, fuzzy
      msgid "Select recipients"
      msgstr "Выдаліць праэкт"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:232
      #, fuzzy
      msgid "Select signer"
      msgstr "Выдаліць праэкт"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr ""
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr ""
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "Альтэрнатыўная падтрымка праэкта"
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Наладкі праэкта"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Новы Праэкт"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "Стварыць"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      #, fuzzy
      msgid "Name:"
      msgstr "Імя:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Лакацыя:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Выбяры лакацыю праэкта"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Базавы шлях:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Базавая тэчка да ўсіх файлаў складаючых праэкт. Можа быць новы або ўжо "
      "існуючы шлях. Вы можаце выкарыстоўваць шлях адносны шляха праектнага файла."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Выбяры базавы шлях праэкта"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Ствараць спіс файлаў пры загрузке"
      
      #: ../geanyprj/src/menu.c:172
      #, fuzzy
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Аўтаматычна дадаваць падыходзячыя пад тып праэкту файлы. Вы не можаце "
      "дадаваць/выдаляць файлы з праекту, калі вы абралі гэту наладку таму, што "
      "вашы зьмяненьні будуць страчаны пры наступнай загрузке праэкта."
      
      #: ../geanyprj/src/menu.c:180
      #, fuzzy
      msgid "Type:"
      msgstr "Тып:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Файл праэкта \"%s\" ужо існуе"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "Праэкт"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Выдаліць праэкт"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      #, fuzzy
      msgid "Add File"
      msgstr "Дадаць файл"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Наладкі"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Знайсьці і праэкце"
      
      #: ../geanyprj/src/sidebar.c:203
      #, fuzzy
      msgid "Remove File"
      msgstr "Выдаліць файл"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Схаваць сайдбар"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Праэкт"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Праэкт \"%s\" адчынен."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:44
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr ""
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr ""
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr ""
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr ""
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr ""
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr ""
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr ""
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr ""
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      msgid "Failed to paste the code"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:701
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:771
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "Выдаліць праэкт"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "Выдаліць файл"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      msgid "Go to the previous hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      msgid "Go to the next hunk"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Выдаліць файл"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Выдаліць файл"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      msgid "_Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:127
      msgid "Line Operations"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      #, fuzzy
      msgid "Position:"
      msgstr "Лакацыя:"
      
      #: ../markdown/src/conf.c:573
      #, fuzzy
      msgid "Sidebar"
      msgstr "Схаваць сайдбар"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr ""
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:663
      #, fuzzy
      msgid "Select Template File"
      msgstr "Выдаліць праэкт"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "Выдаліць праэкт"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "Схаваць сайдбар"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      msgid "Open Tab"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      msgid "Open Window"
      msgstr ""
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "Знайсьці і праэкце"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      msgid "Show Tabs"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      msgid "New terminal"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, c-format
      msgid "Unable to write default config file: %s"
      msgstr ""
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      msgid "Terminal"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      msgid "Close terminal"
      msgstr ""
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      msgid "Show Overview"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "Лакацыя:"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      msgid "Hide tooltip"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      #, fuzzy
      msgid "Toggle current translation fuzziness"
      msgstr "Інтэрактыўная даведка"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      msgid "Show statistics of the current document"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Наладкі праэкта"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      #, fuzzy
      msgid "Find in project files"
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      #, fuzzy
      msgid "Find project file"
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:628
      msgid "No"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      #, fuzzy
      msgid "Find File"
      msgstr "Дадаць файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "Выдаліць праэкт"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Выдаліць праэкт"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      msgid "Add"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Дадаць файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "Выдаліць праэкт"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Знайсьці і праэкце"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "Дадаць файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Дадаць файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "Выдаліць праэкт"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:12
      #, fuzzy
      msgid "_GDB Command"
      msgstr "Каманда 0:"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:27
      #, fuzzy
      msgid "S_elect on"
      msgstr "Выдаліць праэкт"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      #, fuzzy
      msgid "_Inspect Variable"
      msgstr "Выдаліць праэкт"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:116
      #, fuzzy
      msgid "Frame:"
      msgstr "Імя:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      msgid "breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:98
      msgid "hardware breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:99
      msgid "tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr ""
      
      #: ../scope/src/break.c:142
      msgid "Run to Cursor"
      msgstr ""
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr ""
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr ""
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr ""
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr ""
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr ""
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr ""
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr ""
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr ""
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr ""
      
      #: ../scope/src/menu.c:483
      #, fuzzy
      msgid "Inspect variable"
      msgstr "Выдаліць праэкт"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select Folder"
      msgstr "Выдаліць праэкт"
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select File"
      msgstr "Выдаліць праэкт"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr ""
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr ""
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr ""
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr ""
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr ""
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr ""
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr ""
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr ""
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr ""
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr ""
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr ""
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr ""
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr ""
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr ""
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr ""
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr ""
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr ""
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr ""
      
      #: ../scope/src/views.c:558
      #, fuzzy
      msgid "GDB Command"
      msgstr "Каманда 0:"
      
      #: ../spellcheck/src/speller.c:180
      #, fuzzy
      msgid "Try: "
      msgstr "Тып:"
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr ""
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      #, fuzzy
      msgid "Select Directory"
      msgstr "Выдаліць праэкт"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:294
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:330
      msgid "Check spelling when opening a document"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr ""
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      msgid "LaTeX"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr ""
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr ""
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1043
      #, fuzzy
      msgid "NewDirectory"
      msgstr "Выдаліць праэкт"
      
      #: ../treebrowser/src/treebrowser.c:1045
      #, fuzzy
      msgid "NewFile"
      msgstr "Дадаць файл"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1234
      #, fuzzy
      msgid "_Find in Files"
      msgstr "Знайсьці і праэкце"
      
      #: ../treebrowser/src/treebrowser.c:1242
      #, fuzzy
      msgid "Create new directory"
      msgstr "Выдаліць праэкт"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1255
      #, fuzzy
      msgid "Delete"
      msgstr "Выдаліць праэкт"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1759
      #, fuzzy
      msgid "Track path"
      msgstr "Базавы шлях:"
      
      #: ../treebrowser/src/treebrowser.c:1764
      #, fuzzy
      msgid "Hide bars"
      msgstr "Схаваць сайдбар"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1990
      #, fuzzy
      msgid "Base"
      msgstr "Базавы шлях:"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2011
      #, fuzzy
      msgid "Reverse filter"
      msgstr "Выдаліць файл"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2053
      msgid "Open new files"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2135
      #, fuzzy
      msgid "Create New File"
      msgstr "Выдаліць праэкт"
      
      #: ../treebrowser/src/treebrowser.c:2137
      #, fuzzy
      msgid "Create New Directory"
      msgstr "Выдаліць праэкт"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:16
      #, fuzzy
      msgid "sidebar"
      msgstr "Схаваць сайдбар"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr ""
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:474
      msgid "Bookmark this website"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      msgid "List of bookmarks"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr ""
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Знайсьці і праэкце"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "Знайсьці і праэкце"
      
      #, fuzzy
      #~ msgid "GProject"
      #~ msgstr "Праэкт"
      
      #~ msgid "Yura Siamshka "
      #~ msgstr "Юра Сямашка "
      
      #, fuzzy
      #~ msgid ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      #~ msgstr "Юра Сямашка "
      
      #, fuzzy
      #~ msgid "Yura Siamashka "
      #~ msgstr "Юра Сямашка "
      
      #, fuzzy
      #~ msgid "Conference"
      #~ msgstr "Наладкі"
      
      #~ msgid "Project \"%s\" closed."
      #~ msgstr "Праэкт \"%s\" зачынен."
      geany-plugins-1.27/po/it.po0000644000175000017500000063507612671261352016133 0ustar00frlanfrlan00000000000000# Italian translations for geany-plugins package.
      # Copyright (C) 2014 THE geany-plugins'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Federico Reghenzani , 2014.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2014-04-09 07:23+0200\n"
      "Last-Translator: Federico Reghenzani \n"
      "Language-Team: Italian\n"
      "Language: it\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=2; plural=(n != 1);\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Linea vuota)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "_Rimuovi segnalibro"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "N°"
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Contenuti"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Segnalibri"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "_Aggiorna"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Nascondi la finestra dei messaggi"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "File"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Linea"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Type"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Task"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Task"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Contesto:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "XML tagging"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Nome del Tag da inserire:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "%s sarà sostituito con la tua selezione correte. Prestare attenzione alla "
      "tua selezione"
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Apri URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Copia URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr "Enclose caratteri"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Annulla"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "Enclose combo %d"
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "Carattere di apertura"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "Carattere di chiusura"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "C_hiudi gli altri Documenti"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "Chiudi _tutto"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Visualizza lista Documenti"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, fuzzy, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "_Copia percorso completo negli appunti"
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      #, fuzzy
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Controlla l'ortografia del documento corrente."
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Addons"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Alcuni piccoli addon per Geany."
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "Imposta il focus sulla lista dei Segnalibri"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "Imposta il focus sulla lista dei Task"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "Aggiorna la lista dei Task"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr "Esegui XML tagging"
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "La cartella della configurazione dei plugin non può essere creata."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      "Mostra un'icona nella toolbar per visualizzare la lista dei documenti aperti"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr "Ordina i documenti in base al _nome"
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr "Ordina tutti ti documenti nella lista in base al nome del file"
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr "Ordina i documenti in base alle _occorrenze"
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Ordina i documenti in base all'ordine dei tab"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Ordina i documenti in base alle _occorrerze (invertito)"
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr "Ordina i documenti in base all'ordine dei tab (invertito)"
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Visualizza un 'Apri URI' nel menù dell'editor"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "Visualizza i Task disponibili nella finestra Messaggi"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "Visualizza i Task di tutti i documenti"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Mostrare i task di tutti i documenti aperti o solo quelli del documento "
      "corrente"
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "Specifica una lista di token di ricerca, separata da punti e virgola."
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr "Token di ricerca:"
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "Visualizza icona status nell'area notifiche"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Visualizza i segnalibri (linee contrassegnate) nella barra laterale"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      "Evidenzia tutte le occorrenze di una parola effettuando doppio-click su di "
      "essa."
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr "Elimina linee vuote finali"
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr "XML tagging per selezione"
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr "Racchiudi selezione con combinazione di tasti"
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr "Racchiudi selezione automaticamente (senza premere una combinazione)"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr "Auto-chiusura"
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr "Auto-chiudi parentesi con molte funzioni"
      
      #: ../autoclose/src/autoclose.c:1033
      #, fuzzy
      msgid "Auto-close quotes and brackets"
      msgstr "Auto-chiudi parentesi con molte funzioni"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "Non impostare alcuna codifica"
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Muovi il cursore a fine riga"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientazione browser"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      #, fuzzy
      msgid "Suppress double-completion"
      msgstr "Modo di autocompletamento"
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Elimina selezione"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "Imposta selezione un livello sotto"
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      #, fuzzy
      msgid "Enclose selections in strings and comments"
      msgstr "Racchiudi selezione con combinazione di tasti"
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Naviazione codice"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Passa a intestazione/sorgente"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr "Estensioni implementate"
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr "Estensioni delle intestazioni"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Default"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "%s non trovato, crearlo?"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr "Comandante"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      "Fornisce un pannello comandi per un veloce accesso a azioni, file e altro"
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr "Visualizza pannello comandi"
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr "Debugger"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr "Diverse integrazioni con i debuggers."
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Debug"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "Nome"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "Valore"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr "Scegli il file target"
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr "Target:"
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr "Sfoglia"
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr "Debugger:"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr "Parametri linea di comando"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr "Variabili d'ambiente"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr "Elimina variabile?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Posizione"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Condizione"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "Conteggio Hit"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "linea %i"
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Il programma ha ricevuto un segnale"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Programma terminato con codice \"%i\""
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr "Impossibile avviare il processo gdb"
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Caricamento file target.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr "Impossibile caricare il file"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr "Errore nella configurazione di GDB"
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "Impossibile settare Breakpoint a %s:%i\n"
      "Messaggio del debugger: %s"
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "Impossibile trovare il file sorgente \"%s\""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr "Frame attivo"
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr "Clicca una freccia per cambiare a un frame"
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr "Thread %i"
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Indirizzo"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Funzione"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "Target"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Breakpoint"
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr "Watch"
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr "Auto"
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr "Stack di chiamata"
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr "Terminale di Debug"
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr "Messaggi dal debugger"
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr "Esegui / Continua"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "Ferma"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "Riavvia"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr "Entra (step into)"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr "Scavalca (step over)"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr "Esci (step out)"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr "Esegui al cursore"
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr "Aggiungi / Rimuovi breakpoint"
      
      #: ../debugger/src/keys.c:57
      msgid "Jump to the current instruction"
      msgstr "Salta all'istruzione corrente"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "Impossibile valutare l'espressione"
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      "Per modificare i file sorgenti interrompi la sessione di debug corrente"
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "Esegui"
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "Impostazioni"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr "Modalità due pannelli"
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "Continua"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "Salva i dati della sessione debug ad un progetto"
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr "Define formatter"
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr "Allinea automaticamente le backslash nelle define multi-linea"
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Documentazione"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "Codice"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr "Cerca nella documentazione per 'Tag'"
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Devhelp"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Pagine del manuale"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Indieto di una pagina"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Avanti di una pagina"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Zoom in"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Zoom out"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Cerca"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Cerca per '%s' nella documentazione"
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr "Devhelp Plugin"
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      "Aggiunge supporto per la ricerca nella documentazione in Devhelp, paginedel "
      "manuale e Google Code Search in una finestra integrata."
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Impossibile creare la directory di configurazione '%s'"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Impossibile leggere la configurazione di default: %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Impossibile scrivere la configurazione di default: %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr "Mostra/Nascondi il tab contenuti nella barra laterale"
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr "Mostra/Nascondi il tab ricerca nella barra laterale"
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr "Mostra/Nascondi il tab dcoumentazione nella barra laterale"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr "Attiva tutti i tab"
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr "Cerca per il tag corrente in Devhelp"
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr "Cerca per il tag corrente nelle pagine del Manuale"
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr "Devhelp — Assistente"
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Libro:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Libro"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Pagina"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Parola chiave"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr "Struct"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "Macro"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr "Enum"
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr "Previsto '%s', trovato '%s' alla linea %d, colonna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr "Namesapce invalido '%s' alla linea %d, colonna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      "Gli elementi \"title\", \"name\" e \"link\" sono richiesti alla linea %d, "
      "colonna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      "Gli elementi \"name\" e \"link\" sono richiesti all'interno di  alla "
      "linea %d, colonna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      "Gli elementi \"name\" e \"link\" sono richiesti dentro '%s' alla linea %d, "
      "colonna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      "L'elemento \"type\" è richiesto dentro  alla linea %d, colonna %d"
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr "Impossibile decomprimere libro '%s': %s"
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr "Tutti i libri"
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr "Cerca in:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr "translator_credits"
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr "Un help-browser degli sviluppatori per GNOME"
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_File"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "_Modifica"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "V_isualizza"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "_Vai"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "_Aiuto"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "Nuova _Finestra"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "Nuovo _Tab"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "_Stampa"
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Trova successivo"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Trova precedente"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "Vai alla pagina precedente"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Vai alla pagina successiva"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "Tab _Contenuto"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "Tab _Ricerca"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "Testo più _grande"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Aumenta la dimensione del testo"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "Testo più _piccolo"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Diminuisce la dimensione del testo"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "Dimensioni _normali"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Usa la dimensione normale del testo"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Chiudi schermo intero"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "Visualizza a schermo intero"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Più grande"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Più piccolo"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "Informazioni su Devhelp"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Preferenze…"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "Errore nell'apertura del link richiesto."
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "Pagina vuota"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Cerca:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Cerca occorrenze precedenti della stringa"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Cerca occorrenze successive della stringa"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "C_ase Sensitive"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr "Commuta la ricerca case-sensitive"
      
      #: ../geanyctags/src/geanyctags.c:51
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Plugin per la crittografia gpg in Geany"
      
      #: ../geanyctags/src/geanyctags.c:149
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: directory non trovata."
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      #, fuzzy
      msgid "Find Tag"
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "Cerca per:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      #, fuzzy
      msgid "prefix"
      msgstr "_Prefisso base"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "Lettera"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "C_ase sensitive"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relazionale"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "Generale"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Cerca:"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "Trova successivo"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Apri visualizzatore documentazione sul simbolo corrente."
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "Impossibile analizzare l'output del comando"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Metti l'output nel buffer"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Comando 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Comando 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w sarà sostituito dalla parola corrente\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr "Parola corrente del documento"
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr "Documento interattivo"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Selezione extra"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr "Modalità Colonna, selezione linea / parentesi / ancora."
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "Selezione e_xtra"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr "Modalità _Colonna"
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr "Modalità Colonna"
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr "Seleziona alla _linea"
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr "Seleziona alla linea"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr "Seleziona alla _parentesi corrispondente"
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr "Seleziona alla parentesi corrispondente"
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr "_Commuta Flusso/Rettangolare"
      
      #: ../geanyextrasel/src/extrasel.c:532
      msgid "Convert selection"
      msgstr "Converti selezione"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr "Impo_sta Àncora"
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr "Imposta Àncora"
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr "Seleziona all'_Àncora"
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr "Seleziona all'Àncora"
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr "Selezione _Rettangolare all'Ancora"
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr "Selezione rettangolare all'Àncora"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "valore booleano"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "valore booleano non valido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "template non valido: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "nome posizione"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "posizione non valida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "nome policy"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "policy non valida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "unisci polizza"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr "polizza di unione non valida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "tipo"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "tipo non valido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "nome impostazione non valida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr "identificatore impostazione"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Tipo \"%s\" sconosciuto, è un tipo?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr "identificatore match"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr "l'identificatore match è vuoto"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "identificatore tipo documentazione"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "tipo documentazione"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "regular-expression non valida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "descrizione ambiente non valida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr "impostazione"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "nome sezione"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "sezione duplicata \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "nome sezione non valido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "l'input è vuoto"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "Parser warning: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "Parser error: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Tag non valido"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr "File configurazionazione tipo per il linguaggio \"%s\" non trovato: %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr "Impossibile caricare il file \"%s\" dal file \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "Documentation Generator"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr "Genera la documentazione basandosi sul codice"
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Impossibile caricare la configurazione: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Impossibile salvare la configurazione: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr "Impossibile trovare un file di configurazione per il tipo \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      "# La configurazione per questo tipo di fine non esiste ancora.\n"
      "# Per crearla, scrivila in questo file e salvata. Per la descrizione\n"
      "# della sintassi di questo file, controlla il manuale.\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Impossibile caricare il file \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr "Inserisci commento di documentazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr "Inserisci _documentazione al simbolo corrente"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr "Genera documentazione per il simbolo corrente"
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr "Documenta _tutti i simboli"
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Genera la documentazione per tutti i simboli nel documento corrente"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "_Ricarica il file di configurazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "Forza il reloading dei file di configurazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "_Modifica la configurazione del linguaggio corrente"
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr "Apri la configurazione del linguaggio corrente per la modifica"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Apri _manuale"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Apri il manuale nel browser"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "_Documentation Generator"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "Generale"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "_Salva il file prima di generare la documentazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Salva il documento corrente su disco prima di generare la documentazione.E' "
      "un dettaglio tecnico, ma è attualmente richiesto per avere una lista "
      "tagcorretta. Se disabiliti questa opzione e avvii la generazione della "
      "documentazionesu un documento modificato, il comportamento può sorprendere "
      "dato che il commentosarà generato per l'ultimo stato salvato di questo "
      "documento e non il corrente."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr "_Indenta la documentazione inserita"
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Indenta la documentazione inserita per raggiungere l'indentazionealla "
      "posizione di inserimento."
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo di documentazione"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "Scegli il tipo di documentazione per usarlo con ogni tipo di file. Il "
      "linguaggio speciale \"Tutti\" in cima alla lista è usato per scegliere il "
      "tipo di documentazione di default, utilizzato da tutti i linguaggi che non "
      "ne hanno uno."
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr "Ambiente globale"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "Ambiente globale sovrascrive e aggiunge. Questo ambiente sarà unito con "
      "quello specifico del tipo di file."
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "Il file \"%s\" esiste ma non è  un file regolare"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: impossibile trovare file o directory"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "Impossibile ridimensionare la memoria di output stream"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      "Il parsing regular-expression dell'argomento non corrisponde (la lista "
      "argomenti era: \"%s\")"
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "Impossibile aggiungere un ambiente globale, salto: %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "Impossibile generare il commento: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "Il tipo di documentazione \"%s\" non esiste per il linguaggio \"%s\"."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      "Nessuna impostazione si applica al simbolo \"%s\" del tipo \"%s\" alla linea "
      "%lu."
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "Tag non valido alla linea %d."
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr "Nessun tag nel documento"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Opzione non conosciuta"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      "Opzione o proxy non valido: o la proprietà del proxy o il tipo dell'opzione "
      "sono incompatibili"
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "value-type non conosciuto per il file chiave %s::%s"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr "Impossibile ottenere il file chiave %s::%s: %s"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Linguaggio"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr "_Cambia associazione tipo documentazione"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr "_Disassocia tipo documentazione"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Tutti"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr "Tipo di documentazione di default per i linguaggi che non ne hanno uno"
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "Inserisci numeri"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "Inserisci/Riempi colonne con numeri."
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Conteggio..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Preparazione..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Inserimento..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "Per base 11 e superiori"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "_Avvia:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "S_tep:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Lettere:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "_Alto"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "_Basso"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "_Prefisso base"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 per ottale, 0x per esadecimale, + per decimali positivi"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Padding:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Sp_azio"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "_Zero"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "Inserisci _Numeri"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Ambienti"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Formattazione"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Struttura documento"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Liste"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Matematica"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Inserisci Ambiente"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Ambiente:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "Impossibile determinare dove inserire il package: %s\n"
      "Prova a inserire il package manualmente"
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr "Impossibile determinare dove inserire il package: %s"
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Articolo (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Libro (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr "Libretto (@Booklet)"
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Conferenza (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr "Inbook (@Inbook)"
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr "Incollection (@Incollection)"
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr "Inproceedings (@Inproceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr "Manuale (@Manual)"
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "Mastersthesis (@Mastersthesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr "Misc (@Misc)"
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr "PhdThesis (@PhdThesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr "Proceedings (@Proceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr "Report tecnico (@Techreport)"
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "Unpublished (@Unpublished)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr "Annotazione"
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Autore"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr "Titolo libro"
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Capitolo"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr "Crossref"
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Edizione"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "E-print"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr "HowPublished"
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Istitutzione"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Giornale"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Chiave"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Mese"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Nota"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Numbero"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organizzazione"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Pagine"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Editore"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "Scuola"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Serie"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Titolo"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Volume"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Anno"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Indirizzo dell'editore"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr "Annotazione per stili bibliografici"
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "Nome/i dell'autore/i, separati da 'e' se più di uno"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "Titolo del libro, solo se una parte di esso viene citata"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Numero capitolo"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr "Chiave di citazione della voce cross-referenced"
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "Edizione del libro (come \"prima\" o \"seconda\")"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "Nome/i dell'editore/i, separati da 'e' se più di uno"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "Specifica di pubblicazione elettronica"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "Metodo di pubblicazione se il metodo non è standard"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "Istitutzione che è coinvolta nella pubblicazione"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "Giornale o rivista in cui il lavoro sarà pubblicata"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      "Campi nascosti usati per specificare o sovrascrivere l'ordine alfabetico "
      "delle voci"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr "Mese di pubblicazione o, se non pubblicato, di creazione"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Altre informazione extra"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "Numero del giornale, rivista o report tecnico"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "Sponsor della conferenza"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "Numeri di pagine separati da virgole o doppi trattini"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Nome dell'editore"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "Scuola dove la tesi è stata scritta."
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "Serie di libri in cui il libro fa parte"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Titolo del lavoro"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Tipo di report tecnico"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Indirizzo Internet"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Numero del volume"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "Anno di pubblicazione, o se non pubblicato, di creazione"
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr "Esegui wizard LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "Imposta il testo selezionato come corsivo"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "Imposta ilt esto selezionato come grassetto"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "Sottolinea il testo selezionato"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centrato"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "A sinistra"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "A destra"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "Utilizza lo script KOMA di default"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "Visualizza una extra-toolbar per il plugin"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr "Rendi maiuscola la prima lettera mentre scrivi"
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr "Aggiungi un'icona wizard al toolbar principale di Geany"
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      "Passare la selezione in minuscono quando è formattata in maiuscoletto "
      "(\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:310
      #, fuzzy
      msgid "Don't care about this inside plugin"
      msgstr "Non interessarti di questo per il plugin"
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Esegui sempre l'autocompletamento in LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr "Modo di autocompletamento"
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "Inserisci etichetta"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "Nome etichetta"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "Inserisci comando"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "Nome comando:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "Inserisci Riferimento"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "Nome Riferimento:"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "Riferimento _Standard"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "Riferimento _Pagina"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr "_Aggiungi entrambi"
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "More"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr "Aggiungi package aggiuntivo"
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "Nome package:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr "Opzioni package:"
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr "Inserisci riferimento BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr "Nome riferimento BibTeX:"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "Gentile Signore o Signora"
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr "Cordiali saluti"
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr "Nessun template assignato. Aborting"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "LaTeX-Wizard"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Template:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      "Imposta il template che dovrà essere usato per creare un nuovo documento"
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "Default"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr "Documentclass:"
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "Scegli il tipo di documento che vuoi scrivere"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Articolo"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Report"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Lettera"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Presentazione"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Codifica:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "Imposta la codifica per il tuo nuovo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr "Dimensione testo"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr "Imposta la dimensione del testo predefinita per i nuovi documenti"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Autore:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Imposta il valore del comando \\author. Nella maggior parte dei casi questo "
      "dovrebbe essere il tuo nome."
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Data:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "Imposta il valore del comando \\date dentro l'header del tuo nuovo documento "
      "LaTeX. Tieni presente che \\today può essere usato se non hai necessità di "
      "una data fissa."
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Titolo:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "Imposta il titolo del tuo nuovo documento."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "Dimensione pagina:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "Scegli il formato della pagina per il nuovo documento creato"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "Orientazione pagina:"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr "Scegli l'orientamento della pagina per il nuovo documento creato"
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr "Usa le classi di KOMA-script se possibile"
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "Usa le classi KOMA-script di Markus Kohm.\n"
      "Tieni presente: per compilare il tuo documento le classi devono essere "
      "installate precedentemente."
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "Usa modalità bozza"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "Imposta il flag bozza all'interno dei nuovi documenti per ottenere documenti "
      "con un alcuni aiuti per il debugging"
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "Esegui LaTeX-Wizard"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "Inserisci \\label"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "Inserisci \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "Inserisci fine riga \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "Inserisci comando"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr "Attiva/Disattiva sostituzione input"
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Sostituisci caratteri speciali"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr "Mostra la finestra di dialogo inserimento ambiente"
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "Inserisci \\item"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr "Imposta grassetto su selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr "Imposta corsivo su selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr "Imposta typewriter su selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "Centra la selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "Allinea a sinistra la selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr "Allinea a destra la selezione corrente"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr "Inserisci una lista di descrizione"
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr "Inserisci elenco puntato"
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr "Inserisci elenco numerato"
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr "Imposta selezione un livello sopra"
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr "Imposta selezione un livello sotto"
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr "Inserisci \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr "Inserisci riferimento BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX è un plugin per migliorare il supporto LaTeX in Geany.\n"
      "\n"
      "Riporta tutti gli eventuali bug o richieste di nuove funzionalità a uno "
      "degli autori."
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      "glatex_set_autocompletion_contextsize è stato inizializzato con un valore "
      "non valido. Saranno usati i valori di default, si prega di controllare il "
      "file di configurazione."
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr "pagina \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr "\\ref{{{reference}}}, pagina \\pageref{{{reference}}}"
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX-_Wizard"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Avvia un Wizard per creare facilemente documenti LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "I_nserisci Carattere Speciale"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "Aiuta non usare molto lettere e segni non comuni."
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "Inserisci _Riferimento"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr "Inserimento riferimenti al documento"
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "Inserisci _Etichetta"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "Aiuta a inserire etichette al documento"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "Inserisci _Ambiente"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr "Aiuta a inserire un ambiente al documento"
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "Inserisci _Package"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      "Un piccolo dialogo per inserire \\usepackage{} dentro l'header del file "
      "corrente"
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formato"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "_Dimensione Testo"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "_Sostituzione Carattere Speciale"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr "Amplia _Sostituzione Caratteri Speciali"
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "_Sostituisci i caratteri speciali con sostituti TeX"
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr "A_ttiva/Disattiva sostituzione caratteri speciali"
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "Inserisci _Comando"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr "Inserisci un comando personalizzato al documento"
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr "Inserisci riferimento B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr "Aiuta a inserire un riferimento fuori dai BibTeX file"
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr "voce _BibTeX"
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr "Lettere LaTeX"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Lettere greche"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Dieresi tedesche"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Misc"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Caratteri frecce"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Relazionale"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Operazione binaria"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Corsivo"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Grassetto"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Sottolineato"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Typewriter"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Maiuscoletto"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "Inclinato"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Enfasi"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "tiny"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr "scriptsize"
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "footnotesize"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "small"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "normalsize"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "large"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "Large"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "LARGE"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "huge"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "Huge"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "IBM 850 code page"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "IBM 852 code page"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "Non impostare alcuna codifica"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr "Crea un testo fittizio con Geany"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Lipsum-Generator"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "Inserisci la lunghezza del testo Lipsum qui"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr "Includi uno Pseudotext al tuo codice"
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "Inserisci testo Lipsum"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      " atteso tipo \"%s\" per l'argomento #%d\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      " atteso tipo \"%s\" or \"%s\" per l'argomento #%d\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      " tabella non valida nell'argomento #%d:\n"
      " atteso tipo \"%s\" per l'elemento #%d\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Lua Script"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Scrivi ed esegui gli script Lua per comandi personalizzati."
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Lua Script Plugin"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Errore script Lua:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Script timeout"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Lo script Lua sembra metterci un tempo eccessivo per completare.\n"
      "Vuoi continuare ad aspettare?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Timeout script raggiunto."
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(l'oggetto error non è una stringa)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Errore Sconosciuto all'interno dello script"
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Memoria esaurita."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "Impossibile aprire il file dello script."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Errore sconosciuto leggendo il file dello script."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "_Lua Scripts"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Costruendo menu da '%s'\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "Niente da configurare!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "Puoi creare lo script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "per aggiungere il tuo dialogo di configurazione personalizzato."
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Apri file"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Seleziona file"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Sfoglia..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Selezione colore"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Scegli..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Seleziona Font"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Seleziona..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione navigate():\n"
      "navigation mode sconosciuta \"%s\" per l'argomento #1.\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      "Comando API \"%s\" non implementato.\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      "parametri non sufficienti per il comando \"%s\".\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      "comando sconosciuto \"%s\" per l'argomento #1.\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      " tabella non valida nell'argomento #%d:\n"
      " flag \"%s\" sconosciuto per l'elemento #%d\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "Il file esiste"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Vuoi sovrascriverlo?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "conferma"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Salva file"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione pickfile():\n"
      "impossibile effettuare parse filter string all'argomento #3.\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      "attesa stringa \"open\" o \"save\" per l'argomento #1.\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: impossibile caricare la libreria di support %s!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: impossibile inizalizzare la libreria di supporto %s!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      "%s: versione della libreria di supporto errata: %s per %s (dovrebbe essere "
      "%s)!\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      "%s: versione ABI della libreria di supporto errata: %d per %s (dovrebbe "
      "essere %d)!\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: impossibile trovare la libreira %s!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "Impossibile caricare correttamente il plugin %s\n"
      "Controlla la tua installazione."
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s():\n"
      "il widget \"%s\" non è stato trovato per il argomento #1.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "Errore nel modulo \"%s\" alla funzione %s() argomento #2:\n"
      "il widget \"%s\" non ha un segnale chiamato \"%s\".\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Taglia negli appunti"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "Copia negli appunti"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Incolla dagli appunti"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Taglia la riga corrente negli appunti"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Copia la riga corrente negli appunti"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "Elimina il carattere a sinistra"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "Elimina il carattere a destra"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "Elimina il caratter a sinistra (ma non il fine riga)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "Elimina fino all'inizio della parola a sinistra"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "Elimina fino all'inizio della parola a destra"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "Elimina fino alla fine della parola a destra"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "Elimina fino a inizio riga"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "Elimina fino a fine riga"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Elimina la riga corrente"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr "Backwards Tab (Elimina il tab se non c'è niente dopo)"
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "Muovi la finestra di una riga giù"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "Muovi la finestra di una riga su"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr "Zoom finestra in"
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr "Zoom finestra out"
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "Sposta il cursore giù"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "Sposta il cursore su"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "Sposta il cursore a sinistra"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "Sposta il cursore a destra"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "Muovi il cursore all'inizio della parola a Sinistra"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "Muovi il cursore all'inizio della parola a Destra"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr "Muovi il cursore all'inizio della parte della parola a sinistra"
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr "Muovi il cursore all'inizio della parte della parola a destra"
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "Muovi il cursore a inizio riga"
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "Muovi il cursore a fine riga"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr "Muovi il cursore alla prima linea del documento"
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr "Muovi il cursore all'ultima linea del documento"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "Muovi il cursore una Pagina su"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "Muovi il cursore una Pagina giù"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr "Muovi il cursore al primo carattere visibile"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr "Muovi il cursore all'ultimo carattere visibile"
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      "Muovi il cursore al primo carattere della linea (non spazio) oppure al primo "
      "carattere della linea se già il primo carattere non è spazio"
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Muovi il cursore all'inizio del prossimo paragrafo"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr "Muoviil cursore all'inizio del corrente/precedente paragrafo"
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr "Muovi il cursore alla fine della parola a sinistra"
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr "Muovi il cursore alla fine della parola a destra"
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr "Estendi la selezione in giù di una riga"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "Estendi la selezione in su di una riga"
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "Estendi la selezione a sinistra di una riga"
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "Estendi la selezione a destra di una riga"
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Estendi la selezione all'inizio di una parola a sinistra"
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Estendi la selezione all'inizio di una parola a destra"
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Estendi la selezione all'inizio di una parte di una parola a sinistra"
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Estendi la selezione all'inizio di una parte di una parola a destra"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "Estendi la selezione all'inizio di una riga"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "Estendi la selezione alla fine di una riga"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr "Estendi la selezione all'inizio del documento"
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr "Estendi la selezione alla fine del documento"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "Estendi la selezione su di una pagina"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "Estendi la selezione giù di una pagina"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr "Estendi la selezione al primo carattere visibile"
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr "Estendi la selezione all'ultimo carattere visibile"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      "Estendi la selezione al primo carattere di una linea (non spazio) oppure al "
      "primo carattere della linea se già il primo carattere non è spazio"
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Estendi la selezione all'inizio del prossimo paragrafo"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr "Estendi la selezione all'inizio del corrente/precedente paragrafo"
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Estendi la selezione alla fine della parola a sinistra"
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Estendi la selezione alla fine della parola a destra"
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr "Estendi la selezione rettangolare in giù di una riga"
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr "Estendi la selezione rettangolare in su di una riga"
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Estendi la selezione rettangolare a sinistra di una riga"
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Estendi la selezione rettangolare a destra di una riga"
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Estendi la selezione rettangolare all'inizio riga"
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Estendi la selezione rettangolare alla  fine della riga"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Estendi la selezione rettangolare una pagina su"
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Estendi la selezione rettangolare una pagina giù"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      "Estendi la selezione rettangolare al primo carattere di una linea (non "
      "spazio) oppure al primo carattere della linea se già il primo carattere non "
      "è spazio"
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "Elimina selezione"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr "Attiva/Disattiva modalità sovrascrivi"
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Tab"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Fine riga"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr "Inserisci/Sostituisci con \"\""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr "Scambia la riga corrente con la precedente"
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Imposta il testo selezionato a minuscolo"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Imposta il testo selezionato a maiuscolo"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr "Inserisci un duplicato della riga corrente sotto"
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      "Inserisci duplicato del testo selezionato dopo la selezione. Se nulla è "
      "selezionato, duplica la riga"
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr "Cerca il prossimo \"\""
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr "Cerca il precedente \"\""
      
      #: ../geanymacro/src/geanymacro.c:152
      msgid "Set start of search to beginning of selection"
      msgstr "Imposta l'inizio della ricerca in cima alla selezione"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Macro"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr "Macro per Geany"
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr "Nessun testo negli appunti!"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      "Messaggio non riconosciuto\n"
      "%i %i %i"
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr "Salva le Macro quando chiudi Geany"
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr "Chiedi prima di sovrascrivere le Macro esistenti"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr "Aiuto Geany Macro"
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      "Questo Plugin implementa le Macro in Geany.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr "Questo plugin ti permette di registrare e usare macro personalizzate."
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      "Le macro sono sequenze di azioni che possono essere ripetute con una singola "
      "combinazione di tasti. "
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      "Se hai dozzine di righe di cui vuoi eliminare gli ultimi due caratteri, puoi "
      "semplicemente avviare la registrazione, premere End, Backspace, Backspace, "
      "scendere di una riga e poi fermare la registrazione. "
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      "Quindi semplicemente avvia la macro e automaticamente la riga corrente verrà "
      "modificata e si sposterà alla successiva. "
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      "Seleziona Registra Macro dal menu Strumenti e verrà aperta una finestra. "
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      "Specifica una combinazione di tasti non ancora usata e un nome per la macro "
      "per aiutarti a identificarla."
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr "Premi Registra."
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      "Quello che fai nell'editor viene registrato fino a che non premi Ferma "
      "Registrazione Macro dal menu Strumenti. "
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      "Semplicemente premi la combinazioni tasti specificata per rieseguire la "
      "macro. "
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      "Per modificare la macro devi selezionare Modifica Macro dal menu Strumenti"
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr "Puoi selezionare la macro e eliminarla o ri-registrarla."
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      "Puoi anche cliccare sul nome della macro o sulla combinazione tasti e "
      "cambiarli, prestando attenzione che le nuove impostazioni non siano già in "
      "uso"
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      "Selezionare l'opzione di modifica ti permette di visualizzare tutti gli "
      "elementi che compongono la macro. "
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      "Puoi selezionare un comando differente per ogni elemento, spostarlo, "
      "aggiungerne uno nuovo, eliminarlo o sostituirlo, puoi anche modificare il "
      "testo che sostituisce il testo selezionato o inserito.\n"
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      "L'unica cosa da tenere ben in mente è che i comandi 'annulla' e 'ripeti' "
      "quindi non sono registrati e non possono essere replicati quando la macro "
      "viene eseguita. \n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      "Puoi modificare il comportamento di questo plugin selezionando Plugin "
      "Manager nel menu Strumenti, selezionare il plugin, e cliccando Preferenze. "
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr "Puoi cambiare:\n"
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      "Salva le Macro quando Geany viene chiuso. Se è selezionato allora Geany "
      "salverà qualsiasi macro registrata e verranno ricaricate la prossima volta "
      "che aprirai Geany.\n"
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      "Chiedi prima di sovrascrivere Macro esistenti - Se è selezionato se provi a "
      "registrare una macro sopra una esistente, ti verrà chiesto se vuoi provare "
      "con un nome o combinazione di tasti diversa, altrimenti eliminerà "
      "semplicementequalsiasi macro già esistente con lo stesso nome o con la "
      "stessa combinazione di tasti."
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "Registra Macro"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Registra"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "Macro Trigger:"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "Nome Macro:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Nome Macro \"%s\"\n"
      " è già in uso.\n"
      "Sostituire?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Il trigger Macro \"%s\"\n"
      " è già in uso.\n"
      "Sostituire?"
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr "Ricerca %s per %s%s%s.%s%s%s%s%s"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Opzioni di ricerca:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_Ok"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr "_Annulla"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "Cerca successivo"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Cerca precedente"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "Cerca contenuto negli appunti"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr "Cerca per:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "La ricerca è case-sensitive"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Cerca per parola intera"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Cerca all'inizio della parola"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "Cerca regular-expression"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "Cerca testo POSIX-compatibile"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr "Modifica Inserimento/Rimpiazzo testo"
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Testo:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr "Inserisci/Sostituisci con \"%s\""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "Modifica: %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "Evento"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "Sposta _Su"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "Sposta _Giù"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr "Nuovo _Sopra"
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr "Nuovo So_tto"
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "_Elimina"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "Modifica Macro"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "Nome Macro"
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr "Tasto Trigger"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr "_Re-Registra"
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "Registra _Macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "Ferma Registrazione _Macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "_Modifica Macro"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "Questo plugin è uno strumento per applicare un filtro-script a:\n"
      "   o una selezione di testo,\n"
      "   o documento corrente,\n"
      "   o tutti i documenti della sessione corrente.\n"
      "\n"
      "Il fitlro può essere:\n"
      "   o uno script di shell Unix,\n"
      "   o script perl,\n"
      "   o script python,\n"
      "   o comandi sed,\n"
      "   o script awk.\n"
      "\n"
      "AUTORE\n"
      "   Scritto da Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENZA:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr "Carica file Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr "Salva file Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr "Filtro Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr "Pulisci la finestra Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr "Carica un Mini-Script in questa finestra"
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr "Salva il Mini-Script in un file"
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr "Visualizza informazioni sul plugin Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr "Seleziona il tipo di Mini-Script"
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr "filtro input"
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr "seleziona l'input del filtro mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "selezione"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "documento"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "sessione"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr "filtro output"
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr "seleziona l'output del filtro Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "Doc. corrente"
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr "Nuovo Doc."
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr "Configurazione script"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr "Mini Script"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      "Uno strumento per applicare uno script filtro a una selezione di testo o ai "
      "documenti correnti."
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, un utente di Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr "_Mini-Script"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr "Segnalibri numerati per Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, fuzzy, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr "Impossibile applicare tutti i marcatori a '%s' come tutti in uso."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr "_Okay"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      "'%s' è stato modificato dall'ultimo salvataggio di Geany. La posizione dei "
      "segnalibri potrebbe essere inaffidabile e non verranno quindi caricati.\n"
      "Premi Ignora per provare a caricarli ugualmente."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr "_Ignora"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr "Ricorda stato di espansione"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr "Centra la vista quando vai a un segnalibro"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to start of line"
      msgstr "Sposta a inizio riga"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr "Sposta nella posizione salvata della riga"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr "Sposta nella posizione corrente"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      msgid "Move to End of line"
      msgstr "Sposta a fine riga"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr "Salva le preferenze con le impostazioni del programma"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr "Salva il file delle preferenze con un suffisso"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr "Ricorda normali Segnalibri"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr "Aiuto segnalibri numerati"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      "Questo Plugin implementa i Segnalibri Numerati in Geany, lo stato delle "
      "espansioni e contrazioni del codice e le posizioni dei segnalibri standard "
      "non numerati questo il file viene salvato.\n"
      "\n"
      "Ti permette di usare fino a 10 segnalibri numerati. Per avere un sengalibro "
      "numerato premi Ctrl+Shift+ un numero da 0 a 9. Vedrai un simbolo comparire "
      "vicino al numero della riga. Se premi Ctrl+Shift+ un numero su una riga che "
      "ne ha già quel numero, quel segnalibro sarà rimosso, altrimenti si sposterà "
      "da un'altra riga (se esiste) oppure verrà creato. Solo l'ultimo segnalibro "
      "inserito su ogni riga verrà visualizzato, ma puoi avere più segnalibri per "
      "linea. Per muoverti a un segnalibro precedentemente impostato premi Ctrl+un "
      "numero da 0 a 9."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      #, fuzzy
      msgid "Unable to apply markers as all being used."
      msgstr "Impossibile applicare tutti i marcatori come tutti in uso"
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "Impossibile creare file temporaneo"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      "La chiave con user ID \"%s\" ha validità \"%s\".\n"
      "\n"
      "ATTENZIONE: Non è certo che appartiene alla persona indicata nello user "
      "ID. \n"
      "\n"
      "Sei *davvero* sicuro di voler usare questa chiave comunque?"
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      "Nessun destinatario selezionato,\n"
      "usare cifratura simmetrica?"
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr "Plugin per la crittografia gpg in Geany"
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr "Usando versione libgpgme:"
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr "Errore da"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "Crifra"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "Firma"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr "Decifra / Verifica"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr "Verifica firma separata"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Si prega di selezionare eventuali destinatari"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Firma il messaggio come:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Seleziona destinatari"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "Scegli una chiave per firmare:"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "Seleziona firmatario"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "Impossibile usare pinentry."
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "Output inaspettato da pinentry."
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr "Inserimento parola chiave"
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Parola chiave"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "Inserisci parola chiave per"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "pinentry ha resituito un errore"
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "Errore inaspettato da pinentry."
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      "Errore, l'input di parola chiave senza usare un gpg-agent non è ancora "
      "supportato su Windows"
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr "una chiave con fingerprint"
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "sconosciuto"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "non definito"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "mai"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "marginale"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "pieno"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr "finale"
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr "[valore validità errato]"
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr " valido"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr " verde"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr " rosso"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr " revocato"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr "chiave scaduta"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " firma scaduta"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " chiave mancante"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " crl mancante"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " crl troppo vecchio"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr " policy errata"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr " errore sistema"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Sconosciuto\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      "stato ....: %s\n"
      "riepilogo ...:%s\n"
      "fingerprint: %s\n"
      "creato ...: %sexpires ...: %svalidità ..: %s\n"
      "motivo val.: %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "altri flags:%s%s\n"
      "note .: %s\n"
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Nessuno]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Sconosciuto"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "n.d."
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "errato"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "okay"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr "RFU"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr " uso-chiave-errato"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr " chain-model"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "sì"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "no"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "Cerca una firma da"
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Firma"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "Impossibile trovare risultati della verifica"
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "Errore, impossibile trovare risultati della verifica"
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Apri un file firma"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "Supporto alternativo progetto."
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr "Cerca un testo in un progetto geanyprj"
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr "Visualizza barra laterale"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Preferenze progetto"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Nuovo progetto"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "C_rea"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Nome:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Posizione:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Scegli una posizione per il progetto"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Percorso base:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Directory base di tutti i file che compongono il progetto. Questo può essere "
      "un nuovo percorso o uno già esistente. Puoi usare anche percorsi relativi al "
      "file del progetto."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Scegli percorso base del progetto"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Genera lista file all'apertura"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Aggiunge automaticamente i file che corrispondono al tipo progetto "
      "all'apertura di quest'ultimo. Non puoi manualmente aggiungere/rimuovere file "
      "se selezioni questa opzione, perché le tue modifiche andranno perse alla "
      "prossima apertura del progetto."
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Tipo:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Il file del progetto \"%s\" esiste già"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Progetto"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Elimina Progetto"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Aggiungi file"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferenze"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Cerca nel progetto"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Rimuovi file"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Nascond_i barra laterale"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Progetto"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Progetto \"%s\" aperto."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr "Supporto plugins in Python"
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Impossibile 'pre-load' sulla libreria Python: %s."
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr "Impossibile importare modulo 'manager'"
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr "Impossibile ottenere PluginManager da modulo 'manager'"
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr "Impossibile trovare la directory di sistema per i plugin."
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr "Impossibile instanziare new PluginManager"
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr "Impossibile ottenere show_all() sul plugin manager"
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "Impossibile creare la Python plugins directory: %s: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr "Python Plugin Manager"
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Un picolo plugin per inviare il file corrente come allegato del programma di "
      "posta preferito"
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "Indirizzo destinatario"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "Inserisci l'email del destinatario:"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "Segnaposto nome file non trovato. Il comando eseguito potrebbe aver fallito."
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "Segnaposto indirizzo destinatario non trovato. Il comando eseguito potrebbe "
      "aver fallito."
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Impossibile eseguire il gestore mail. Controlla la tua configurazione. "
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "Devi definire un client mail prima."
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "Il file deve essere salvato prima di inviare."
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "Mail"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "Inviato via mail"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "Percorso e opzioni per il client mail:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Note: \n"
      "\t%f sarà sostituito dal nome del tuo file.\n"
      "\t%r sarà sostituito dall'indirizzo mail del destinatario.\n"
      "\t%b sarà sostituito dal percorso base del file\n"
      "\tEsempi:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Invio '%b'\" -a \"%f\" \"%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr "Visualizza icona nella toolbar"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Visualizza un'icona nella toolbar per inviare il file più semplicemente."
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr "Usa un dialogo per inserire gli indirizzi email dei destinatari"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "Invia file via mail"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "Documento _mail"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Invia un file aperto come allegato non compresso da qualsiasi programma dal "
      "tuo $PATH"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "Interfaccia per differenti sistemi di Controllo Versione (VCS)"
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: errore s_spawn_sync: %s"
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "File %s: azioni %s eseguiti da %s."
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated: Impossibile rinonimare '%s' in '%s'"
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "Nessuna modifica effettuata."
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr "Cronologia non disponibile"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Vuoi davvero ripristinare: %s?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Vuoi davvero aggiungere: %s?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Vuoi davvero rimuovere: %s?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "Vuoi davvero aggiornare: %s?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      "Le differenze risultanti non possono essere visualizzare perché i "
      "cambiamenti sono troppo grandi da mostrare e rallenterebbero eccessivamente "
      "l'interfaccia.\n"
      "\n"
      "Per vedere le differenze, chiudere questa finestra ed aprirle in Geany "
      "tramite in menu GeanyVC (Directory Base -> Diff)."
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "Commit S/N"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Stato"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Percorso"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Linea: %d Colonna: %d"
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "Commit"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "_De-/seleziona tutti i file"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "Messaggio commit:"
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr "C_ommit"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "Niente da committare."
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "Errore nell'inizializzazione del controllo ortografia: %s"
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "Imposta flag-modificato per i tabs documenti creati dal plugin"
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Se questa opzione è attivata, ogni nuovo documento creato da VC-plugin sarà "
      "impostato come modificato. Anche se questa opzione può essere utile in "
      "alcuni casi, potrebbe produrre un noioso grande numero di finestre \"Vuoi "
      "salvare il file?\""
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr "Conferma aggiunta nuovo file to VCS"
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Visualizza un dialogo di conferma per aggiungere un nuovo (creato) file al "
      "VCS."
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "Ingrandisci dialogo commit"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "Visualizza dialogo commit ingrandito."
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "Usa editor diff esterno"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "Usa editor diff esterno per differenze."
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "Visualizza voci VC nel menu editor"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Visualizza voci per le funzioni VC all'interno del menu editor"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr "Poni menu nella menubar"
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      "Imposta se il menu per questo plugin deve essere posizionato all'interno del "
      "menu strumenti o direttamente nella toolbar di Geany. La modifica sarà "
      "visibile dopo il riavvio di Geany."
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "Abilita CVS"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "Abilita GIT"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "Abilita SVN"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "Abilita SVK"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Abilita Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Abilita Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "Lingua controllo ortografia"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr "_VC file azioni"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "Crea un diff dal file attivo corrente"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "_Ripristina (revert)"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "Ripristina una versione originale del file (annulla modifiche locali)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr "_Responsabilità"
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr "Visualizza le modifiche fatte a un file per revisione e autore."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "_Cronologia (log)"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "Visualizza i log del file corrente"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "_Originale"
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr "Visualizza l'originale del file corrente"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "_Aggiungi a Controllo Versione"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Aggiungi file al repository."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "_Rimuovi da Controllo Versione"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Rimuovi file da repository."
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "_Directory"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "Crea una diff dalla directory del file attivo corrente"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      "Ripristina file originali nella cartella corrente (annulla modifiche locali)"
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "Visualizza log directory corrente"
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "_Base Directory"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr "Crea diff dalla directory VC primaria"
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "Annulla qualsiasi modifica locale."
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr "Visualizza log della directory VC primaria"
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr "VC _Commit"
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Visualizza diff del file"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Visualizza diff della directory"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "Visualizza diff della basedir"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "Commit cambiamenti"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Visualizza status"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "Ripristina singolo file"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "Ripristina directory"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "Ripristina directory base"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Aggiorna file"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "_VC"
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr "_Version Control"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "_Status"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Visualizza status."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Aggiorna dal repository remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "_Commit"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "Commit modifiche."
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr "Incolla il tuo codice da un pastebin preferito"
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "posizione non valida \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr "Rifiuta di creare appunti vuoti"
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "Impossibile importare modulo 'manager'"
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "Impossibile create directory di configurazione \"%s\": %s"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "Impossibile aprire il file dello script."
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      #, fuzzy
      msgid "unexpected response from the pastebin service."
      msgstr "Errore inaspettato da pinentry."
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr "Appunti caricato correttamente"
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Puoi trovare i tuoi appunti qui:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr "Non ci sono documenti aperti. Aprine uno e riprova.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr "Il campo del nome autore è vuoto!"
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr "Seleziona un pastbin:"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr "Inserisci nome autore:"
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr "Visualizza i tuoi appunti in un nuovo tab del browser"
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr "_Incollalo!"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "Rimuovi file"
      
      #: ../git-changebar/data/prefs.ui.h:6
      #, fuzzy
      msgid "Colors"
      msgstr "Colore sfondo:"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Impossibile caricare file di configurazione: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Impossibile create directory di configurazione \"%s\": %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Impossibile salvare file di configurazione: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Vai alla pagina precedente"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Vai alla pagina successiva"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "Impossibile caricare definizioni UI, si prega di controllare "
      "l'installazione. Messaggio di errore: %s"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Rimuovi file"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Rimuovi file"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operazione binaria"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operazione binaria"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Positione:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Barra laterale"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "Finestra messaggi"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Font:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "Font codice:"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "Colore sfondo:"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "Colore font:"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr "Seleziona file template"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr "Anteprima real-time Markdown"
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr "Anteprima Markdown"
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr "Il documento corrente non ha un tipo di file Markdown."
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Impossibile salvare file di configurazione: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "Impossibile caricare file di configurazione: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "message-window"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "sidebar"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "Apri terminale"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "Nuova _Finestra"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      #, fuzzy
      msgid "Next tab"
      msgstr "Stringa _Successiva"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "Stringa _Precedente"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Visualizza status"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Impossibile scrivere la configurazione di default: %s"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "Visualizza terminale"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Impossibile scrivere la configurazione di default: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, fuzzy, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "Impossibile creare la directory di configurazione '%s'"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "Terminale"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "Visualizza terminale"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Impossibile generare il commento: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "Visualizza terminale"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      #, fuzzy
      msgid "Zoom Level:"
      msgstr "Zoom finestra in"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "nome posizione"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "Visualizza suggerimen_ti"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "Opzioni"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      #, fuzzy
      msgid "Color:"
      msgstr "Colore sfondo:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      #, fuzzy
      msgid "Outline Color:"
      msgstr "Selezione colore"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr "Coppia tag Highlighter"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Cerca e evidenzia corrispondenza apertura/chiusura tag HTML"
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr "Aiuto _Traduzione"
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr "Stringa _Precedente"
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr "Vai alla stringa precedente"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr "Stringa _Successiva"
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr "Vai a stringa successiva"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr "Traduzione mancante p_rec."
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr "Vai alla traduzione mancante precedente"
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr "Traduzione mancante s_ucc."
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr "Vai alla traduzione mancante successiva"
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr "Fu_zzy precedente"
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr "Vai alla precedente stringa 'fuzzy'"
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr "_Fuzzy successiva"
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr "Vai alla successiva stringa 'fuzzy'"
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr "Non tradotta o Fuzz_y precedente"
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr "Vai alla precedente stringa non tradotta o 'fuzzy'"
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr "Non tradotta o Fuzz_y successiva"
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr "Vai alla successiva stringa non tradotta o 'fuzzy'"
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      msgid "Toggle current translation fuzziness"
      msgstr "Dis-/Attiva 'fuzzy' per la traduzione corrente"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr "Dis-/A_ttiva 'fuzzy'"
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr "Incolla _Messaggio come Traduzione"
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr "Incolla la stringa non tradotta originale come traduzione "
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr "Riordina la stringa di traduzione corrente"
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr "_Riordina traduzione"
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      #, fuzzy
      msgid "Show statistics of the current document"
      msgstr "Controlla l'ortografia del documento corrente."
      
      #: ../pohelper/data/menus.ui.h:25
      #, fuzzy
      msgid "_Show stats"
      msgstr "Visualizza status"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      "Aggiorna le intestazioni della traduzione (autore, revision, data, ...) "
      "quando il file viene salvato"
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr "Aggiorna _Intestazione quando salvi"
      
      #: ../pohelper/data/stats.ui.h:1
      #, fuzzy
      msgid "Translation statistics"
      msgstr "Translation Helper"
      
      #: ../pohelper/data/stats.ui.h:2
      #, fuzzy
      msgid "Choose a color for translated strings"
      msgstr "Vai alla traduzione mancante successiva"
      
      #: ../pohelper/data/stats.ui.h:3
      #, fuzzy
      msgid "Choose a color for fuzzily translated strings"
      msgstr "Vai alla successiva stringa 'fuzzy'"
      
      #: ../pohelper/data/stats.ui.h:4
      #, fuzzy
      msgid "Choose a color for untranslated strings"
      msgstr "Vai alla traduzione mancante successiva"
      
      #: ../pohelper/data/stats.ui.h:5
      #, fuzzy
      msgid "Translated:"
      msgstr "Traduzione mancante s_ucc."
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      #, fuzzy
      msgid "Untranslated:"
      msgstr "Traduzione mancante s_ucc."
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr "Translation Helper"
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr "Aggiunge supporto per la traduzione dei file GetText."
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr "Incolla stringa non tradotta originale alla traduzione"
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      "Impossibile trovare il widge t\"%s\" nella definizione delle UI, si prega di "
      "controllare l'installazione."
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr "XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr "Formatta XML e rendilo 'umanamente' leggibile"
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr "PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr "Esegui PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr "Impossibile effettuare parse del contenuto come XML"
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      "Impossible precessare PrettyPrinting sull'XML specificato perchè alcune "
      "funzioni non sono supportate.\n"
      "\n"
      "Vedi Aiuto > Messaggi di debug per dettagli..."
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Commenti"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr "Metti in una riga"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr "In riga se possibile"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Allineamneto"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr "Nodi di testo"
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "CDATA"
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr "Nodi vuoti"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr "Concatenazione (da  a )"
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr "Spaziatura (da  a )"
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr "Espansione (da  a )"
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Indentazione"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Spazio"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "Interruzione di riga"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferenze progetto"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Cerca nei file del progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr "Cerca nei file del progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Cerca file progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr "Cerca file progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Cerca file progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Cerca file progetto"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      #, fuzzy
      msgid "Open Selected File (Project Organizer)"
      msgstr "Open file selezionato (gproject)"
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr "Patterns sorgente:"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      "Lista separata da spazi dei patterns che saranno usati per identificare i "
      "file intestazione. Usato principalmente per scambiare intestazione/sorgente"
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr "Intestazione patterns:"
      
      #: ../projectorganizer/src/prjorg-project.c:593
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "Lista separata da spazi dei patterns che saranno usati per identificare i "
      "file intestazione. Usato principalmente per scambiare intestazione/sorgente"
      
      #: ../projectorganizer/src/prjorg-project.c:599
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Ignora patters directory:"
      
      #: ../projectorganizer/src/prjorg-project.c:605
      #, fuzzy
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      "Lista separata da spazi dei patterns che saranno usati per identificare le "
      "directory che non saranno scansione per file sorgenti."
      
      #: ../projectorganizer/src/prjorg-project.c:611
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Ignora patters directory:"
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      "Lista separata da spazi dei patterns che saranno usati per identificare le "
      "directory che non saranno scansione per file sorgenti."
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Cerca nei file del progetto"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      #, fuzzy
      msgid "Yes"
      msgstr "sì"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "N°"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      #, fuzzy
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      "Genera lista tag per tutti i file del progetto al posto dei soli file "
      "correttamente aperti. Troppo lento per grandi progetti (>1000 files) e "
      "dovrebbe essere disabilitato in questo caso."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr "Cerca file"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr "Cerca all'interno:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr "Cerca nel percorso completo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "Crea nuova directory"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Seleziona directory"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "Addons"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Cerca file"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr "Ricarica tutto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "Ripristina directory"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Espandi tutto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr "Segui l'editor attivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr "Espandi tutto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Cerca nei files"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "Cerca file"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Cerca file"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "Ripristina directory"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "Debu_g"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr "Programma di In_stallazione"
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "_Programmi recenti"
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr "_Esegui/Continua"
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr "Esegui al _Cursore"
      
      #: ../scope/data/scope.glade.h:6
      #, fuzzy
      msgid "Run to _Source"
      msgstr "Esegui alla _Sorgente"
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr "Entra (step _into)"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr "Scavalca (step _over)"
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr "Esci (step o_ut)"
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr "_Termina"
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr "Attiva/Disattiva _Breakpoint"
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr "Comando _GDB"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "_Altro"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr "_Visualizza terminale"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr "_Reimposta marcatori"
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr "_Pulisci files"
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr "_Feed"
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "_Finestra"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr "Mostra _Automaticamente"
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr "_Nascondi Automaticamente"
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr "Visualizza se _Errore"
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr "_Non ordinati"
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr "_Visualizza sorgente"
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr "S_incronizza"
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr "_Interrompi"
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr "Invia _segnale"
      
      #: ../scope/data/scope.glade.h:27
      #, fuzzy
      msgid "S_elect on"
      msgstr "S_elezionate da"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr "_Esecuzione"
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr "_Fermato"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr "_Terminato"
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr "_Segui"
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr "_Colonne"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr "Visuliazza _Gruppo"
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr "Visualizza _Core"
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr "Aggiungi _Break"
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr "Aggiunge _Vista"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr "Applica quando _Esegui"
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr "_Visualizza @entry"
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr "Visualizz_a Indirizzo"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr "_Modifica"
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr "_Vista"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr "_Ispeziona"
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr "Modalità _8-bit"
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "_Default"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr "_7 bit"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr "_Locale"
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr "Vi_sualizza .names"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr "L_eggi"
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr "Ra_ggruppa per"
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr "Sal_ta a"
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "_Applica"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr "_Espandi"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr "_Naturale"
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr "_Decimale"
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr "_Esadecimale"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr "_Ottale"
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "_Binario"
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr "_Raw"
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr "_Valuta/Modifica"
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr "Espressione _Watch"
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr "_Ispeziona variabile"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr "Threads"
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr "Stack"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr "Locals"
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr "Watches"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "Memoria"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr "Inserisci comando gdb:"
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr "Converti _UTF-8 a locale"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr "_Thread"
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr "_Gruppo"
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr "_Frame"
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr "Programma installazione"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr "_Eseguibile:"
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr "_Argomenti:"
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr "Am_biente"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr "Directory di la_voro:"
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr "Script _Caricamento:"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr "Auto _esegui programma/esci gdb"
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr "Modalità _non-stop"
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr "Breakpoint _temporaneo all'avvio a:"
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr "_Elimina tutti i breakpoint, viste, ispezioni e registri"
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr "Programma"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr "Apri su"
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr "carica g_db"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr "avvio p_rogramma"
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr "Aggiorna tutte le _viste"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr "Pannello"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr "Modalità testo default 8-bit:"
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr "_7-bit \\nnn"
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr "Display"
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr "_membro"
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr "e"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr "_argomento"
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr "_nomi"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr "Valori"
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr "E_spandi quando applichi"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr "_Visualizza"
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr "figlio"
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr "Inspeziona"
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr "Visualizza messaggi =li_brary"
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr "Visualizza suggerimen_ti"
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr "Altri"
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "_Importa"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr "Inserisci espressione di assegnamento:"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr "Ispeziona"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "Oggetto:"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr "Frame:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr "_Applica quando esegui"
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "Espandi"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr "Avvio:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr "Conteggio:"
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr "_Espandi quando applichi"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr "Terminale programma"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr "Registri"
      
      #: ../scope/src/break.c:97
      msgid "breakpoint"
      msgstr "breakpoint"
      
      #: ../scope/src/break.c:98
      msgid "hardware breakpoint"
      msgstr "hardware breakpoint"
      
      #: ../scope/src/break.c:99
      msgid "tracepoint"
      msgstr "tracepoint"
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr "tracepoint veloce"
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr "watchpoint scrittura"
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr "watchpoint accesso"
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr "watchpoint lettura"
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr "catchpoint"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr "CLI"
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr "MI non supportato"
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr "all'avvio"
      
      #: ../scope/src/break.c:142
      msgid "Run to Cursor"
      msgstr "Esegui al cursore"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      "Ci sono due o più breakpoint a %s:%d.\n"
      "\n"
      "Usare la lista breakpoint per rimuoverne uno."
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ", %s"
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr "func %s"
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr "Aggiungi Breakpoint"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr "Aggiungi Watchpoint"
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr "Terminale Feed"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr "Inserisci carattere # (0..255):"
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr "Ambito: %s"
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr "Nessun breakpoint. Sospeso."
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr "GDB si è chiudo inaspettatamente con status %d."
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr "Programma terminato."
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr "dati invalidi"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr "nessun figlio nel range"
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr "fuori dallo scope"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr "Nome variabile ispezione duplicato."
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr "Leggi memoria"
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr "Ambito: dimensione puntatore > %d, dati disabilitati."
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr "Modifica"
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr "Valuta/Modifica"
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr "Controlla espressione"
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr "Ispeziona variabile"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr "Errore GDB non definito."
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Seleziona Cartella"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Seleziona File"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr "Scope: %s: %s."
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr "Scope: creato file di configurazione."
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr "Caricate impostazioni debug per %s."
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr "Impossibile caricare file di impostazione debug per %s:%s."
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      "%s: %s.\n"
      "\n"
      "Continuare?"
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr "Eliminare tutti i breakpoint, viste, eccetera?"
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr "come _Nome=valore"
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr "come _Nome = valore"
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr "Scope Debugger"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr "Interfaccia relativamente semplice per GDB"
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr "Programma installazione"
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr "Esegui/Continua"
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr "Esegui alla sorgente"
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr "Terminale"
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr "Attiva/Disattiva breakpoint"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr "Comando GDB"
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr "Visualizza terminale"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "Occupato"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "Pronto"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr "Sospeso"
      
      #: ../scope/src/scope.c:226
      #, fuzzy
      msgid "Assem"
      msgstr "Assem"
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr "Carica"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr "Generazione richiesta. Terminare debug?"
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr "Breaks"
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "Console"
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr "Console di Debug"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr "Thread gruppo %s avviato."
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr "Gruppo thread "
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr " uscito"
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr " con codice %s"
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr "Invia segnale"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr "Inserisci segnale #:"
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr "Termina processo"
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr "Inserisci codice uscita:"
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "Esecuzione"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "Fermo"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr "%s:%s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr "Scope: errore lettura [%s]."
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "…"
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "_Invia"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "_Occupato"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr "Comando GDB"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "Prova: "
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "Controllo"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Controllo file \"%s\" (linee %d a %d usando %s):"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Checking file \"%s\" (usando %s):"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "Il testo selezionato è scritto correttamente."
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "La libreria Enchant non può essere inizializzata (%s)."
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "errore sconosciuto (forse la lingua scelto non è disponible)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "Controllo ortografia"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Controlla l'ortografia del documento corrente."
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "Esegui controllo ortografia"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "Attiva/Disattiva controllo mentre scrivi"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Seleziona directory"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Visualizza un'icona nella toolbar per il controllo ortografico"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      "Visualizza elemento nel menu a tendina dell'editor per visualizzare "
      "suggerimenti"
      
      #: ../spellcheck/src/scplugin.c:294
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Visualizza un 'Apri URI' nel menù dell'editor"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Stampa parole errate e suggerimento nella finestra messaggi"
      
      #: ../spellcheck/src/scplugin.c:319
      #, fuzzy
      msgid "Interface"
      msgstr "Inspeziona"
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Controllo ortografico mentre scrivi"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Controllo ortografico mentre scrivi"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "Lingua da usare per il controllo ortografia:"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "_Directory in cui cercare i file del dizionario:"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Visualizza file del dizionario addizione da questa cartella. Per ora questo "
      "funziona solo per i dizionari myspell"
      
      #: ../spellcheck/src/scplugin.c:386
      #, fuzzy
      msgid "Behavior"
      msgstr "Altri"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "Controllo ortografia mentre scrivi è ora attivo"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "Controllo ortografia mentre scrivi è ora disattivato"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Altro..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(Nessun suggerimento)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Aggiungi \"%s\" al dizionario"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Ignora tutti"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "Il termine di ricerca è troppo lungo per\n"
      "fornire suggerimenti nel menu editor."
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Esegui contrllo ortografia"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Default (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      "Attiva/Disattiva controllo ortografico mentre scrivi (lingua corrente: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Suggerimento ortografici"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "Sposta Colonna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "Sposta una selezione a sinistra e destra"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "Sposta a sinistra"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "Sposta a destra"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Convertitore tabella"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Qualcosa è andato storto analizzando la selezione. Fallito."
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr "Converti selezione in tabella"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "_Converti in tabella"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "Converti la lista corrente contrassegnata in una tabella."
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      #, fuzzy
      msgid "_More TableConvert"
      msgstr "Convertitore tabella"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr "TreeBrowser"
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      "Questo plugin aggiunge a Geany un browser ad albero, permettendo all'utente "
      "di sfogliare i file usando una vista ad albero delle directory."
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: directory non trovata."
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(Vuoto)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Impossibile eseguire il comando esterno configurato '%s' (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "Nuova Directory"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "Nuovo File"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "File di destinazione '%s' esiste\n"
      ", vuoi davvero sostituirlo con un file vuoto?"
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Vuoi davvero eliminare '%s' ?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Vai su"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Imposta percorso dal documento"
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr "_Apri esternamente"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Apri terminale"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Imposta come radice"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Aggiorna"
      
      #: ../treebrowser/src/treebrowser.c:1234
      msgid "_Find in Files"
      msgstr "Cerca nei _File"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Crea nuova directory"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Crea un nuovo file"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Rinonima"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Elimina"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Chiudi: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr "Chiudi documenti figlio "
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr "_Copia percorso completo negli appunti"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Collassa tutto"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Visualizza segnalibri"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Visualizza file nascosti"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr "Visualizza le toolbar"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "Il file obiettivo '%s' esiste, vuoi davvero sostituirlo?"
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Home"
      
      #: ../treebrowser/src/treebrowser.c:1759
      #, fuzzy
      msgid "Track path"
      msgstr "Traccia percorso"
      
      #: ../treebrowser/src/treebrowser.c:1764
      #, fuzzy
      msgid "Hide bars"
      msgstr "Nascondi barre"
      
      #: ../treebrowser/src/treebrowser.c:1774
      #, fuzzy
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      "Filtro (*.c;*.h;*.cpp) e se vuoi un filtro temporaneo usando '!' inverti, "
      "per esemprio '!;*.c;*.h;*.cpp'"
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra indirizzo per esempio '/progetti/mio-progetto'"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr "Tree Browser"
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Apri comando esterno"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "Il comando da eseguire quando usi \"Apri con\". Puoi usare %f e %d. \n"
      "%f sarà sostituito dal nome del file includo il percorso completo\n"
      "%d sarà sostituito dal percorso del file selezionato senza il nome del file"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "Barra degli strumenti"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "Nascosto"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "Sopra"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "Sotto"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr "Se la posizione è cambiata, l'opzione richiedi il riavvio del plugin."
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr "Visualizza icone"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "Nessuno"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr "Base"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr "Content-type"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      "In Windows, questa nasconde tutti i file che sono preceduti da '.' (punto)"
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Nascondi i file oggetto"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Non visualizzare i file oggetto generati nel file browser, questo include *."
      "o *.obj, *.so, *.dll, *.a, *.lib"
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "Inverti filtro"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "Segui il documento corrente"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr "Click singolo, apri il documento e dagli il focus"
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Doppio click per aprire la cartella"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "Quando un file viene eliminato, chiudilo se aperto"
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr "Porta il focus sull'editor quando un file viene aperto"
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "Visualizza linee dell'albero"
      
      #: ../treebrowser/src/treebrowser.c:2053
      msgid "Open new files"
      msgstr "Apri nuovi file"
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "Focus lista file"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr "Focus inserimento percorso"
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr "Rinonima oggetto"
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr "Crea nuovo file"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr "Crea nuova cartella"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr "Updatechecker"
      
      #: ../updatechecker/src/updatechecker.c:42
      #, fuzzy
      msgid "Checks whether there are updates for Geany available"
      msgstr "Un plugin che controlla se ci sono update disponibili per Geany."
      
      #: ../updatechecker/src/updatechecker.c:195
      #, fuzzy, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "C'è una versione più recente disponibile."
      
      #: ../updatechecker/src/updatechecker.c:203
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "C'è una versione più recente disponibile."
      
      #: ../updatechecker/src/updatechecker.c:218
      #, fuzzy, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      "Impossibile ottenre alcune informazioni sulla versione.\n"
      "Codice errore: %d \n"
      "Messaggio errore: »%s«"
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr "Esegui updatecheck all'avvio"
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr "Controlla aggiornamenti"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "message-window"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "sidebar"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr "separate-window"
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "none"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr "on-connexion"
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "normal"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "utility"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "Imposta il focus sulla lista dei Segnalibri"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Zoom"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr "Zoom _contenuto intero"
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr "Inverti orientazione riquadri"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Indietro"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "Avanti"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "Annulla caricamento"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Ricarica pagina corrente"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr "Web inspector"
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr "Attiva/Disattiva web inspector"
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr "Web helper"
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      "Visualizza un'anteprima della pagina web che si aggiorna quando il documento "
      "viene salvato, genera analisi web e strumenti per il debugging (cioè Web "
      "Inspector), usando WebKit."
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr "Vista web"
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr "Anteprima web"
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr "Ricarica al salvataggio del documento"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr "Auto aggiornamento del browser"
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      "Se il browser deve ricaricarsi da solo quando il documento viene salvato"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr "Ultimo URI del browser"
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr "L'ultimo URI visitato dal browser"
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Visualizza segnalibri"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr "Orientazione browser"
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr "Orientazione del widget browser"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr "Posizione del browser"
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Posizione del widget browser nella UI di Geany"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr "Geometria finestra browser separata"
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr "Ultima geometria della finestra separa del browser"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr "Geometria finestra Inspector"
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr "Ultima geometria della finestra separa del Inspector"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr "Inspector separato"
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr "Se l'Inspector dovrà essere in una finestra separata o nel browser"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr "Finestre secondarie non nella taskbar"
      
      #: ../webhelper/src/gwh-plugin.c:368
      #, fuzzy
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      "Se il gestore delle finestre non deve mostrare le finestre secondarie nella "
      "barra delle applicazioni"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr "Finestre secondarie transitorie"
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr "Se le finestre secondarie sono figlie transitorie del loro padre"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr "Tipo finestre secondarie"
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr "Il tipo delle finestre secondarie"
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr "Attiva/Disattiva Web Inspector"
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr "Visualizza/Nascondi la finestra Vista Web"
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr "Browser"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr "Finestre"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr "Frammenti XML"
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Autocompleta i tag XML/HTML usando i frammenti."
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "Plugin per fornire un supporto migliore di LaTeX"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "Errore mentre la lingua del controllo ortografia veniva impostata. Si "
      #~ "prega di controllare la configurazione. Messaggio di errore: %s"
      
      #~ msgid ""
      #~ "Unable to paste the code on codepad.org\n"
      #~ "Retry or select another pastebin."
      #~ msgstr ""
      #~ "Impossibile incolla il codice su codepad.org\n"
      #~ "Riprova o seleziona un altro pastebin."
      
      #~ msgid ""
      #~ "Unable to paste the code. Check your connection and retry.\n"
      #~ "Error code: %d\n"
      #~ msgstr ""
      #~ "Impossibile caricare il codice. Controlla la tua connessione e riprova.\n"
      #~ "Codice errore: %d\n"
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Cerca file progetto"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "Cerca file progetto"
      
      #, fuzzy
      #~ msgid "Generate tags for all project files:"
      #~ msgstr "Genera tags per tutti i file del progetto"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "Un piccolo plugin per convertire liste in tabelle"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Questo plugin aggiunge funzionalità per semplificare la navigazione tra\n"
      #~ "file sorgenti. Per il momento sono implementate:\n"
      #~ "- scambia un file .cpp con il suo corrispondente .h\n"
      #~ "- [apri file digitando il suo nome -> TODO]"
      
      #~ msgid "Goto file"
      #~ msgstr "Vai al file"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Dal plugin %s)"
      
      #~ msgid "GProject"
      #~ msgstr "GProject"
      
      #~ msgid "Glob-pattern-based project management plugin for Geany."
      #~ msgstr "Plugin per la gestione del progetto Glob-pattern-based in Geany."
      
      #~ msgid "Swap Intestazione/Sorgente"
      #~ msgstr "Scambia Intestazione/Sorgente"
      
      #~ msgid "Swap intestazione/sorgente"
      #~ msgstr "Scambia intestazione/sorgente"
      
      #~ msgid ""
      #~ "Space separated list of patterns that are used to identify source files."
      #~ msgstr ""
      #~ "Lista separata da spazi dei patterns che saranno usati per identificare i "
      #~ "file sorgenti."
      
      #~ msgid ""
      #~ "Note: set the patterns of files belonging to the project under the "
      #~ "Project tab."
      #~ msgstr ""
      #~ "Nota: impostare i patterns dei file che appartengono al progetto sotto il "
      #~ "tab Progetto"
      
      #~ msgid "No update available"
      #~ msgstr "Nessun aggiornamento disponibile"
      geany-plugins-1.27/po/ru.po0000644000175000017500000102504012671261352016126 0ustar00frlanfrlan00000000000000# Russian translation for geany-plugins
      # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Andrew Janke , 2009
      # John Wehin , 2009
      # Pavel Roschin , 2014-2015
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2016-03-10 19:52+0300\n"
      "Last-Translator: Pavel Roschin \n"
      "Language-Team: Russian \n"
      "Language: ru\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
      "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Пустая строка)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "Удалить закладку"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "Стр."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Содержание"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Закладки"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "_Обновить"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Скрыть окно сообщений"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Файл"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Строка"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Тип"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Задача"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Задачи"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Контекст:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "Вставка XML тегов"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Имя тега для вставки:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "%s будет заменено на текущее выделение. Пожалуйста обратите внимание на то, "
      "что выделено"
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Открыть URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Копировать URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr "Завершение символов"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr "Принять"
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Отмена"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "Пара символов %d"
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "Открывающий символ"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "Закрывающий символ"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Закрыть _другие документы"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "З_акрыть все"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Показать список документов"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Путь \"%s\" скопирован в буфер обмена."
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Скопировать путь до текущего документа в буфера обмена"
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Дополнения"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Различные небольшие дополнения для Geany"
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "Перейти к списку закладок"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "Перейти к списку задач"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "Обновить список задач"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr "Вставить XML теги по границам выделенного текста"
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "Каталог настроек плагина не может быть создан."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr "Кнопка со списком открытых документов на панели инструментов"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr "Сортировать документы по имени файла"
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr "Сортировать документы в списке по имени файла"
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr "Сортировать документы по расположению вкладок"
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Сортировать документы в порядке расположения вкладок"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Сортировать документы по расположению вкладок (обратный порядок)"
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      "Сортировать документы в порядке расположения вкладок (обратный порядок)"
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Отображать команду 'Открыть URI' в меню редактора"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "Показывать вкладку со списком задач в окне сообщений"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "Показывать задачи для всех документов"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Показывать в списке задачи для всех открытых документов или только для "
      "текущего документа"
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "Укажите разделенный точками с запятой список маркеров поиска"
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr "Маркеры поиска:"
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "Показывать иконку в области уведомлений"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Показывать список закладок в боковой панели"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "Подсвечивать все вхождения слова в документе по двойному клику"
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr "Удалять пустые строки в конце файла при сохранении"
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr "Вставка XML тегов по границам выделенного текста"
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr "Окружать выделение по горячей клавише"
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr "Пары окружения..."
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr "Окружать выделение автоматически (без горячих клавиш)"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr "Автозакрытие"
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr "Многофункциональное автозакрытие скобок и кавычек"
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr "Автозакрытие скобок и кавычек"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr "Круглые скобки ( )"
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr "Автозакрытие круглых скобок \"(\" -> \"(|)\""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr "Фигурные скобки { }"
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr "Автозакрытие фигурных скобок \"{\" -> \"{|}\""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr "Квадратные скобки [ ]"
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Автозакрытие квадратных скобок \"[\" -> \"[|]\""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr "Угловые скобки < >"
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr "Автозакрытие угловых скобок \"<\" -> \"<|>\""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr "\tТолько для HTML"
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr "Автозакрытие угловых скобок только в HTML документах"
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr "Двойные кавычки \" \""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr "Автозакрытие двойных кавычек \" -> \"|\""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr "Одинарные кавычки ' '"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr "Автозакрытие одинарных кавычек ' -> '|'"
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr "Обратная кавычка ` `"
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr "Автозакрытие обратной кавычки ` -> `|`"
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr "\tТолько для языка сценариев Bash"
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr "Автозакрытие обратной кавычки только в документах Bash"
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr "Улучшить автозакрытие фигурных скобок"
      
      #: ../autoclose/src/autoclose.c:1058
      msgid "Indent when enclosing"
      msgstr "Создавать отступ при окружении"
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      "Если вы выделите текст и нажмёте одну из клавиш \"{\" или \"}\", модуль "
      "автоматически окружит выбранные строки кода и создаст новый блок с "
      "отступом.\n"
      "Вам не нужно точно выделять границы блоки - окружение работает только со "
      "строками целиком."
      
      #: ../autoclose/src/autoclose.c:1064
      msgid "Move cursor to beginning"
      msgstr "Переместить курсор к началу"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      "Если выбран параметр \"Создавать отступ при окружении\", перемещение курсора "
      "в начало блока может быть полезным: обычно вы создаёте новый блок и "
      "печатаете оператор перед этим блоком."
      
      #: ../autoclose/src/autoclose.c:1068
      msgid "Improved auto-indentation"
      msgstr "Улучшить автоотступ"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      "Улучшенный автоматический отступ для фигурных скобок: наберите \"{\" и "
      "нажмите Enter - модуль создаст полностью готовый блок с отступом. Работает "
      "без параметра \"автозакрытие фигурных скобок { }\"."
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr "\tСтиль Уайтсмит"
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      "Данный стиль располагает фигурные скобки с отступом относительно предыдущего "
      "оператора. Операторы внутри блока имеют тот же отступ, что и фигурная скобка."
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr "Удалить парный символ при удалении предыдущего клавишей BackSpace"
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      "Включите, если хотите, чтобы модуль удалял соседний парный символ каждый "
      "раз, когда вы нажимете BackSpace."
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr "Подавлять двойное автозакрытие"
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      "Включите, если хотите, чтобы модуль автоматически исправлял ошибки в "
      "скобках: если вы печатаете \"{}\", вы получите \"{}\", а не \"{}}\"."
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Enclose selections"
      msgstr "Окружать выделенный текст"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      "Автоматически окружать выбранный текст путём нажатия только одной клавиши со "
      "скобкой."
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep selection when enclosing"
      msgstr "Сохранять выделение при окружении"
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr "Сохранить предыдущее выделение текст после окружения скобками."
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr "Поведение внутри комментариев и строк"
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr "Разрешить автозакрытие внутри комментариев и строк"
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      "Включите, если вы хотите, чтобы автозакрытие также работало внутри "
      "комментариев и строк."
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr "Окружать выделение внутри комментариев и строк"
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      "Включите, если вы хотите, чтобы окружение выделенного блока текст также "
      "работало внутри комментариев и строк."
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr "Автозавершение \";\" для функций"
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      "Полное автозакрытие для функций (работает только для C/C++): напечатайте "
      "\"sin(\" и вы получите \"sin(|);\"."
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr "Shift+BackSpace удаляет парную скобку"
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      "Удалять левую и правую скобку при нажатии Shift+BackSpace, как бы далеко они "
      "не находились.\n"
      "Подсказка: чтобы удалить полностью блок с отступом, просто нажмите Shift"
      "+BackSpace рядом с первым символом \"{\" или последним символом \"}\"."
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr "Нажмите Tab для перехода к следующему символу"
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr "Переходить к парному автоматически вставленному символу клавишей Tab."
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr "Авто-маркер"
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr "Подсвечивает текущее слово под курсором"
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Навигация по коду"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr "Позволяет выполнять навигацию между исходными файлами"
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      "Списки заголовочных файлов/реализации должны иметь одинаковую длину. Geany "
      "будет использовать стандартные настройки."
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Переключить заголовок/реализацию"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr "Вы можете указать несколько расширения, разделяя их запятыми."
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr "Расширения файлов реализации"
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr "Расширения заголовочных файлов"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      msgid "Reset to Default"
      msgstr "Сбросить по умолчанию"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      "Вы уверены, что хотите удалить все языки и восстановить значения по "
      "умолчанию?\n"
      "Данное действие невозможно отменить."
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr "Перейти к файлу..."
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr "Перейти к файлу"
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr "Введите файл, который хотите открыть:"
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "%s не найден, создать?"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr "Командир"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr "Командная панель быстрого доступа к действиям, файлам и другое"
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr "Показать командную панель"
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr "Отладчик"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr "Поддержка отладчиков"
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Отладка"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "Имя"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "Значение"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr "Выберите файл"
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr "Цель:"
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr "Обзор"
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr "Отладчик"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr "Аргументы командной строки"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr "Переменные окружения"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr "Удалить переменную?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Расположение"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Условие"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "Пропусков"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "строка %i"
      
      #: ../debugger/src/dbm_gdb.c:523
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Программа получила сигнал %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Программа завершилась с кодом \"%i\""
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr "Ошибка запуска GDB"
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Загрузка файла.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr "Ошибка загрузки файла"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr "Ошибка установки параметров GDB"
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "Точка останова %s:%i не может быть установлена\n"
      "Сообщение отладчика: %s"
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "Не могу найти исходный файл \"%s\""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr "Активный фрейм"
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr "Щёлкните по стрелке, чтобы переключить фрейм"
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr "Поток %i"
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Адрес"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Функция"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "Цель"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Точки останова"
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr "Наблюдение"
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr "Автоматические переменные"
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr "Трассировка"
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr "Терминал"
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr "Отладочные сообщения"
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr "Запустить / Продолжить"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "Останов"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "Перезапустить"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr "Шаг в"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr "Шаг через"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr "Шаг из"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr "Выполнить до позиции курсора"
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr "Добавить / Удалить точку останова"
      
      #: ../debugger/src/keys.c:57
      msgid "Jump to the current instruction"
      msgstr "Перейти к текущей инструкции"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "Не могу вычислить выражение"
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr "Остановите отладку чтобы редактировать файлы"
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "Запустить"
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "Настройки"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr "Одна / две панели"
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "Продолжить"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "Сохранять данные отладки в проект"
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr "Форматирование макросов"
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr "Автоматически выравнивает обратный слеш в макросах"
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Документация"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "Код"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr "Найти документацию по тегу в"
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Devhelp"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Страницы руководства"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Перейти на одну страницу назад"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Перейти на одну страницу вперёд"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Увеличить"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Уменьшить"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Поиск"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Искать документацию по '%s' в "
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr "Документация разработчика"
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      "Поиск и просмотр во встроенном окне документации из систем DevHelp, \"man\" "
      "и Google Code Search"
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Невозможно создать каталог для хранения настроек в '%s'"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Невозможно загрузить конфигурацию по умолчанию: %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr " Невозможно сохранить конфигурацию по умолчанию: %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr "Переключиться на вкладку содержания в боковой панели"
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr "Переключиться на вкладку поиска в боковой панели"
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr "Переключиться на вкладку документации"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr "Активировать все вкладки документации"
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr "Поиск текущего тега в Devhelp"
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr "Поиск текущего тега в страницах руководства"
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr "Devhelp — помощник"
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Книга:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Книга"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Страница"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Ключевое слово"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr "Структура"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "Макрос"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr "Перечисление"
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr "Ожидается: '%s', присутствует '%s' в строке %d, позиция %d"
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr "Некорректное адресное пространство '%s' в строке %d, позиция %d"
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr "элементы \"title\", \"name\" и \"link\" нужны в строке %d, позиция %d"
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      "элементы \"name\" и \"link\" нужны внутри  в строке %d, позиция %d"
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr "элементы \"name\" и \"link\" нужны внутри '%s' в строке %d, позиция %d"
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr "элемент \"type\" нужен внутри  в строке %d, позиция %d"
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr "Невозможно распаковать книгу '%s': %s"
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr "Все книги"
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr "Искать в:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr "translator_credits"
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr "Просмотр документации для разработчиков"
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_Файл"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "_Правка"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "_Вид"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "_Перейти"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "_Справка"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "Новое окно"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "Новая вкладка"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "Печать…"
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Найти следующее"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Найти предыдущее"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "Перейти к предыдущей странице"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Перейти к следующей странице"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "Вкладка содержания"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "Вкладка поиска"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "Увеличить текст"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Увеличить размер текста"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "Уменьшить текст"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Уменьшить размер текста"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "Нормальный размер"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Использовать нормальный размер текста"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Покинуть полноэкранный режим"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "На полный экран"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Увеличить"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Уменьшить"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "О Devhelp"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Настройки…"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "Ошибка при открытии указанной ссылки."
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "Пустая страница"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Найти:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Найти предыдущее вхождение строки"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Найти следующее вхождение строки"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "С учётом регистра"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr "Переключить поиск с учётом регистра"
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Генератор ctags и поиск тегов в проектах Geany"
      
      #: ../geanyctags/src/geanyctags.c:149
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (в каталоге: %s)"
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr "Не удалось выполнить команду (%s)"
      
      #: ../geanyctags/src/geanyctags.c:517
      msgid "Find Tag"
      msgstr "Найти тег"
      
      #: ../geanyctags/src/geanyctags.c:528
      msgid "_Search for:"
      msgstr "И_скать:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr "Тип _поиска:"
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr "точный"
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "prefix"
      msgstr "префикс"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      msgid "pattern"
      msgstr "по шаблону"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "С _учётом регистра"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      msgid "_Declaration"
      msgstr "_Объявление"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Найти объявление тега (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Найти определение тега (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      msgid "Generate tags"
      msgstr "Сгенерировать теги"
      
      #: ../geanyctags/src/geanyctags.c:653
      msgid "Find tag..."
      msgstr "Найти тег..."
      
      #: ../geanyctags/src/geanyctags.c:658
      msgid "Find tag"
      msgstr "Найти тег"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Документация"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Показ документации на слово под курсором"
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "Невозможно проанализировать вывод команды"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Вывести в буфер"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Команда 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Команда 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w будет заменено на слово под курсором\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr "Документация на слово под курсором"
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr "Интерактивная документация"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Расширенное выделение"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr "Режим выделения по столбцам, выделение до строки / скобки / анкера"
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "_Расширенное выделение"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr "Режим выделения по _столбцам"
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr "Режим выделения по столбцам"
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr "Выделить до строки"
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr "Выделить до строки"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr "Выделить до парной скобки"
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr "Выделить до парной скобки"
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr "Переключить _обычное/прямоугольное"
      
      #: ../geanyextrasel/src/extrasel.c:532
      msgid "Convert selection"
      msgstr "Конвертировать выделение"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr "_Установить анкер"
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr "Установить анкер"
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr "_Выделить до анкера"
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr "Выделить до анкера"
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr "_Прямоугольное выделение до анкера"
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr "Прямоугольное выделение до анкера"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "булева величина"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "недействительная булева величина \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "недействительный шаблон: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "имя позиции"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "недействительная позиция: \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "имя правила"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "недействительное правило \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "правило слияния"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr "недействительное правило слияния \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "тип"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "недействительный тип \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "недействительное имя установки \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr "идентификатор установки"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Неизвестный тип \"%s\", это действительно имя типа?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr "идентификатор совпадения"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr "идентификатор совпадения пустой"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "идентификатор типа документации"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "тип документации"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "Недействительное регулярное выражение: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "Недействительно описание окружения: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr "установка"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "имя секции"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "дублирующая секция \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "Недействительное имя секции \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "вход пустой"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "Предупреждение парсера: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "Ошибка парсера: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Недействительный тег"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr "Конфигурация для файлов языка \"%s\" не найдена: %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr "Невозможно получить типа файла \"%s\" из файла \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "Генератор документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr "Генерирует документацию из исходного кода"
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Невозможно загрузить конфигурацию: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Невозможно сохранить конфигурацию: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr "Конфигурация для типа файла \"%s\" не найдена: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      "# Конфигурация для данного типа файла ещё не существует.\n"
      "# Для её создания, запишите её в этот файл и сохраните его.\n"
      "# Для описания синтаксиса данного файла пожалуйста обратитесь к "
      "документации.\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Невозможно загрузить файл \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr "Вставить комментарий для документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr "Документировать текущий символ"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr "Генерировать документацию по текущему символу."
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr "Документировать все символы"
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Генерировать документацию по всем символам текущего документа"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "Перезагрузить конфигурационные файлы"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "Принудительно перезагрузить конфигурационные файлы"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "Редактировать конфигурацию для текущего языка "
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr "Открыть конфигурацию текущего языка для редактирования"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Открыть руководство"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Открыть руководство в браузере"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "Генерация документации"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "Общие"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "Сохранять файлы перед генерацией документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Должны ли файлы сохраняться перед началом генерации документации. Это "
      "технический момент, но он нужен для поддержания списка тегов актуальным. "
      "Если вы выключите эту опцию и запустите генерацию по изменённому документу, "
      "поведение может быть непредсказуемым, т.к. комментарии будут генерироваться "
      "по последней сохранённой версии."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr "Делать отступы в документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Должна ли вставляемая документация быть выделена сдвигом в позиции вставки."
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Тип документации"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "Выберите тип документации для каждого типа файлов. Специальный пункт \"Все\" "
      "вверху списка используется для выбора типа документации по умолчанию, "
      "используемой для языков для которых тип документации не был задан."
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr "Глобальное окружение"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "Переопределения и дополнения к глобальному окружению. Будет добавлено к "
      "окружению, специфичному для типа файла."
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "Файл \"%s\" существует, но не является обычным файлом"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: нет такого файла или каталога"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "Невозможно изменить размер выходного потока"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      "Список аргументы не соответствует регулярному выражению (список аргументов "
      "был: \"%s\")"
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "Невозможно добавить глобальное окружение, пропускается: %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "Невозможно построить комментарии: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "Тип документации \"%s\" не существует для языка \"%s\"."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      "Не существует настроек, применимых к символу \"%s\" типа \"%s\" в строке %lu."
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "Строка %d не содержит корректного тега"
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr "В документе отсутствуют теги"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Неизвестная опция"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      "Недействительная установка или модуль: свойство модуля или установка "
      "несовместимы."
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "Неизвестный тип для записи в файле конфигурации %s::%s"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr "Невозможно получить запись из файла конфигурации %s::%s: %s"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Язык"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr "Изменить ассоциированный тип документа"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr "Удалить ассоциацию для типа документа"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Все"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr "Тип конфигурации по умолчанию для языков для которых тип не задан"
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "Вставка чисел"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "Заполняет выделенные столбцы числами"
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Подчёт..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Подготовка..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Вставка..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "Для основания 11 и выше"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "Старт:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "Шаг:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "Основание:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Регистр букв:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "Верхний"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "Нижний"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "Префикс"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      "0 для восьмеричных, 0x для шестнадцатеричных, + для положительных десятичных "
      "чисел"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Отступ:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Пробел"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "Ничего"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "Вставить числа"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Окружение"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Форматирование"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Структура документа"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Списки"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Математика"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Вставить окружение"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Окружение:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "Не удалось определить, куда вставить пакет: %s\n"
      "Попробуйте вставить пакет вручную"
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr "Не удалось определить, куда вставить пакет: %s"
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Статья (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Книга (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr "Буклет (@Booklet)"
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Конференция (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr "В книге (@Inbook)"
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr "В сборнике (@Incollection)"
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr "В документе конференции (@Inproceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr "Руководство (@Manual)"
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "Диссертация магистра (@Mastersthesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr "Другое (@Misc)"
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr "Диссертация кандидата (@PhdThesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr "Документ конференции (@Proceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr "Технический отчёт (@Techreport)"
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "Неизданное (@Unpublished)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr "Аннотация"
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Автор"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr "Название книги"
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Глава"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr "Ссылка"
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Издание"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Редактор"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "Электронная версия"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr "Способ публикации"
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Институт"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Журнал"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Ключ"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Месяц"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Заметка"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Номер"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Организация"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Страницы"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Издатель"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "Институт (место защиты)"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Серия"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Название"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "Электронный адрес"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Том"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Год"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Адрес издательства"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr "Аннотация для стилей с аннотацией"
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "Имена авторов, разделенные 'and' (если больше одного)"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "Название книги, если цитируется только её часть"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Номер главы"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr "Ключ цитируемой записи"
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "Издание книги (например, \"первое\" или \"второе\")"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "Имена редакторов, разделенные 'and' (если больше одного)"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "Спецификация электронного издания"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "Способ публикации, если нестандартный"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "Институт, вовлечённый в публикацию, необязательно издатель"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "Название журнала, содержащего статью"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr "Скрытое ключевое поле, задающее порядок сортировки"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr "Месяц публикации (если не опубликовано - создания)"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Любая дополнительная информация"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "Номер журнала или отчёта"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "Спонсор конференции"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "Номера страниц, разделённые запятыми или двойными дефисами"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Наименование издательства"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "Институт, в котором защищалась диссертация"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "Серия, в которой вышла книга"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Название работы"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Тип отчёта"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Электронный www-адрес в сети"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Номер тома"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "Год публикации (если не опубликовано - создания)"
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr "Расширяет поддержку LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr "Запустить мастер LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "Пометить выделенный текст курсивом"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "Пометить выделенный текст полужирным"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "Пометить выделенный текст подчёркиванием"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Выравнивание по центру"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Выравнивание по левому краю"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Выравнивание по правому краю"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "Использовать KOMA script по умолчанию"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "Показать дополнительную панель инструментов"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr "Начинать предложение с заглавной буквы по время набора"
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr "Добавить иконку мастера на главную панель Geany"
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr "Выделение в нижний регистр для капители (\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr "Не изменять"
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Всегда выполнять автодополнение в LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr "Способ автодополнения"
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "Вставить метку"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "Название метки:"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "Вставить команду"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "Название команды:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "Вставить ссылку"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "Имя ссылки:"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "_Обычная ссылка"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "Ссылка на _страницу"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr "_И то и другое"
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "Дополнительно"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr "Добавить пакет"
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "Имя пакета:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr "Параметры пакета:"
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr "Вставить ссылку BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr "Имя ссылки BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "Уважаемый(ая)"
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr "С наилучшими пожеланиями"
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr "Не задан шаблон. Операция прервана"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "Мастер LaTeX"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Шаблон:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      "Установить шаблон, который будет использоваться для создания нового документа"
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "По умолчанию"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr "Класс документа:"
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "Выберите тип документа, который хотите создать"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Статья"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Отчёт"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Письмо"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Презентация"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Кодировка:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "Установить кодировку для нового документа"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr "Размер шрифта"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr "Установить размер шрифта по умолчанию для нового документа"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Автор:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Устанавливает значение для команды \\author. В большинстве случаев здесь "
      "должно быть ваше имя"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Дата:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "Устанавливает значение для команды \\date внутри заголовка нового LaTeX-"
      "документа. Оставьте \\today, если вам не нужна конкретная дата."
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Название документа:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "Задаёт название для нового документа."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "Размер страницы:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "Выберите размер страницы для нового документа"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "Ориентация страницы"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr "Выберите ориентацию страницы для нового документа"
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr "Использовать KOMA-script классы, если возможно"
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "Использовать KOMA-script классы от Markus Kohm.\n"
      "Примечание: для успешной компиляции этот класс нужно сначала установить."
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "Использовать режим черновика"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "Установите флаг черновика внутри нового документа, чтобы включить "
      "вспомогательные отладочные сообщения."
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "Запустить мастер LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "Вставить \\label"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "Вставить \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "Вставить разрыв строки \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "Вставить команду"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr "Переключить автозамену ввода"
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Заменять спецсимволы"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr "Запустить диалог вставки окружения"
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "Вставить \\item"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr "Форматировать выделение жирным шрифтом"
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr "Форматировать выделение курсивным шрифтом"
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr "Форматировать выделение машинописным шрифтом"
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "Выровнять выделение по центру"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "Выровнять выделение по левому краю"
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr "Выровнять выделение по правому краю"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr "Вставить список с описанием (description)"
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr "Вставить маркированный список (itemize)"
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr "Вставить нумерованный список (enumerate)"
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr "Выделение на уровень выше"
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr "Выделение на уровень ниже"
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr "Вставить \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr "Диалог вставки ссылки BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX - дополнение улучшенной поддержки LaTeX в Geany.\n"
      "\n"
      "Сообщения об ошибках и предложения отправляйте одному из авторов."
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      "glatex_set_autocompletion_contextsize инициализирован с некорректным "
      "значением. Используется стандартное значение. Проверьте ваши файлы "
      "конфигурации"
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr "страница \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr "\\ref{{{reference}}}, страница \\pageref{{{reference}}}"
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "Мастер LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Запуск мастера для простого создания документов LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "_Вставить специальный символ"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "Доступ к некоторым не распространённым символам и знаками"
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "Вставить _ссылку"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr "Вставка ссылок в документ"
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "Вставить _метку"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "Вставляет метки в документ"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "Вставить _окружение"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr "Вставляет окружение в документ"
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "Вставить _пакет"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr "Небольшой диалог для вставки \\usepackage{} в заголовок текущего файла"
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Форматирование"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "_Размер шрифта"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "_Экранирование специальных символов"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr "_Экранировать специальные символы"
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "Экранировать специальные символы TeX в выделении"
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr "_Переключить экранирование символов"
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "Вставить _команду"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr "Вставляет пользовательскую команду в документ"
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr "Вставить ссылку B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr "Вставка ссылок из библиотеки BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr "Записи _BibTeX"
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr "Символы LaTeX"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Греческие символы"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Немецкие умлауты"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Другое"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Стрелки"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Отношения"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Бинарные операции"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Курсив"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Полужирный"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Подчёркнутый"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Машинописный"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Капитель"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "Наклонный"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Выделение (emphasis)"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "крохотный"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr "миниатюрный"
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "мелкий"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "маленький"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "нормальный"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "большой"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "великий"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "огромный"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "громадный"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "гигантский"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "Кодировка IBM 850"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "Кодировка IBM 852"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "Не устанавливать никакой кодировки"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr "Создаёт текст-рыбу"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Lipsum-генератор"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "Введите длину текста"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr "Вставить псевдотекст в ваш код"
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "Вставить текст Lipsum"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      " ожидается тип \"%s\" для аргумента #%d\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      " ожидается тип \"%s\" или \"%s\" для аргумента #%d\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      " некорректная таблица в аргумента #%d:\n"
      " ожидается тип \"%s\" для элемента #%d\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Сценарий Lua"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Пишите и запускайте сценарии на Lua как пользовательские команды"
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Модуль сценариев Lua"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Ошибка в сценарии Lua:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Время ожидания сценария"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Похоже, что сценарий Lua выполняется слишком долго.\n"
      "Хотите продолжить выполнение сценария?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Время ожидания сценария истекло."
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(объект ошибка не является строкой)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Неизвестная ошибка в сценарии."
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Недостаточно памяти."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "Не удалось открыть файл со сценарием."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Неизвестная ошибка при загрузке файла со сценарием."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "Сценарии _Lua"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Создание меню из '%s'\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "Настройки не обнаружены!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "Вы можете создать сценарий:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "чтобы создать собственный диалог настройки."
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Открыть файл"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Выбрать файл"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Обзор..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Выбрать цвет"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Выбрать..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Выбрать шрифт"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Выбрать..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции navigate():\n"
      "неизвестный режим навигации \"%s\" в аргументе #1.\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      "Команда API \"%s\" не реализована.\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      "недостаточно аргументов для команды \"%s\".\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      "неизвестная команда \"%s\" в аргументе #1.\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      " некорректная таблица в аргументе #%d:\n"
      " неизвестный флаг \"%s\" для элемента #%d\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr "<слишком велик для отображения>"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "Файл существует"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Вы действительно хотите перезаписать его?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "подтвердить"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Сохранить файл"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции pickfile():\n"
      "не удалось разобрать строку-фильтр в аргументе #3.\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      "ожидается строка \"open\" или \"save\" для аргумента #1.\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: Не удалось загрузить вспомогательную библиотеку %s!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: Не удалось инициализировать вспомогательную библиотеку %s!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      "%s: Не соответствует версия вспомогательной библиотеки: %s для %s (должна "
      "быть %s)!\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      "%s: Не соответствует ABI вспомогательной библиотеки: %d для %s (должно быть "
      "%d)!\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: Не удалось обнаружить вспомогательную библиотеку %s!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "Не удалось загрузить модуль %s.\n"
      "Проверьте правильность установки."
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s():\n"
      "виджет \"%s\" не найден для аргумента #1.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "Ошибка в модуле \"%s\" в функции %s() аргумент #2:\n"
      "в виджете \"%s\" нет сигнала с названием \"%s\".\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Вырезать в буфер обмена"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "Скопировать в буфер обмена"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Вставить из буфера обмена"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Вырезать текущую строку в буфер обмена"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Скопировать текущую строку в буфер обмена"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "Удалить символ слева"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "Удалить символ справа"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "Удалить символ слева (но не новую строку)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "Удалить до начала слова слева"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "Удалить до начала слова справа"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "Удалить до конца слова справа"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "Удалить до начала строки"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "Удалить до конца строки"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Удалить текущую строку"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr "Отмена отступа (удаляет отступ если после него ничего нет)"
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "Прокрутить экран вниз на одну строку"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "Прокрутить экран вверх на одну строку"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr "Увеличить масштаб"
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr "Уменьшить масштаб"
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "Переместить курсор вниз"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "Переместить курсор вверх"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "Переместить курсор влево"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "Переместить курсор вправо"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "Переместить курсор к началу слова слева"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "Переместить курсор к началу слова справа"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr "Переместить курсор к началу части слова слева"
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr "Переместить курсор к началу части слова справа"
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "Переместить курсор к началу строки"
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "Переместить курсор к концу строки"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr "Переместить курсор к первой строке документа"
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr "Переместить курсор к последней строке документа"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "Переместить курсор на одну страницу вверх"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "Переместить курсор на одну страницу вниз"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr "Переместить курсор к первому видимому символу"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr "Переместить курсор к последнему видимому символу"
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      "Переместить курсор к первому непробельному символу строки или к началу "
      "строки, если курсор уже находится возле первого непробельного символа"
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Переместить курсор к началу следующего абзаца"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr "Переместить курсор к началу текущего/предыдущего абзаца"
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr "Переместить курсор к концу слова слева"
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr "Переместить курсор к концу слова справа"
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr "Расширить выделение вниз на одну строку"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "Расширить выделение вверх на одну строку"
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "Расширить выделение влево"
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "Расширить выделение вправо"
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Расширить выделение до начала слова слева"
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Расширить выделение до начала слова справа"
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Расширить выделение до начала части слова слева"
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Расширить выделение до начала части слова справа"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "Расширить выделение до начала строки"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "Расширить выделение до конца строки"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr "Расширить выделение до начала документа"
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr "Расширить выделение до конца документа"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "Расширить выделение на одну страницу вверх"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "Расширить выделение на одну страницу вниз"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr "Расширить выделение до первого видимого символа"
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr "Расширить выделение до последнего видимого символа"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      "Расширить выделение до первого непробельного символа строки или до начала "
      "строки, если выделение уже находится возле первого непробельного символа"
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Расширить выделение до начала следующего абзаца"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr "Расширить выделение до начала текущего/следующего абзаца"
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Расширить выделение до конца слова слева"
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Расширить выделение до конца слова справа"
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr "Расширить прямоугольное выделение на одну строку вниз"
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr "Расширить прямоугольное выделение на одну строку вверх"
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Расширить прямоугольное выделение влево"
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Расширить прямоугольное выделение вправо"
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Расширить прямоугольное выделение до начала строки"
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Расширить прямоугольное выделение до конца строки"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Расширить прямоугольное выделение на одну страницу вверх"
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Расширить прямоугольное выделение на одну страницу вниз"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      "Расширить прямоугольное выделение до первого непробельного символа строки "
      "или до начала строки, если выделение уже находится возле первого "
      "непробельного символа"
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "Сбросить выделение"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr "Переключить режим вставки/замены"
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Табуляция"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Новая строка"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr "Вставить/заменить на \"\""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr "Поменять текущую строку и строку сверху местами"
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Конвертировать выделенный текст в нижний регистр"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Конвертировать выделенный текст в верхний регистр"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr "Вставить дубликат строки сверху"
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      "Вставить дубликат выделенного текста после выделения. Если выделение пусто, "
      "дублировать строку"
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr "Искать следующие \"\""
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr "Искать предыдущие \"\""
      
      #: ../geanymacro/src/geanymacro.c:152
      msgid "Set start of search to beginning of selection"
      msgstr "Установить начало поиска в начало выделения"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Макросы"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr "Макросы для Geany"
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr "Буфер обмена пуст!"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      "Действие не поддерживается\n"
      "%i %i %i"
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr "Сохранять макрос при выходе из Geany"
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr "Спрашивать перед перезаписью существующего макроса"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr "Справка по макросам для Geany"
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      "Модуль, добавляющий поддержку макросов в Geany.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr "Позволяет записывать и использовать свои макросы"
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      "Макрос - это последовательность действий, которая может быть повторена по "
      "нажатию горячей клавиши. "
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      "Например, если у вас множество строк, в которых вы хотите удалить два "
      "последних символа, вы можете просто начать запись, нажать End, Backspace, "
      "Backspace, перейти на строку вниз и остановить запись. "
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      "Затем просто активируйте макрос и он автоматически отредактирует строку и "
      "перейдёт к следующей. "
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      "Выберите Запись макроса в меню Инструменты и откроется диалоговое окно. "
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      "Установите неиспользуемое сочетание клавиш и название макроса, чтобы легко "
      "идентифицировать его. "
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr "Затем нажмите Запись. "
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      "Всё, что вы делаете в редакторе, записывается до тех пор пока не будет "
      "выбран пункт Остановить запись из меню Инструменты. "
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr "Простое нажатие указанного сочетания клавиш запустит макрос. "
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      "Для того чтобы отредактировать макрос, выберите Редактировать макрос в меню "
      "Инструменты. "
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr "Вы можете выбрать макрос и удалить его или перезаписать его. "
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      "Вы также можете щёлкнуть по имени макроса и изменить его или по комбинации "
      "клавиш и изменить её при условии, что она не используется. "
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      "Щёлкните по кнопке Редактировать, чтобы увидеть составные элементы макроса. "
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      "Вы можете выбрать другую команду для каждого элемента, переместить её, "
      "добавить новый элемента, удалить элемент или, если это вставка/замена, вы "
      "можете редактировать текст, который будут вставлен или заменён.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      "Единственное что нужно учитывать, что действия отмены и возврата не "
      "записываются и не будут воспроизводиться при запуске макроса.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      "Вы можете изменить стандартное поведение модуля, выделив модуль в Менеджере "
      "модулей в меню Инструменты и щёлкнув по кнопке Настройки. "
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr "Вы можете изменить:\n"
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      "Сохранить макрос при закрытии Geany - если выбрано, Geany будет сохранять "
      "записанные макросы и загружать их в следующий раз, когда вы откроете Geany. "
      "Если не выбрано, макросы будут утеряны после закрытия Geany\n"
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      "Спрашивать при замене существующего макроса - если выбрано и вы попытаетесь "
      "записать макрос поверх существующего, будет предложено либо перезаписать его "
      "либо выбрать другое имя или сочетание клавиш для макроса, в противном случае "
      "существующий макрос с таким же именем или сочетанием клавиш будет удалён."
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "Запись макроса"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Запись"
      
      # read/write/both
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "Комбинация клавиш:"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "Имя макроса:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Макрос с именем \"%s\"\n"
      " существует.\n"
      "Заменить?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Комбинация клавиш \"%s\"\n"
      " существует.\n"
      "Заменить?"
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr "Поиск %s, ищем %s%s%s.%s%s%s%s%s"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Параметры поиска:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_ОК"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr "_Отмена"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "Поиск вперёд"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Поиск назад"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "Поиск по содержимому буфера обмена"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr "Искать:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "Искать с учётом регистра"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Искать слово целиком"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Искать с начала слова"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "Строка поиска является регулярным выражением"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "Поиск текста совместимый с POSIX"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr "Редактировать текст вставки/замены"
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Текст:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr "Вставить заменить \"%s\""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "Редактировать: %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "Событие"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "Переместить _вверх"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "Переместить в_низ"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr "_Добавить выше"
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr "Д_обавить ниже"
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "_Удалить"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "Редактировать макрос"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "Имя макроса"
      
      # read/write/both
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr "Комбинация клавиш"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr "Перезаписать"
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "Запись макроса"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "Остановить запись макроса"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "Редактировать макрос"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      "Модуль фильтрующих мини-сценариев Geany (GMS)\n"
      "Данный модуль предназначен для фильтрации мини-скриптами:\n"
      "   o выделенного текста,\n"
      "   o всего текущего документа,\n"
      "   o всех документов в текущем сеансе.\n"
      "\n"
      "Фильтры могут быть следующих видов:\n"
      "   o сценарий Unix Shell,\n"
      "   o сценарий perl,\n"
      "   o сценарий python,\n"
      "   o команда sed,\n"
      "   o сценарий awk.\n"
      "\n"
      "АВТОР\n"
      "   Разработал Pascal BURLOT (Декабрь 2008)\n"
      "\n"
      "ЛИЦЕНЗИЯ:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr "Загрузить файл мини-сценария"
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr "Сохранить файл мини-сценария"
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr "Фильтрующий мини-сценарий"
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr "Очистить окно мини-сценария"
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr "Загрузить мини-сценарий в текущее окно"
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr "Сохранить мини-сценарий в файл"
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr "Отобразить дополнительную информацию о модуле мини-сценариев"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr "выберите тип мини-сценария"
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr "входные данные фильтра"
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr "выберите тип входных данных для фильтрующего мини-сценария"
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "выделение"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "документ"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "сеанс"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr "вывод фильтра"
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr "выберите тип выходных данных для фильтрующего мини-сценария"
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "Текущий документ"
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr "Новый документ"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr "настройки сценария"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr "Мини сценарии"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr "Применяет сценарии-фильтры к текущему выделению или документу(ам)"
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, пользователь Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr "Мини-сценарий"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr "Нумерованные закладки для Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr "Невозможно применить все маркеры к '%s' так как они все используются."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr "_OK"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      "'%s' был отредактирован с момента последнего сохранения в Geany. Положения "
      "могут не соответствовать действительности и не будут загружены.\n"
      "Нажмите Игнорировать, чтобы попробовать загрузить маркеры в любом случае."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr "_Игнорировать"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr "Запоминать состояние свернутых блоков кода"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr "Центрировать вид при переходе к закладке"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to start of line"
      msgstr "Переходить в начало строки"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr "Переходить к сохранённой позиции в строке"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr "Перемещение в текущей строке"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      msgid "Move to End of line"
      msgstr "Переходить в конец строки"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr "Сохранять настройки файла вместе с настройками программы"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr "Сохранять настройки файла с суффиксом"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr "Запоминать стандартные закладки"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr "Помощь по нумерованным закладкам"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      "Данный модуль добавляет в Geany нумерованные закладки, а также возможность "
      "сохранять состояние свернутых блоков кода и позиции стандартных "
      "ненумерованных закладок при сохранении файла.\n"
      "\n"
      "Он позволяет использовать до 10 нумерованных закладок. Чтобы установить "
      "нумерованную закладку, нажмите сочетание клавиш Ctrl+Shift+число от 0 до 9. "
      "Вы увидите маркер рядом с номером строки. Если нажать сочетание Ctrl+Shift"
      "+число на строке, в которой уже есть закладка с таким номером, закладка "
      "удаляется, в противном случае закладка перемещается, если она уже была "
      "назначена на другой строке или создаётся, если она ещё не была установлена. "
      "Возле номера строки отображается только последняя закладка, но можно "
      "устанавливать более одной закладки на одну строку. Чтобы перейти к ранее "
      "установленной закладке, нажмите сочетание клавиш Ctrl+число от 0 до 9."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr "Невозможно применить маркеры так как они все уже используются."
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "не удалось создать временный файл"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      "Ключ с ID пользователя \"%s\" имеет достоверность \"%s\".\n"
      "\n"
      "ВНИМАНИЕ: Невозможно гарантировать, что этот ключ принадлежит пользователю "
      "таким ID.\n"
      "\n"
      "Вы *действительно* уверены, что хотите использовать этот ключ в любом случае?"
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      "Не выбран ни один из получателей,\n"
      "использовать симметричное шифрование?"
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr "Модуль шифрования gpg для Geany"
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr "Используется libgpgme версии:"
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr "Ошибка из"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "Зашифровать"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "Подписать"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr "Расшифровать / проверить"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr "Проверить подпись"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Выберите получателей"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Подписать сообщение как:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Выбрать получателей"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "Выберите ключ для подписи:"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "Выберите подписывающегося"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "Не удалось использовать pinentry."
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "Неожиданный вывод из pinentry."
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr "Пароль"
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Пароль"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "Введите пароль для"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "pinentry вернул ошибку"
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "Неожиданная ошибка от pinentry."
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      "Ошибка, ввод пароля без использования gpg-agent не поддерживается в Windows."
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr "ключ с отпечатком"
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "неизвестно"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "неопределено"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "никогда"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "ограниченно"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "полное"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr "абсолютно"
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr "[плохое значение достоверности]"
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr " действительный"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr " зелёный"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr " красный"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr " отозван"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " ключ прострочен"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " подпись просрочена"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " ключ отсутствует"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " CRL отсутствует"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " CRL слишком старый"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr " плохая политика"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr " системная ошибка"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Неизвестно\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      "статус ....: %s\n"
      "резюме ....:%s\n"
      "отпечаток .: %s\n"
      "создан ....: %sистекает ..: %sдостоверн. : %s\n"
      "причина ...: %s\n"
      "ключ алг. .: %s\n"
      "хэш-функ. .: %s\n"
      "pka адрес .: %s\n"
      "pka довер. : %s\n"
      "др. флаги .:%s%s\n"
      "прим. .....: %s\n"
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Нет]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Неизвестно"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "н/д"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "плохой"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "хороший"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr "RFU"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr " некорректное использование ключа"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr " модель цепочки"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "да"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "нет"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "Обнаружена подпись от"
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Подпись"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "Не удалось обнаружить результаты проверки"
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "Ошибка, не удалось найти результаты проверки"
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Открыть файл с подписью"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "Альтернативная реализация поддержки проектов"
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr "Найти текст в проекте geanyprj"
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr "Показать боковую панель"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Настройки проекта"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Новый проект"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "Создать"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Имя:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Расположение:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Выберите расположение проекта:"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Базовый путь:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Базовый каталог для всех входящих в проект файлов. Это может быть новый или "
      "существующий каталог. Вы можете использовать пути, относительные к пути до "
      "файла проекта."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Выберите базовый путь проекта"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Генерировать список файлов при загрузке"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Автоматически добавлять файлы, соответствующие типу проекта при загрузке "
      "проекта. Вы не сможете вручную добавлять/удалять файлы, если вы выберите эту "
      "опцию, поскольку ваши изменения будут потеряны при следующей загрузке проекта"
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Тип:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Файл проекта \"%s\" уже существует"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Проект"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Удалить проект"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Добавить файл"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Настройки"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Найти в проекте"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Удалить файл"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Скрыть боковую панель"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Проект"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Проект \"%s\" открыт."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr "Поддержка модулей на Python"
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Невозможно загрузить библиотеку Python: %s."
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr "Не удалось импортировать управляющий модуль"
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr "Не удалось получить PluginManager из управляющего модуля"
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr "Системный каталог с модулями не найден."
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr "Невозможно создать экземпляр PluginManager"
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr "Невозможно получить метод show_all() в менеджере модулей"
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "Невозможно создать каталог модулей Python: %s: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr "Менеджер модулей Python"
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "Отправка почты"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr "Отправить текущий файл как вложение к письму"
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "Адрес получателя"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "Введите электронный адрес получателя"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "Шаблон имени файла не найден. Выполняемая команда могла завершиться неудачно"
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "Шаблон адреса получателя не найден. Выполняемая команда могла завершиться "
      "неудачно"
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Невозможно запустить почтовую программу. Пожалуйста проверьте настройки."
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "Пожалуйста, выберите почтовую программу"
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "Файл должен быт сохранён перед отправкой"
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "Почта"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "Отправить по почте"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "Путь и опции почтового клиента:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Замечание: \n"
      "\t%f будет заменено на полный путь к файлу.\n"
      "\t%r будет заменено на адрес получателя.\n"
      "\t%b будет заменено на имя файла\n"
      "\tПримеры:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Отсылаем '%b'\" -a \"%f\" \"%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr "Показывать иконку в панели инструментов"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Показывать иконку в панели инструментов для упрощения процесса отправки"
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr "Использовать диалог для ввода электронного адреса получателя"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "Отправить файл по электронной почте"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "Отправить файл"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Отсылает текущий открытый файл как не архивированное вложение с помощью "
      "любого почтового клиента, который может быть найден в переменной окружения "
      "$PATH"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "Контроль версий"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "Интерфейс к системам контроля версий"
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: ошибка s_spawn_sync: %s"
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "Файл %s: действие %s выполняется через %s."
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated: Невозможно переименовать '%s' в '%s'"
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "Изменения не были применены."
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr "История не доступна"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Вы действительно хотите отменить изменения: %s?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Вы действительно хотите добавить в репозиторий: %s?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Вы действительно хотите удалиь из репозитория: %s?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "Вы действительно хотите обновить из репозитория: %s?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      "Полученный список различий не может быть отображен так как изменений слишком "
      "много и это может значительно замедлить интерфейс.\n"
      "\n"
      "Чтобы увидеть различия закройте это диалоговое окно и откройте список "
      "различий в Geany непосредственно используя меню GeanyVC (Базовый каталог -> "
      "Разница)."
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "Фиксировать изменения Да/Нет"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Статус"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Путь"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Строка: %d позиция: %d"
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "Фиксировать"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "Все файлы"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "Комментарий к изменениям:"
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr "Ф_иксировать изменения"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "Отсутствуют локальные изменения."
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      "Ошибка инициализации системы проверки правописания: %s. Проверьте настройки "
      "системы."
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "Устанавливать флаг \"изменённый\" для вкладок созданных плагином"
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Если эта опция включена, каждый документ созданный плагином будет помечен "
      "как модифицированный. Несмотря на то, что данная опция в некоторых случаях "
      "полезна, она может вызвать большое количество диалогов сохранения файла."
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr "Подтверждать добавление файлов в репозиторий"
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Показывать диалог подтверждения при добавлении новых файлов в репозиторий"
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "Разворачивать диалог фиксации изменений"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "Максимизировать диалог фиксации изменений "
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "Использовать внешнюю программу просмотра разницы"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "Использовать внешнюю программу просмотра разницы для файла"
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "Показывать пункты системы контроля версий в меню редактора"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Показывать пункты меню системы контроля версий в меню редактора"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr "Разместить меню на главной панели"
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      "Располагать меню данного модуля либо внутри меню Инструменты либо "
      "непосредственно на главной панели меню Geany. Изменения вступают в силу "
      "только после перезапуска расширения GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "Включить CVS"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "Включить GIT"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "Включить SVN"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "Включить SVK"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Включить Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Включить Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "Язык проверки орфографии"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr "Контроль версий"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "_Разница"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "Показать разницу для текущего файла"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "Отменить изменения"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "Восстановить файл из рабочей копии (отмена локальных изменений)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr "_Изменения"
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr "Показать изменения сделанные в файле по номеру ревизии и автору."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "_История"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "Показать лог для текущего файла"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "_Оригинал"
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr "Показать оригинальный файл из рабочей копии"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "Добавить в репозиторий"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Добавить файл в репозиторий"
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "Удалить из репозитория"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Удалить файл из репозитория"
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "_Каталог"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "Показать разницу для каталога текущего файла"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr "Восстановить файлы в текущем каталоге из рабочей копии"
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "Показать лог для текущего каталога"
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "_Базовый каталог"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr "Показать разницу для корневого каталога рабочей копии"
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "Отменить все локальные изменения."
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr "Показать лог для корневого каталога рабочей копии"
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr "Фиксировать изменения"
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Показать разницу для файла"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Показать разницу для каталога"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "Показать разницу для корневого каталога"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "Фиксировать локальные изменения"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Показать статус"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "Отменить изменения для файла"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "Отменить изменения для каталога"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "Отменить изменения для корневого каталога"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Обновить файл"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "Контроль версий"
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr "Контроль версий"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "_Статус"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Показать статус."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Обновить из репозитория."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "Ф_иксировать"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "Фиксировать локальные изменения"
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr "Публикуйте код на pastebin-подобные площадки"
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "Группа \"%s\" не найдена."
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "В группе \"%s\" отсутствует ключ \"%s\"."
      
      #: ../geniuspaste/src/geniuspaste.c:648
      msgid "Invalid pastebin service."
      msgstr "Некорректная служба публикации кода."
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      "Неизвестная служба публикации кода \"%s\". Выберите существующую в настройках "
      "или измените параметры и попробуйте снова."
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr "Нельзя публиковать пустой код"
      
      #: ../geniuspaste/src/geniuspaste.c:681
      msgid "Failed to paste the code"
      msgstr "Не удалось опубликовать код"
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      "Ошибка публикации кода на %s.\n"
      "Код ошибки: %u (%s).\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      "Проверьте соединение или параметры службы публикации кода и попробуйте снова."
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      "Подождите, пока доступ к служба не будет восстановлен и повторите попытку или "
      "попробуйте другую службу публикации кода."
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      msgid "Check the pastebin configuration and retry."
      msgstr "Проверьте параметры службы публикации кода и попробуйте снова."
      
      #: ../geniuspaste/src/geniuspaste.c:701
      msgid "Failed to obtain paste URL."
      msgstr "Не удалось получить URL публикации кода."
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      "Код был успешно опубликован на %s, но произошла ошибка при попытке получить "
      "его адрес: %s\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "unexpected response from the pastebin service."
      msgstr "неожиданная ошибка от службы публикации кода."
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr "Опубликовано успешно"
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Ваш код опубликован здесь:\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr "Не открыто ни одного документа. Откройте хотя бы один и повторите.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr "Поле автора пусто!"
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr "Выберите площадку:"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr "Введите имя автора:"
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr "Отображать опубликованный код в новой вкладке браузера"
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr "_Опубликовать!"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr "_Отслеживать изменения в репозитории"
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      "Автоматически обновлять изменения при изменении отслеживаемого репозитория. "
      "Рекомендуется всегда оставлять этот параметр включённым для удобства."
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr "_Добавленные строки:"
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr "_Изменённые строки:"
      
      #: ../git-changebar/data/prefs.ui.h:5
      msgid "_Removed lines:"
      msgstr "_Удалённые строки:"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr "Цвета"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr "Монитор изменений Git"
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr "Подсвечивает незафиксированные изменения файлов в репозитории Git"
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Невозможно загрузить файл конфигурации: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Невозможно создать каталог конфигурации \"%s\": %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Невозможно сохранить конфигурационный файл: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      msgid "Go to the previous hunk"
      msgstr "Перейти к предыдущему участку"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      msgid "Go to the next hunk"
      msgstr "Перейти к следующему участку"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "Невозможно загрузить интерфейс, проверьте правильность установки. Ошибка: %s"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Удалить дублирующиеся строки, отсортировать"
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Удалить дублирующиеся строки, упорядочить"
      
      #: ../lineoperations/src/lineoperations.c:71
      msgid "Remove _Unique Lines"
      msgstr "Удалить _уникальные строки"
      
      #: ../lineoperations/src/lineoperations.c:74
      msgid "Remove _Empty Lines"
      msgstr "Удалить _пустые строки"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr "Удалить строки с п_робельными символами"
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr "Сортировать строки по _возрастанию"
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr "Сортировать строки по у_быванию"
      
      #: ../lineoperations/src/lineoperations.c:85
      msgid "_Line Operations"
      msgstr "Операции со _строками"
      
      #: ../lineoperations/src/lineoperations.c:127
      msgid "Line Operations"
      msgstr "Операции со строками"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      "Модуль предоставляет набор функций, которые могут быть применены к документу: "
      "удаление дублирующихся строк, удаление пустых строк, удаление строк, "
      "состоящих только из пробельных символов и сортировка строк."
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Позиция:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Боковая панель"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "Окно сообщений"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Шрифт:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "Шрифт для исходного текста:"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "Цвет фона:"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "Цвет шрифта:"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr "Выберите шаблон"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr "Предпросмотр Markdown в реальном времени"
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr "Предпросмотр Markdown"
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr "Текущий документ не является документом Markdown."
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Невозможно сохранить конфигурационный файл %s: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "Невозможно загрузить файл конфигурации %s: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      msgid "Move to message window"
      msgstr "Переместить на окно сообщений"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      msgid "Move to sidebar"
      msgstr "Переместить на боковую панель"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      msgid "Open Tab"
      msgstr "Открыть вкладку"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      msgid "Open Window"
      msgstr "Открыть окно"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr "Следующая вкладка"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      msgid "Previous tab"
      msgstr "Предыдущая вкладка"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      msgid "Show Tabs"
      msgstr "Показать вкладки"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr "Не удалось запустить внешний терминал: %s"
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      msgid "Unable to locate default shell in configuration file"
      msgstr "Не удалось обнаружить стандартный файл параметров Shell"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      msgid "New terminal"
      msgstr "Новый терминал"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr "Эмулятор терминала с поддержкой вкладок."
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Невозможно сохранить конфигурацию по умолчанию: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "Невозможно прочитать значение для '%s' ключ: %s"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      msgid "Terminal"
      msgstr "Терминал"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      msgid "Close terminal"
      msgstr "Закрыть терминал"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, c-format
      msgid "Unable to run command: %s"
      msgstr "Невозможно выполнить команду: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr "Обзор текущего документа"
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr "Переключить видимость"
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr "Переключить расположение (слева/справа)"
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr "Переключить инвертирование затемнения"
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr "Строка %d, колонка %d, позиция %d"
      
      #: ../overview/overview/overviewui.c:289
      msgid "Show Overview"
      msgstr "Показать обзор документа"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      "Масштаб обзора документа. Должно быть отрицательным числом для уменьшения "
      "масштаба."
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr "Масштаб:"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr "Ширина обзора документа."
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr "Ширина:"
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr "Количество строк, прокручиваемых за раз при прокрутке обзора документа."
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr "Прокручивать строк:"
      
      #: ../overview/data/prefs.ui.h:7
      msgid "Position on left"
      msgstr "Слева"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      "Отображать обзор документа слева, а не справа от документа (нужен "
      "Geany 1.25 и выше)"
      
      #: ../overview/data/prefs.ui.h:9
      msgid "Hide tooltip"
      msgstr "Скрыть подсказку"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      "Скрыть подсказку, отображающую информацию о строке, позиции и колонке при "
      "наведении курсора мыши на обзор документа."
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr "Скрыть полосу прокрутки"
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      "Скрывать стандартную полосу прокрутки редактора, когда обзор документа "
      "активен."
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr "Выключить затемнение"
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      "Выключает затемнение обзора документа. Затемнение отмечает границы видимого "
      "документа."
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "Параметры"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr "Цвет и прозрачность затемнения, отображаемого поверх обзора документа."
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr "Цвет:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      "Цвет и прозрачность границы затемнения, отображаемого поверх обзора документа."
      " Установите одинаковое с основным цветом, чтобы выключить."
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr "Цвет границы:"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr "Отображать поверх видимой области"
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      "Если отмечено, затемнение будет отображаться поверх области, которая видна в "
      "редакторе. Если выключено - будет обратный эффект - затемняется область, "
      "которая не видна в редакторе, \"обнажая\" видимую часть."
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr "Затемнение"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr "Подсветка парных тегов"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Находит и подсвечивает парные HTML-теги"
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr "Помощник переводчика"
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr "_Предыдущая строка"
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr "Перейти к предыдущей строке"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr "_Следующая строка"
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr "Перейти к следующей строке"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr "П_редыдущая непереведённая"
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr "Перейти к предыдущей непереведённой строке"
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr "С_ледующая непереведённая"
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr "Перейти к следующей непереведённой строке"
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr "Предыдущая fu_zzy-строка"
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr "Перейти к предыдущей fuzzy-строке"
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr "Следующая _fuzzy"
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr "Перейти к следующей fuzzy-строке"
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr "Предыдущая непереведённая или fuzz_y-строка"
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr "Перейти к предыдущей непереведённой или fuzzy-строке"
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr "Следующая непереведённая _или fuzzy-строка"
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr "Перейти к следующей непереведённой или fuzzy-строке"
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      msgid "Toggle current translation fuzziness"
      msgstr "Переключить флаг fuzzy у текущего перевода"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr "П_ереключить флаг fuzzy"
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr "_Вставить сообщение как перевод"
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr "Вставить непереведённый оригинал в качестве перевода"
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr "Форматирует текущую строку перевода"
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr "Пере_форматировать перевод"
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      msgid "Show statistics of the current document"
      msgstr "Показать статистику текущего документа"
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr "_Показать статус"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      "Обновлять заголовки перевода (автор, дата обновления, ...) при сохранении "
      "файла"
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr "О_бновлять заголовки при сохранении"
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr "Статистика перевода"
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr "Выберите цвет переведенных строк"
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr "Выберите цвет для fuzzy-строк"
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr "Выберите цвет для непереведенных строк"
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr "Переведено:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr "Непереведено:"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr "Помощник переводчика"
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr "Улучшенная поддержка файлов перевода GetText"
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Переведено: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Непереведено: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr "Скопировать исходную непереведённую строку в перевод"
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      "Невозможно найти виджет \"%s\" в файле интерфейса, проверьте правильность "
      "установки."
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr "Форматирование XML"
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr "Форматирует XML, чтобы улучшить его восприятие человеком"
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr "Форматировать XML"
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr "Запустить форматирование XML"
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr "Содержимое документа не соответствует формату XML"
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      "Невозможно выполнить фоматирование указанного XML документа, так как "
      "некоторые возможности не поддерживаются.\n"
      "\n"
      "Подробности - Помощь > Отладочные сообщения..."
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Комментарии"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr "Помещать на одну строку"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr "Делать встроенными, если возможно"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Выравнивание"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr "Текстовые элементы"
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "Символьные данные"
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr "Пустые элементы"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr "Объединение ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr "Пробелы ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr "Расширение ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Отступы"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Пробелы"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "Перевод строки"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid "Project Organizer"
      msgstr "Органайзер проекта"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      "Дерево файлов, индексирование, поиск и навигация в проектах (бывш. GProject)"
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      msgid "Find in Project Files..."
      msgstr "Найти в файлах проекта..."
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr "Найти в файлах проекта"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      msgid "Find Project File..."
      msgstr "Найти файл проекта..."
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr "Найти файл проекта"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      msgid "Find Project Symbol..."
      msgstr "Найти символ проекта..."
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      msgid "Find project symbol"
      msgstr "Найти символ проекта"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr "Переключить Заголовок/Реализацию"
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr "Переключить заголовок/реализацию"
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr "Открыть выбранный файл (органайзер проектов)"
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr "Шаблоны файлов с исходным текстом:"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      "Разделённый пробелами список шаблонов для определения файлов с исходным "
      "текстом. Нужно для переключения исходник/заголовок."
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr "Шаблоны заголовочных файлов:"
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "Разделённый пробелами список шаблонов для определения заголовочных файлов. "
      "Нужно для переключения исходник/заголовок."
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid "Ignored file patterns:"
      msgstr "Шаблоны игнорируемых файлов:"
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      "Разделённый пробелами список шаблонов, которые используются для определения "
      "файлов, не отображаемых в дереве файлов проекта."
      
      #: ../projectorganizer/src/prjorg-project.c:611
      msgid "Ignored directory patterns:"
      msgstr "Игнорируемые шаблоны каталогов:"
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      "Разделённый пробелами список шаблонов, которые используются для определения "
      "каталогов, не просматриваемых на предмет наличия файлов проекта."
      
      #: ../projectorganizer/src/prjorg-project.c:623
      msgid "Index all project files:"
      msgstr "Индексировать все файлы проекта:"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr "Автоматически (индексировать, если файлов не более 300)"
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "Yes"
      msgstr "Да"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      msgid "No"
      msgstr "Нет"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      "Генерировать список символов для всех файлов проекта, а не только для "
      "открытых. Может работать медленно для больших проектов."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      "Примечание: шаблоны выше затрагивают только боковую панель и не используются "
      "в диалоге\n"
      "\"Найти в файлах\". Вы пожете дополнительно ограничить список файлов "
      "проекта, устанавливая\n"
      "шаблоны на вкладке \"Проект\", которые также используются в диалоге \"Найти "
      "в файлах\"."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr "Найти файл"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr "Искать внутри:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr "Искать в полных путях"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      msgid "project or external directory"
      msgstr "проект или существующий каталог"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      msgid "Add External Directory"
      msgstr "Добавить внешний каталог"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      msgid "Add"
      msgstr "Добавить"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      msgid "Find Symbol"
      msgstr "Найти символ"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr "Тип соответствия:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr "Установить шаблоны файлов в Проект->Свойства"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr "Перезагрузить всё"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      msgid "Add external directory"
      msgstr "Добавить внешний каталог"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Развернуть всё"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr "Свернуть в корень проекта"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr "Следовать пути активного документа"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr "Откройте проект, чтобы начать использовать дополнение"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr "Развернуть всё"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      msgid "Find in Files..."
      msgstr "Найти в файлах..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      msgid "Find File..."
      msgstr "Найти файл..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      msgid "Find Symbol..."
      msgstr "Найти символ..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      msgid "Remove External Directory"
      msgstr "Удалить внешний каталог"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "_Отладчик"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr "На_строить программу"
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "Последние программы"
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr "Запустить / Продолжить"
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr "Выполнить до позиции курсора"
      
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr "Выполнить до исходника"
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr "Шаг в"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr "Шаг через"
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr "Шаг из"
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr "Прервать"
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr "Переключить точку останова"
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr "Команда GDB"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "Дополнительно"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr "Открыть терминал"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr "Сбросить маркеры"
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr "Очистить файлы"
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr "_Передать"
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "_Окно"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr "_Автоотображение"
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr "Авто_скрытие"
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr "Показывать при _ошибке"
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr "_Несортированное"
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr "П_росмотреть исходник"
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr "С_инхронизировать"
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr "_Прервать"
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr "О_тправить сигнал"
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr "Вы_брать в"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr "_Выполняется"
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr "_Остановленно"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr "_Завершено"
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr "С_ледовать"
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr "_Столбцы"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr "Показать _группу"
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr "Показать _core"
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr "Новая _точка останова"
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr "Новое _наблюдение"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr "П_рименить при запуске"
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr "_Показать @entry"
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr "Показать _адрес"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr "_Изменить"
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr "_Наблюдение"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr "_Инспекция"
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr "_8-битный режим"
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "_По умолчанию"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr "_7 бит"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr "_Локаль"
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr "_Показывать .names"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr "_Читать"
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr "_Группировать по"
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr "П_ереход к"
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "_Применить"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr "_Развернуть"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr "_Натуральное"
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr "_Десятичное"
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr "_Шестнадцатеричное"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr "_Восьмеричное"
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "Д_воичное"
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr "Н_еобработанное"
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr "_Вычислить/изменить"
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr "_Наблюдать за выражением"
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr "_Инспекция переменной"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr "Потоки"
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr "Стек"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr "Локали"
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr "Наблюдатели"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "Память"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr "Введите команду gdb:"
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr "Конвертировать _UTF-8 в локаль"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr "_Поток"
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr "Группа"
      
      # Кадр? часть? блок? wtf frame :)
      # Имеется ввиду что-то вроде стэк фрейма. Возможно лучше вообще не переводить?
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr "_Фрейм"
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr "Настроить программу"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr "_Исполняемый файл:"
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr "_Аргументы:"
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr "_Окружение"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr "_Рабочий каталог:"
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr "_Сценарий загрузки:"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr "Автоматический _запуск программы/выход из gdb"
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr "_Бесконечный режим"
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr "_Временная точка останова при загрузке в:"
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr "_Удалить все точки останова, наблюдения, инспекторы и регистры"
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr "Программа"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr "Открыть при"
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr "загрузке g_db"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr "_запуске программы"
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr "Обновить все"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr "Панель"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr "Стандартный 8-битный режим:"
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr "_7-бит \\nnn"
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr "Показывать"
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr "_элемент"
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr "и"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr "_имена"
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr "аргументов"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr "Значения"
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr "Р_азвернуть при применении"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr "П_оказывать"
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr "потомков"
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr "Инспекция"
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr "Отображать сообщения =li_brary"
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr "Показывать подсказки"
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr "Другое"
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "_Импорт"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr "Введите выражение присваивания:"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr "Инспекция"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "Объект:"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr "Фрейм:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr "Применить при запуске"
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "Развернуть всё"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr "Старт:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr "Счётчик:"
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr "Развернуть при применении"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr "Терминал программы"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr "Регистры"
      
      #: ../scope/src/break.c:97
      msgid "breakpoint"
      msgstr "точка останова"
      
      #: ../scope/src/break.c:98
      msgid "hardware breakpoint"
      msgstr "аппаратная точка останова"
      
      #: ../scope/src/break.c:99
      msgid "tracepoint"
      msgstr "точка контроля"
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr "быстрая точка контроля"
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr "точка наблюдения на записб"
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr "точка наблюдения на доступ"
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr "точка наблюдения на чтение"
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr "точка отлова"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr "CLI"
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr "неподдерживаемый MI"
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr "при загрузке"
      
      #: ../scope/src/break.c:142
      msgid "Run to Cursor"
      msgstr "Выполнить до позиции курсора"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      "Обнаружено две или более точки останова в %s:%d.\n"
      "\n"
      "Используйте список точек останова для удаления только одной."
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ", %s"
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr "функция %s"
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr "Добавить точку останова"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr "Добавить точку наблюдения"
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr "Передать в терминал"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr "Введите символ # (0..255):"
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr "Scope: %s."
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr "Нет точек останова. Прерывание."
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr "GDB неожиданно завершился с кодом %d."
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr "Программа завершена."
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr "некорректные данные"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr "нет потомков в диапазоне"
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr "вне зоны видимости"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr "Дублировать имя переменной под инспекцией."
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr "Чтение памяти"
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr "Scope: размер указателя > %d, данные отключены."
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr "Изменить"
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr "Вычислить/модифицировать"
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr "Наблюдать за выражением"
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr "Инспекция переменной"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr "Неизвестная ошибка GDB."
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Выберите каталог"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Выберите файл"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr "Scope: %s: %s."
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr "Scope: создан файл конфигурации."
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr "Загружены параметры отладки для %s."
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr "Не удалось загрузить файл с параметрами отладки %s: %s."
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      "%s: %s.\n"
      "\n"
      "Продолжить?"
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr "Удалить все точки останова, наблюдения и т. п.?"
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr "как _Name=value"
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr "как _Name = value"
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr "Отладчик Scope"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr "Относительно простая обёртка над GDB"
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr "Настроить программу"
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr "Запустить/продолжить"
      
      #: ../scope/src/scope.c:64
      msgid "Run to source"
      msgstr "Выполнить до исходника"
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr "Прервать"
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr "Переключить точку останова"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr "Команда GDB"
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr "Показать терминал"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "Занят"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "Готов"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr "Завис"
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr "Асм"
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr "Загрузка"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr "Запущена сборка. Прервать отладку?"
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr "Прерывания"
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "Консоль"
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr "Консоль отладчика"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr "Группа потоков %s запущена."
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr "Группа потоков "
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr " завершился"
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr " с кодом завершения %s"
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr "Отправить сигнал"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr "Введите номер сигнала:"
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr "Прервать процесс"
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr "Введите код завершения:"
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "Выполняется"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "Остановлен"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr "%s: %s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr "Scope: ошибка чтения [%s]."
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "…"
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "_Отправить"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "_Занят"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr "Команда GDB"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "Попробуйте: "
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "Идёт проверка"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Проверяется файл \"%s\" (строки с %d по %d используя %s):"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Проверяется файл \"%s\" (используя %s):"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "Текст не содержит ошибок."
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Ошибка инициализации библиотеки Enchant (%s)."
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "неизвестная ошибка (возможно выбранный язык недоступен)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "Проверка орфографии"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Проверяет орфографию в текущем документе"
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "Запустить проверку орфографии"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "Включить/выключить проверку при набора текста"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Выбрать каталог"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Показывать кнопку проверки орфографии на панели инструментов"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Добавить пункт проверки орфографии в меню редактора"
      
      #: ../spellcheck/src/scplugin.c:294
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Отображать варианты замены в подменю редактора"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Выводить неправильное слово и список замен в окно сообщений"
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr "Интерфейс"
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Проверять по мере набора текста"
      
      #: ../spellcheck/src/scplugin.c:330
      msgid "Check spelling when opening a document"
      msgstr "Проверять орфографию при открытии документа"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      "Включите, чтобы проверять каждый документ сразу после того, как он открыт в "
      "редакторе. Перезагрузка документа также приведёт к повторной проверке."
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "Язык проверки орфографии"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "_Каталог для поиска файлов словарей"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Дополнительные словари из данного каталога будут использоваться при "
      "проверке. На данный момент работает только со словарями 'myspell'."
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr "Поведение"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "Проверка орфографии по мере набора текста теперь включена"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "Проверка орфографии по мере набора текста теперь выключена"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Больше..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(нет вариантов)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Добавить \"%s\" в словарь"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Игнорировать всё"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "Образец поиска слишком длинный для того,\n"
      "чтобы поместить список замен в меню редактора."
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Выполнить проверку орфограции"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "По умолчанию (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr "Включить проверку орфографии по мере набора текста (текущий язык: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Варианты замены"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "Сдвинуть Столбец"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "Сдвигает выделенный текст влево или вправо"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "Сдвинуть Влево"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "Сдвинуть Вправо"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Преобразование в таблицу"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr "Конвертирует строки в таблицы для различных типов документов"
      
      #: ../tableconvert/src/tableconvert.c:42
      msgid "LaTeX"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "При разборе содержимого произошла ошибка. Остановка."
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr "Конвертировать выделение в таблицу"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "_Преобразовать в таблицу"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "Конвертирует отмеченные списки в таблицу"
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr "Преобразовать в другую _таблицу"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr "Дерево файлов"
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr "Добавляет панель для просмотра файлов в виде дерева каталогов и файлов"
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: нет такого каталога."
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(Пусто)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Невозможно выполнить заданную внешнюю команду '%s' (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "Новый каталог"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "Новый файл"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "Файл '%s' существует\n"
      ", вы действительно хотите заменить его пустым файлом?"
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Вы действительно хотите удалить файл '%s' ?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Перейти на уровень вверх"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Установить путь из документа"
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr "Открыть используя внешнюю программу"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Открыть терминал"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Сделать корневым каталогом"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Обновить"
      
      #: ../treebrowser/src/treebrowser.c:1234
      msgid "_Find in Files"
      msgstr "Найти в файлах"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Создать новый каталог"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Создать новый файл"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Переименовать"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Удалить"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Закрыть: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr "Закрыть дочерние документы"
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr "Скопировать полный путь в буфер обмена"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Свернуть всё"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Показывать закладки"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Показывать скрытые файлы"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr "Показывать панель инструментов"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "Файл '%s' существует, вы действительно хотите его заменить?"
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Домой"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr "Перейти к текущему файлу"
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "Скрыть панель инструментов"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      "Фильтр (*.c;*.h;*.cpp). Чтобы инвертировать результаты поиска, используйте "
      "формат '!;*.c;*.h;*.cpp'."
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Строка адреса"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr "Дерево файлов"
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Внешняя команда"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "Команда выполняемая при выборе пункта меню  \"Открыть с помощью\". Вы можете "
      "использовать шаблоны %f и %d.\n"
      "%f будет заменено на имя файла включая полный путь\n"
      "%d будет заменено на путь к каталогу текущего файла"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr "Терминал, используемый командой \"Открыть терминал\""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "Панель инструментов"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "Скрытая"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "Верх"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "Низ"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr "Изменение положения требует перезапуска плагина"
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr "Показывать иконки"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "Нет"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr "Базовые"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr "Тип файла"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      "В ОС Windows, эта опция скрывает файлы, имена которых начинаются с символа "
      "'.' (dot)"
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Не показывать объектные файлы"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Не показывать объектные файлы (*.o, *.obj. *.so, *.dll, *.a, *.lib) в дереве "
      "файлов"
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "Инвертировать фильтр"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "Следовать пути текущего документа"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr "Одиночный клик открывает документ"
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Двойной клик открывает каталог"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "При удалении файла, закрывать его если открыт"
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr "Передать фокус редактору при открытии файла"
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "Показывать соединительные линии"
      
      #: ../treebrowser/src/treebrowser.c:2053
      msgid "Open new files"
      msgstr "Открыть новый файл"
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "Перейти к списку файлов"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr "Перейти к строке адреса"
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr "Переименовать объект"
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr "Создать новый файл"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr "Создать новый каталог"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr "Проверка обновлений"
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr "Проверяет наличие обновлений для Geany"
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Доступна более новая версия Geany: %s"
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr "Установлена самая последняя версия Geany."
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      "Не удалось проверить версию.\n"
      "Код ошибки: %d \n"
      "Текст ошибки: »%s«"
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr "Проверять обновления при старте"
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr "Проверить обновления"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "окно сообщений"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "боковая панель"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr "отдельное окно"
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "нет"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr "на связи"
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "нормальный"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "утилита"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      msgid "Bookmark this website"
      msgstr "Добавить этот сайт в закладки"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Увеличить"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr "Изменение масштаба всего _содержимого"
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr "Переключить ориентацию панелей"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Назад"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "Вперёд"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "Остановить загрузку"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Перезагрузить страницу"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr "Параметры и информация о сайте"
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr "Веб-инспектор"
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr "Показать Веб-инспектор"
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr "Веб ассистент"
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      "Отображает веб-страницу, которая обновляется при сохранении соответствующего "
      "ей документа, а также предоставляет инструменты для анализа и отладки (Web-"
      "инспектор). Использует WebKit."
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr "Просмотр Веб"
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr "Просмотр Веб"
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr "Обновлять страницу при сохранении её документа"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr "Автообновление страницы"
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr "Перезагружать ли страницу в браузере при сохранении документа"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr "Последний посещённый URI"
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr "Последний URI просмотренный в браузере"
      
      #: ../webhelper/src/gwh-plugin.c:330
      msgid "List of bookmarks"
      msgstr "Список закладок"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr "Ориентация браузера"
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr "Ориентация окна браузера"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr "Положение окна браузера"
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Расположение окна браузера в Geany"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr "Размеры отдельного окна браузера"
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr "Последние сохранённые размеры отдельного окна браузера"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr "Размер окна инспектора"
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr "Последние сохранённые размеры окна инспектора"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr "Инспектор отсоединён"
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr "Инспектор в отдельном окне или внутри браузера"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr "Не показывать окна плагина в панели задач"
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr "Дать указание менеджеру окон не показывать окна плагина в панели задач"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr "Окна плагина не перекрывают родительское окно"
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr "Запрещать ли окнам плагина перекрывать родительское окно"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr "Тип окон"
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr "Тип окон плагина"
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr "Включить Веб-инспектор"
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr "Показать/Скрыть окно браузера"
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr "Переключить закладку для текущего сайта"
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr "Браузер"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr "Окна"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr "XML Сниппеты"
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Автоматически завершает XML/HTML теги с использованием сниппетов"
      
      #~ msgid "Program received a signal"
      #~ msgstr "Программа получила сигнал:"
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "Улучшенная поддержка LaTeX"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "В процессе установки языка для проверки орфографии произошла ошибка. "
      #~ "Пожалуйста проверьте настройки. Сообщение об ошибке: %s"
      
      #~ msgid ""
      #~ "Unable to paste the code on codepad.org\n"
      #~ "Retry or select another pastebin."
      #~ msgstr ""
      #~ "Невозможно опубликовать код на codepad.org\n"
      #~ "Попробуйте снова или выберите другую площадку."
      
      #~ msgid ""
      #~ "Unable to paste the code. Check your connection and retry.\n"
      #~ "Error code: %d\n"
      #~ msgstr ""
      #~ "Невозможно опубликовать код. Проверьте ваше соединение и повторите "
      #~ "снова.\n"
      #~ "Код ошибки: %d\n"
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Найти тег проекта"
      
      #~ msgid "Find project tag"
      #~ msgstr "Найти тег проекта"
      
      #~ msgid "Generate tags for all project files:"
      #~ msgstr "Генерировать теги для всех файлов проекта:"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "Конвертирует списки в таблицы"
      
      #~ msgid "GProject"
      #~ msgstr "Проект (GProject)"
      
      #~ msgid "Glob-pattern-based project management plugin for Geany."
      #~ msgstr ""
      #~ "Плагин для управления проектом Geany на основе шаблонов файлов проекта."
      
      #~ msgid ""
      #~ "Space separated list of patterns that are used to identify source files."
      #~ msgstr ""
      #~ "Разделённый пробелами список шаблонов, который используются для "
      #~ "определения файлов исходных текстов."
      
      #~ msgid ""
      #~ "Note: set the patterns of files belonging to the project under the "
      #~ "Project tab."
      #~ msgstr ""
      #~ "Замечание: устанавливает шаблоны файлов принадлежащих проекту для "
      #~ "отображения во вкладке проекта в боковой панели."
      
      #~ msgid "No update available"
      #~ msgstr "Нет доступных обновлений"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Этот плагин предоставляет возможности по навигации между файлами исходных "
      #~ "текстов.\n"
      #~ "На текущий момент реализовано :\n"
      #~ "- переключение между .cpp и соотвутствующим .h файлом\n"
      #~ "- [открытие файла путём набора его имени -> TODO]"
      
      #~ msgid "Goto file"
      #~ msgstr "Перейти к файлу"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Из плагина %s)"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "Добавлена точка останова #%s в %s() на %s:%s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "Добавлена точка останова #%s на %s:%s\n"
      
      #~ msgid "Added write watchpoint #%s for %s\n"
      #~ msgstr "Добавлена точка контроля(для записи) #%s на %s\n"
      
      #~ msgid "Added read/write watchpoint #%s for %s\n"
      #~ msgstr "Добавлена точка контроля(для чтения/записи) #%s на %s\n"
      
      #~ msgid "Added read watchpoint #%s for %s\n"
      #~ msgstr "Добавлена точка контроля(для чтения) #%s на %s\n"
      
      #~ msgid "Watch/breakpoint deleted.\n"
      #~ msgstr "Точка останова/контроля удалена.\n"
      
      #~ msgid "Failed to toggle breakpoint -\n"
      #~ msgstr "Ошибка переключения точки останова -\n"
      
      #~ msgid "Watch/breakpoint toggled.\n"
      #~ msgstr "Точка останова/контроля переключена.\n"
      
      #~ msgid "Watch/breakpoint modified.\n"
      #~ msgstr "Точка останова/контроля изменена.\n"
      
      #~ msgid "Failed to retrieve source search path setting from GDB."
      #~ msgstr ""
      #~ "Ошибка установки пути, для поиска исходных файлов, указанного в "
      #~ "настройках GDB."
      
      #~ msgid "Failed to retrieve executable search path setting from GDB."
      #~ msgstr ""
      #~ "Ошибку установки пути, для поиска исполняемых файлов, указанного в "
      #~ "настройках GDB."
      
      #~ msgid "Failed to retrieve working directory setting from GDB."
      #~ msgstr "Ошибка установки рабочего каталога, указанного в настройках GDB."
      
      #~ msgid "Field list too long, not all items can be displayed.\n"
      #~ msgstr ""
      #~ "Список полей слишком велик, не все элементы могут быть отображены.\n"
      
      #~ msgid "Error starting target process!\n"
      #~ msgstr "Ошибка запуска целевого процесса!\n"
      
      #~ msgid ""
      #~ "This executable does not appear to contain the required debugging "
      #~ "information."
      #~ msgstr "Исполняемый файл не содержит необходимой отладочной информации."
      
      #~ msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
      #~ msgstr ""
      #~ "Программа получила сигнал %s (%s) по адресу %s в функции %s() на %s:%s"
      
      #~ msgid "Program exited on signal %s (%s).\n"
      #~ msgstr "Программа завершилась по сигналу %s (%s).\n"
      
      #~ msgid "Unknown signal"
      #~ msgstr "Неизвестный сигнал"
      
      #~ msgid "Program exited with code %d [%s]\n"
      #~ msgstr "Программа завершилась с кодом %d [%s].\n"
      
      #~ msgid "(unknown)"
      #~ msgstr "(неизвестно)"
      
      #~ msgid "Program exited normally.\n"
      #~ msgstr "Программа завершилась правильно.\n"
      
      #~ msgid "tty temporary directory not specified!\n"
      #~ msgstr "tty: директория для временных файлов не указанна!\n"
      
      #~ msgid "tty helper program not specified!\n"
      #~ msgstr "программа ttyhelper, не указанна!\n"
      
      #~ msgid "tty helper program not found!\n"
      #~ msgstr "программа ttyhelper, не найдена!\n"
      
      # ?Добавить %s к терминалу\n
      #~ msgid "Attaching to terminal %s\n"
      #~ msgstr "Отправить на терминал %s\n"
      
      #~ msgid "Timeout waiting for TTY name.\n"
      #~ msgstr "Время ожидания терминала истекло.\n"
      
      #~ msgid "GDB exited (pid=%d)\n"
      #~ msgstr "Завершаем работу GDB (pid=%d)\n"
      
      #~ msgid "Target process exited. (pid=%d; %s%s)\n"
      #~ msgstr "Завершение целевого процесса. (pid=%d; %s%s)\n"
      
      #~ msgid "code="
      #~ msgstr "код="
      
      #~ msgid "reason:"
      #~ msgstr "причина:"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "Завершение работы целевой программы.\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "Убить целевую программу.\n"
      
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "Время ожидание процесса истекло.\n"
      
      #~ msgid "Using a bigger hammer!\n"
      #~ msgstr "Используем кувалду!\n"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "Закончилось время ожидания завершения процесса.\n"
      
      #~ msgid "Killing GDB (pid=%d)\n"
      #~ msgstr "Убиваем GDB (pid=%d)\n"
      
      # Вообще-то убиства но уж совсем не звучит :(
      #~ msgid "Timeout trying to kill GDB.\n"
      #~ msgstr "Истекло время ожидания, прерывания работы GDB.\n"
      
      #~ msgid "Shutting down GDB\n"
      #~ msgstr "Завершение работы GDB\n"
      
      #~ msgid "Waiting for GDB to exit.\n"
      #~ msgstr "Ожидание завершения GDB.\n"
      
      #~ msgid "Timeout waiting for GDB to exit.\n"
      #~ msgstr "Истекло время ожидания, завершения работы GDB.\n"
      
      #~ msgid "Starting gdb (pid=%d)\n"
      #~ msgstr "Запущен gdb (pid=%d)\n"
      
      #~ msgid "Started target process. (pid=%d)\n"
      #~ msgstr "Запуск процесса (pid=%d).\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "Не выбрана %s "
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "Удалить контрольную точку?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "Удалить точку останова?"
      
      #~ msgid "Enabled"
      #~ msgstr "Включено"
      
      #~ msgid "Break after "
      #~ msgstr "Прервать после"
      
      # ????
      #~ msgid " times."
      #~ msgstr " раз."
      
      #~ msgid "Break when "
      #~ msgstr " Прервать когда "
      
      #~ msgid " is true."
      #~ msgstr " это истина."
      
      #~ msgid "Watchpoints"
      #~ msgstr "Точки контроля"
      
      #~ msgid "Environment settings"
      #~ msgstr "Параметры окружения"
      
      #~ msgid ""
      #~ "\n"
      #~ " Command-line arguments passed to target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Параметры командной строки для целевой программы:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ "Путь для поиска исходных файлов:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Working directory for target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Рабочий каталог для целевой программы:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ "Путь для поиска исполняемых файлов:"
      
      #~ msgid "Keep debug window on top."
      #~ msgstr "Окно отладки всегда поверх всех."
      
      #~ msgid "Show icons."
      #~ msgstr "Показывать иконки"
      
      #~ msgid "Font for source code listings:"
      #~ msgstr "Шрифт для исходного кода:"
      
      #~ msgid "Terminal program:"
      #~ msgstr "Терминал:"
      
      #~ msgid "_Examine"
      #~ msgstr "_Проверить"
      
      #~ msgid "Elements"
      #~ msgstr "Элементы"
      
      #~ msgid "Fields"
      #~ msgstr "Поля"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "Вернуться к предыдущему диалогу"
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "Отобразить дополнительную информацию о выбранном элементе."
      
      #~ msgid ""
      #~ "\n"
      #~ "Frame #%s in %s() at %s:%s\n"
      #~ msgstr ""
      #~ "\n"
      #~ "Блок #%s в %s() на %s:%s\n"
      
      #~ msgid "Function arguments"
      #~ msgstr "Аргументы функции"
      
      #~ msgid "Local variables"
      #~ msgstr "Локальные переменные"
      
      #~ msgid "Return to stack list dialog."
      #~ msgstr "Вернуться к диалогу просмотра стека."
      
      #~ msgid "Stack trace"
      #~ msgstr "Трассировка стека"
      
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "Показать дополнительную информацию о выбранном блоке."
      
      #~ msgid "Clea_r"
      #~ msgstr "О_чистить"
      
      #~ msgid "Filename: "
      #~ msgstr "Имя файла:"
      
      #~ msgid "Variable to watch:"
      #~ msgstr "Контролировать переменную:"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "Номер строки или имя функции:"
      
      # read/write/both
      #~ msgid "Access trigger:"
      #~ msgstr "Тип доступа:"
      
      #~ msgid "(no program)"
      #~ msgstr "(нет программы)"
      
      #~ msgid "starting"
      #~ msgstr "запущено"
      
      #~ msgid "paused"
      #~ msgstr "приостановленно"
      
      #~ msgid "Error:"
      #~ msgstr "Ошибка:"
      
      #~ msgid "Select executable to debug"
      #~ msgstr "Выбор исполняемого файла для отладки"
      
      #~ msgid "Debugging of object files is not supported."
      #~ msgstr "Отладка объектных файлов не поддерживается."
      
      #~ msgid "You don't have permission to execute this file."
      #~ msgstr "У Вас нет прав для выполнения этого файла."
      
      #~ msgid "Debugging of shared libraries is not supported."
      #~ msgstr "Отладка разделяемых библиотек не поддерживается."
      
      # ???
      #~ msgid "Debugging of core files id not supported."
      #~ msgstr "Отладка исполняемых модулей ядра не поддерживается."
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr "Файл должен быть 32-разрядной(x86) исполняемой программой."
      
      #~ msgid "You don't have permission to read this file."
      #~ msgstr "У Вас нет прав для чтения этого файла."
      
      # ? Запустить в директории
      #~ msgid "Run to location"
      #~ msgstr "Перейти к размещению"
      
      #~ msgid "Execute target program inside a terminal window."
      #~ msgstr "Выполнить программу в окне терминала."
      
      #~ msgid "Ignore SIGPIPE"
      #~ msgstr "Игнорировать SIGPIPE"
      
      #~ msgid ""
      #~ "Don't pause execution when target gets a SIGPIPE signal.\n"
      #~ "(Useful for certain networking applications.)"
      #~ msgstr ""
      #~ "Не приостанавливать выполнение, когда цель получает сигнал SIGPIPE\n"
      #~ "(Полезно для определённых сетевых приложений.)"
      
      #~ msgid "Send a GDB command directly to the debugger."
      #~ msgstr "Послать команду непосредственно в отладчик."
      
      #~ msgid "_Quit"
      #~ msgstr "_Выйти"
      
      #~ msgid "Exit everything"
      #~ msgstr "Закрыть все"
      
      #~ msgid "GeanyGDB"
      #~ msgstr "Отладка с помощью GDB"
      
      #~ msgid "Integrated debugging with GDB."
      #~ msgstr "Комплексная отладка в GDB."
      
      # ?
      # Каталог настроек плагинов (%s) не может быть создан.
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr "Не возможно создать каталог настройки плагинов (%s)."
      
      #~ msgid "geanygdb: ttyhelper program not found."
      #~ msgstr "geanygdb: программа ttyhelper, не найдена."
      
      #, fuzzy
      #~ msgid "Seach for:"
      #~ msgstr "Искать:"
      
      #~ msgid "Google Code"
      #~ msgstr "Google Code"
      
      #~ msgid "Search for current tag in Google Code Search"
      #~ msgstr "Поиск текущего тэга в Google Code Search"
      
      #~ msgid "You must define a key trigger combination"
      #~ msgstr "Вы должны указать комбинацию клавиш"
      geany-plugins-1.27/po/nl.po0000644000175000017500000053312412671261352016117 0ustar00frlanfrlan00000000000000# Dutch translations for geany-plugins package.
      # Copyright (C) 2011 THE geany-plugins'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Peter Scholtens , 2011, 2013-2014
      # hans , 2011.
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2011-09-13 20:24+0100\n"
      "Last-Translator: Peter Scholtens \n"
      "Language-Team: Dutch\n"
      "Language: nl\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=2; plural=(n != 1);\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Lege regel)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "Verwijder bladwijzer"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "Nee."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Inhoud"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Bladwijzers"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Verberg berichtenvenster"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Bestand"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Regel"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Type"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Taak"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Taken"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Context:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "XML labelen"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "In te voegen label naam:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "De huidige selectie zal vervangen worden door \"%s\". Houd alstubieft de "
      "selectie in de gaten"
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Open URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Kopiëer URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr "Omsluitkarakters"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "Omsluit combinatie %d"
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "Omsluitkarakter"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "Afsluitkarakter"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Sluit andere documenten"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "S_luit alle documenten"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Laat documentlijst zien"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Padnaam van '%s' gekopiëerd naar klembord."
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr "Kopiëer pad van bestandsnaam"
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Kopiëert pad van huidige document naar klembord"
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Toevoegingen"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Verscheidene kleine toevoegingen voor Geany"
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "Schakel naar bladwijzerlijst"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "Schakel naar takenlijst"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "Update takenlijst"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr "XML labelen uitvoeren"
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "Plug-in configuratiemap kon niet worden aangemaakt."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      "Laat een hulpmiddelenbalk item zien om een lijst met geopende documenten te "
      "tonen"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr "Sorteer documenten op _naam"
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr "Sorteer de documenten in de lijst op hun bestandsnaam"
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr "Sorteer documenten op aantal v_oorkomens"
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Sorteer de documenten in de volgorde van de tabs"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Sorteer documenten op aantal v_oorkomens (achteruit)"
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr "Sorteer de documenten in de volgorde van de tabs (achteruit)"
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Laat een 'Open URI' menu item in het editor menu zien"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "Laat beschikbare taken in het berichtenvenster zien"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "Laat alle taken van alle documenten zien"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Laat de taken van alle open documenten in de lijst zien of alleen die van "
      "het huidige document"
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "Geef een lijst van zoektermen gescheiden door puntkommas"
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr "Zoektermen:"
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "Laat het status icoon in het Meldingsgebied"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Laat bladwijzers (gemarkeerde regels) in de zijbalk zien"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "Markeer alle verschijningen van een gedubbelklikt woord"
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr "Verwijder lege regels aan het einde van het bestand"
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr "XML labelen voor selectie"
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      #, fuzzy
      msgid "Auto-close"
      msgstr "Auteur:"
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      msgid "Move cursor to beginning"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      msgid "Improved auto-indentation"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Code navigatie"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Verwissel header/implementatie"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr "Implementatie extensies"
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr "Header extensies"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      msgid "Reset to Default"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "%s niet gevonden, creër?"
      
      #: ../commander/src/commander-plugin.c:43
      #, fuzzy
      msgid "Commander"
      msgstr "Commando 0:"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr ""
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr ""
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr ""
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "Naam"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "Waarde"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr "Kies doelbestand"
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr "Doel:"
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr ""
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr ""
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr "Commandoregel argumenten"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr "Omgevingsvariabelen"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr "Verwijder variabele?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Lokatie"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Conditie"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "Aantal hits"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "regel %i"
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Programma ontving een signaal"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Laad doelbestand.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr "Fout gedurende inladen bestand"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "Kan bronbestand \"%s\" niet vinden"
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr ""
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Adres"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Functie"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "Doel"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Breekpunten"
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:141
      #, fuzzy
      msgid "Autos"
      msgstr "Auteur:"
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr "Debug terminaalvenster"
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr "Debugger berichten"
      
      #
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr "Start / Ga door"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "Stop"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "Herstart"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr "Stap erin"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr "Stap over"
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr "Stap eruit"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr "Ga door tot cursor"
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr "Voeg breekpunt toe (of verwijder)"
      
      #: ../debugger/src/keys.c:57
      msgid "Jump to the current instruction"
      msgstr ""
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "Kan expressie niet evalueren"
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr "Stop debug sessie om bronbestanden te wijzigen"
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "Start"
      
      #
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "Laad instellingen"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr "Dubbel paneelmodus"
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "Ga door"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Documentatie"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr "Zoek naar 'Label' documentatie in"
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Ontwikkelaars informatie"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Handleiding"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Ga een bladzijde terug"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Ga een bladzijde vooruit"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Zoek"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Zoek naar '%s' in documentatie"
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr "Ontwikkelaars info plugin"
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Kon configuratie map niet creëren op '%s'"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Kon default configuratie niet ophalen: %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Kon default configuratie niet wegschrijven: %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Boek:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Boek"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Pagina"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Sleutelwoord"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:620
      #, fuzzy
      msgid "Search in:"
      msgstr "Zoek in:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "Bestand"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "Wijzig"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr ""
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Zoek volgende"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Zoek vorige"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Ga naar volgende bladzijde"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "Inhoudstab"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "Zoektab"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Vergroot de tekst"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "Kleine tekst"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Verklein de tekst"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "Normale grootte"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Gebruik de normale tekst grootte"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Verlaat de fullscreen modus"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "Toon in fullscreen modus"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Groter"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Kleiner"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "Over Devhelp"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Voorkeuren…"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "Fout bij het openen van de gevraagde link"
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      #, fuzzy
      msgid "Empty Page"
      msgstr "(Lege regel)"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Zoek:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Zoek vorige verschijning van de zoekstring"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Zoek volgende verschijning van de zoekstring"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      #, fuzzy
      msgid "C_ase Sensitive"
      msgstr "Hoofdlettergevoelig"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      #, fuzzy
      msgid "Toggle case sensitive search"
      msgstr "Hoofdlettergevoelig"
      
      #: ../geanyctags/src/geanyctags.c:51
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "gpg encryptie plugin voor geany"
      
      #: ../geanyctags/src/geanyctags.c:149
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: map bestaat niet."
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      #, fuzzy
      msgid "Find Tag"
      msgstr "Zoek:"
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "Zoek naar:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "Brief"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "Hoofdlettergevoelig"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relationeel"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "Algemeen"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Zoek:"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "Zoek volgende"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "Kon uitvoer van commando niet parsen."
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Commando 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Commando 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "Meer selecteeropties"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "Herlaad configuratie bestanden"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "Forceer herladen van configuratiebestanden"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "Wijzig huidige taalconfiguratie"
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr "Open het huidige taalconfiguratiebestand om te wijzigen"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Open handleiding"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Open de handleiding in een browser"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr ""
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "Algemeen"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr ""
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Artikel (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Boek (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr "Boekje (@Booklet)"
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Conferentie (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr "Promotieverslag (@PhdThesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr "Technisch rapport (@Techreport)"
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "Ongepubliceerd (@Unpublished)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Hoofdstuk"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Adres van uitgever"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr ""
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr ""
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "Kies het soort document dat je wilt schrijven"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Artikel"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Rapport"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Brief"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Presentatie:"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr ""
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr ""
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Auteur:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr ""
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr ""
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr ""
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr ""
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:40
      #, fuzzy
      msgid "LaTeX letters"
      msgstr "Griekse letters"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Griekse letters"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Duitse umlauts"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Overige"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Pijlen"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Relationeel"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Binaire operatoren"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Schreefschrift"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Vet"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Onderstreep"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Kleine hoofdletters"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr ""
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr ""
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr ""
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr ""
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr ""
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr ""
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr ""
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr ""
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Knip naar klembord"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "Kopiëer naar klembord"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Plak van klembord"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Knip huidige regel naar klembord"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Kopiëer huidige regel naar klembord"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "Verwijder karakter aan linkerzijde"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "Verwijder karakter aan rechterzijde"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "Verwijder karakter aan linkerzijde (maar geen nieuwe regel)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "Verwijder tot aan het begin van het woord aan de linkerzijde"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "Verwijder tot aan het begin van het woord aan de rechterzijde"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "Verwijder tot aan het eind van het woord aan de rechterzijde"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "Verwijder tot aan het begin van de regel"
      
      #: ../geanymacro/src/geanymacro.c:68
      #, fuzzy
      msgid "Delete to end of line"
      msgstr "Verwijder tot aan het eind van de regel"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Verwijder huidige regel"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr "Achterwaardse tab (verwijderd tab als er niets op volgt)"
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:109
      #, fuzzy
      msgid "Extend Selection to end of line"
      msgstr "Zet op een regel"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      #, fuzzy
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Zet op een regel"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:138
      #, fuzzy
      msgid "Newline"
      msgstr "Onderstreep"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      #, fuzzy
      msgid "Search for next \"\""
      msgstr "Zoek naar:"
      
      #: ../geanymacro/src/geanymacro.c:151
      #, fuzzy
      msgid "Search for previous \"\""
      msgstr "Zoek naar begin van een woord:"
      
      #: ../geanymacro/src/geanymacro.c:152
      #, fuzzy
      msgid "Set start of search to beginning of selection"
      msgstr "Verwijder tot aan het begin van de regel"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:369
      #, fuzzy
      msgid "No text in clipboard!"
      msgstr "Kopiëer volledig pad naar klembord"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Zoekopties:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "Zoek voorwaarts"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Zoek achterwaarts"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "Zoek naar inoud van klembord"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr "Zoek naar:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "Zoeken is hoofdlettergevoelig"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Zoek naar gehele woord:"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Zoek naar begin van een woord:"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "Zoektekst is een reguliere expressie"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "Zoeken gebeurt POSIX compatibel"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr ""
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      #, fuzzy
      msgid "_Delete"
      msgstr "Verwijder"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr ""
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr ""
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      #, fuzzy
      msgid "selection"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      #, fuzzy
      msgid "document"
      msgstr "Documentatie"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Ga naar begin van de regel"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr "Ga naar bewaarde positie op de regel"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr "Ga naar positie in huidige regel"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Ga naar het eind van de regel"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "Tijdelijk bestand kon niet aangemaakt worden"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      "Er zijn geen ontvangers geselecteerd,\n"
      "Wilt u een symetrische codering gebruiken?"
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr "gpg encryptie plugin voor geany"
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr "Gebruikte libgpgme versie:"
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr "Error van"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "Codeer"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "Signeer"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr "Decodeer / Verifiëer"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr "Verifiëer losse handtekening"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Selecteer a.u.b. een ontvanger"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Signeer het bericht als:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Selecteer ontvangers"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "Kies een sleutel om mee te signeren"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "Selecteer een ondertekenaar"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "pinentry kan niet gebruikt worden"
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "Onverwachte output van pinentry"
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr "Wachtwoord invoeren"
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Wachtwoord"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "Voer wachtwoord in voor"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "er is een fout opgetreden in pinentry "
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "Onverwachte fout in pinentry"
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      "Error, Wachtwoord invoer zonder gpg-agent wordt nog niet ondersteund op "
      "Windows"
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr "een sleutel met vingerafdruk"
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "onbekend"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "ongedefiniëerd"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "nooit"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "marginaal"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "volledig"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr "ultiem"
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr "[verkeerde geldigheids waarde]"
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr " geldig"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr " groen"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr " rood"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr " ingetrokken"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " sleutel-herroepen"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " handtekening-verlopen"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " sleutel-mist"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " crl-mist"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " crl-te-oud"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr " verkeerd-beleid"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr " sys-error"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Onbekend\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      "status ...........: %s\n"
      "samenvatting .....:%s\n"
      "vingerafdruk .....: %s\n"
      "gemaakt ..........: %sverloopt .........: %sgeldigheid .......: %s\n"
      "geldigheidsreden .: %s\n"
      "pub.sleutel algo .: %s\n"
      "samenvattings algo: %s\n"
      "pka adres ........: %s\n"
      "pka vertrouwen ...: %s\n"
      "andere flags .....:%s%s\n"
      "notaties .........: %s\n"
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Geen]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Onbekend"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "nvt"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "fout"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "goed"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr "gereserveerd voor toekomstig gebruik"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr " verkeerd sleutel gebruik"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr " kettingmodel"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "ja"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "nee"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "Handtekening gevonden van"
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Handtekening"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "Kon geen verificatie resultaten vinden"
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "Error, kon geen verificatieresultaten vinden"
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Open handtekeningsbestand"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr "Zijbalk weergeven"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Project voorkeuren"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Nieuw project"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "Creër"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Naam:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Lokatie:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Kies projektlokatie"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Basismap:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Basismap van alle bestanden die samen het project vormen. Dit kan zowel een "
      "nieuw of bestaande map zijn. Je kunt de paden relatief kiezenten opzichte "
      "van het projektbestand."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Kies basismap voor project"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Genereer bestandenlijst bij inladen"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Type:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Project bestand \"%s\" bestaat al"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "Project"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Verwijder project"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Voeg bestand toe"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Voorkeuren"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Zoek in project"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Verwijder bestand"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Verberg zijbalk"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr ""
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projekt \"%s\" geopend."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      #, fuzzy
      msgid "GeanyPy"
      msgstr "GeanyVB"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, fuzzy, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Kon configuratie map niet creëren op '%s'"
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, fuzzy, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "Kon configuratie map niet creëren op '%s'"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:44
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr ""
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr "Laat Hulpmiddelenbalk pictogram"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Laat in de hulpmiddelenbalk een pictogram zien om een bestand te versturen."
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr ""
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "GeanyVB"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "Interface voor diverse revisiebeheerprogramma's."
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated: Kon \"%s\" niet hernoemen tot \"%s\""
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "Er zijn geen wijzigingen gemaakt."
      
      #: ../geanyvc/src/geanyvc.c:738
      #, fuzzy
      msgid "No history available"
      msgstr "Geen geschiedenis beschikbaar."
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Wil je echt de wijzigingen in \"%s\" terugdraaien?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Wil je echt \"%s\" toevoegen?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Wil je echt \"%s\" verwijderen"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "Wil je echt updaten?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "Doorvoeren J/N"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Toestand"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Pad"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "Doorvoeren"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "(De-)selecteer alle bestanden"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "Doorvoer commentaar:"
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr "Doorvoeren"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "Niets door te voeren."
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "Fout tijdens spellingscontrole-initialisatie: \"%s\""
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      "Zet vlag 'gewijzigd' bij tabbladen van de door plugin gecreërde documenten."
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Als deze optie is geactiveerd, zal elk nieuw, door de VC-plugin gecreërd, "
      "document als 'gewijzigd' worden gemarkeerd. Hoewel bruikbaar in een aantal "
      "gevallen, zal het mogelijkerwijs ook een groot aantal hinderlijke 'Wil je "
      "dit bewaren' dialogen veroorzaken."
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr "Bevestig het toevoegen van nieuwe bestanden aan VBS."
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Laat een bevestigingsdialoog zien bij het toevoegen van een nieuw (gecreërd) "
      "bestand aan het VBS."
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "Maximaliseer doorvoer dialoog."
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "Laat doorvoer dialoog maximalisatie zien."
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "Gebruik externe diff viewer"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "Gebruik externe diff viewer voor bestanden."
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "Laat VB entries zien bij editor menu"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Laat entries voor VB functies in editor menu"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "Spellingscontroletaal"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr "VB bestandhandelingen"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "Maak een 'diff' van het huidige actieve bestand"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "Draai terug"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "Herstel oorspronkelijke werkversie (maak lokale wijzigingen ongedaan)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr "Laat de wijzigingen van een bestand per revisie en auteur zien."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "Laat de log van het huidige bestand zien"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "Origineel"
      
      #: ../geanyvc/src/geanyvc.c:2107
      #, fuzzy
      msgid "Shows the original of the current file"
      msgstr "Laat het origineel van het huidige bestand zien"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "Voeg aan Versie Beheer toe"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Voeg bestand aan opslagplaats toe."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "Verwijder van Versie Beheer"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Verwijder bestand van opslagplaats."
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "Map"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "Basismap"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr "VB doorvoeren"
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Laat verschil tussen bestanden zien"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Laat verschil tussen mappen zien"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "Laat verschil van basismap zien"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "Voer wijzigingen door"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Laat toestand zien"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "Draai wijzigingen van bestand terug"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "Draai wijzigingen map terug"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "Draai wijzigingen basismap terug"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Update bestand"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "VB"
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr "Versie Beheer"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "Toestand"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Laat toestand zien."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Update van opslagplaats op afstand"
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "Doorvoeren"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "Voer wijzigingen door."
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "Kon de inhoud niet als XML interpreteren."
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "Kon configuratie map niet creëren op \"%s\": '%s'"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      msgid "Failed to obtain paste URL."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      #, fuzzy
      msgid "unexpected response from the pastebin service."
      msgstr "Onverwachte fout in pinentry"
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:771
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "Verwijder bestand"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Kon configuratie bestand '%s' niet inlezen"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Kon configuratie map niet creëren op \"%s\": '%s'"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Kon configuratiebestand niet wegschrijven: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Ga naar vorige string"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Ga naar volgende bladzijde"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "Kon definitie van grafische interface niet lezen. Controleer de installatie."
      "Foutmelding '%s'"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Verwijder bestand"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Verwijder bestand"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Binaire operatoren"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "Binaire operatoren"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      #, fuzzy
      msgid "Position:"
      msgstr "Conditie"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr ""
      
      #: ../markdown/src/conf.c:581
      #, fuzzy
      msgid "Message Window"
      msgstr "_Verberg berichtenvenster"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:663
      #, fuzzy
      msgid "Select Template File"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Kon configuratiebestand niet wegschrijven: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "Kon configuratie bestand '%s' niet inlezen"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "_Verberg berichtenvenster"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "Ga naar begin van de regel"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "Open terminalvenster"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "Open URI"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      #, fuzzy
      msgid "Next tab"
      msgstr "Volgende string"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "Vorige string"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Laat toestand zien"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Kon default configuratie niet wegschrijven: %s"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "Laat regels van boom zien"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Kon default configuratie niet wegschrijven: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, fuzzy, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "Kon configuratie map niet creëren op '%s'"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "Open terminalvenster"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "Laat regels van boom zien"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Kon default configuratie niet wegschrijven: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "Laat regels van boom zien"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "Zet op een regel"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "Laat balk met hulpmiddelen zien"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      #, fuzzy
      msgid "Options"
      msgstr "Zoektermen:"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr "Vertalingshulp"
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr "Vorige string"
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr "Ga naar vorige string"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr "Volgende string"
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr "Ga naar volgende string"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr "Vorige onvertaalde string"
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr "Ga naar vorige onvertaalde string"
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr "Volgende onvertaalde string"
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr "Ga naar volgende onvertaalde string"
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr "Vorige onduidelijkheid"
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr "Ga naar de vorige onduidelijk vertaalde string"
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr "Volgende onduidelijkheid"
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr "Ga naar volgende onduidelijk vertaalde string"
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr "Vorige onvertaalde of onduidelijke string"
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr "Ga naar vorige onvertaalde of onduidelijke string"
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr "Volgende onvertaalde of onduidelijke string"
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr "Ga naar volgende onvertaalde of onduidelijke string"
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      msgid "Toggle current translation fuzziness"
      msgstr "Markeer huidige vertaling als (on)duidelijk"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr "Zet (on)duidelijkheid"
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr "Plak bericht als vertaling"
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr "Plak de orginele onvertaalde string naar de vertaling"
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      msgid "Show statistics of the current document"
      msgstr "Laat de statistieken van het hudige document zien"
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr "Laat statistiek zien"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      "Of de vertalingsinformatie (auteur, revisiedatum, ...) aangepast moet worden "
      "bij het wegschrijven"
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr "Pas vertalingsinfo aan bij wegschrijven"
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr "Vertalingsstatistieken"
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr "Kies een kleur voor de vertaalde string"
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr "Kies een kleur voor de onduidelijk vertaalde string"
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr "Kies een kleur voor de onvertaalde string"
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr "Vertaald:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr "Onduidelijk:"
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr "Onvertaalde:"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr "Vertalingshulp"
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr "Verbetert ondersteuning van GetText vertalingsbestanden."
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Vertaald: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Onduidelijk: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Onvertaald: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr "Plak originele onvertaalde string naar vertalingsveld"
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      "Kon widget '%s' niet vinden in grafische interface definitie. Controleer de "
      "installatie."
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr "Kon de inhoud niet als XML interpreteren."
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Commentaar"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr "Zet op een regel"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Uitlijning"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Project voorkeuren"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Zoek in projectbestanden"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr "Zoek in projectbestanden"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Zoek projectfile"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr "Zoek projectfile"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Zoek projectfile"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Zoek projectfile"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Zoek in projectbestanden"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      #, fuzzy
      msgid "Yes"
      msgstr "ja"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "Nee."
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr "Zoek bestand"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr "Zoek in:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "Creër nieuwe map"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Kies map:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "Toevoegingen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Zoek bestand"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "Draai wijzigingen map terug"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Alles uitvouwen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr "Alles uitvouwen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Zoek in bestanden"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "Zoek bestand"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Zoek bestand"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "Draai wijzigingen map terug"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr ""
      
      #
      #: ../scope/data/scope.glade.h:4
      #, fuzzy
      msgid "_Run/Continue"
      msgstr "Start / Ga door"
      
      #: ../scope/data/scope.glade.h:5
      #, fuzzy
      msgid "Run to _Cursor"
      msgstr "Ga door tot cursor"
      
      #: ../scope/data/scope.glade.h:6
      #, fuzzy
      msgid "Run to _Source"
      msgstr "Ga door tot cursor"
      
      #: ../scope/data/scope.glade.h:7
      #, fuzzy
      msgid "Step _Into"
      msgstr "Stap erin"
      
      #: ../scope/data/scope.glade.h:8
      #, fuzzy
      msgid "Step _Over"
      msgstr "Stap over"
      
      #: ../scope/data/scope.glade.h:9
      #, fuzzy
      msgid "Step O_ut"
      msgstr "Stap eruit"
      
      #: ../scope/data/scope.glade.h:10
      #, fuzzy
      msgid "_Terminate"
      msgstr "Open terminalvenster"
      
      #: ../scope/data/scope.glade.h:11
      #, fuzzy
      msgid "Toggle _Breakpoint"
      msgstr "Breekpunten"
      
      #: ../scope/data/scope.glade.h:12
      #, fuzzy
      msgid "_GDB Command"
      msgstr "Commando 0:"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:14
      #, fuzzy
      msgid "_Show Terminal"
      msgstr "Open terminalvenster"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:27
      #, fuzzy
      msgid "S_elect on"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:29
      #, fuzzy
      msgid "_Stopped"
      msgstr "Stop"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      #, fuzzy
      msgid "Show _Core"
      msgstr "Laat balk met hulpmiddelen zien"
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      #, fuzzy
      msgid "Show _Address"
      msgstr "Adres"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:46
      #, fuzzy
      msgid "_Locale"
      msgstr "Lokale variabelen"
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:48
      #, fuzzy
      msgid "_Show .names"
      msgstr "Laat pictogrammen zien"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:57
      #, fuzzy
      msgid "_Expand"
      msgstr "Alles uitvouwen"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      #, fuzzy
      msgid "_Inspect Variable"
      msgstr "Omgevingsvariabelen"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr "Lokale variabelen"
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:73
      #, fuzzy
      msgid "Enter gdb command:"
      msgstr "Extern commando op te openen"
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:80
      #, fuzzy
      msgid "_Arguments:"
      msgstr "Uitlijning"
      
      #: ../scope/data/scope.glade.h:81
      #, fuzzy
      msgid "En_vironment:"
      msgstr "Omgevingsvariabelen"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:89
      #, fuzzy
      msgid "Open on"
      msgstr "Open URI"
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      #, fuzzy
      msgid "Update all _views"
      msgstr "Update takenlijst"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:98
      #, fuzzy
      msgid "and"
      msgstr "fout"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:100
      #, fuzzy
      msgid "names"
      msgstr "Hernoem"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:102
      #, fuzzy
      msgid "E_xpand on apply"
      msgstr "Alles uitvouwen"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      #, fuzzy
      msgid "Show _tooltips"
      msgstr "Laat balk met hulpmiddelen zien"
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:110
      #, fuzzy
      msgid "_Import"
      msgstr "Rapport"
      
      #: ../scope/data/scope.glade.h:111
      #, fuzzy
      msgid "Enter assignment expression:"
      msgstr "Kan expressie niet evalueren"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:113
      #, fuzzy
      msgid "Object:"
      msgstr "Hernoem object"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      #, fuzzy
      msgid "Expand"
      msgstr "Alles uitvouwen"
      
      #: ../scope/data/scope.glade.h:120
      #, fuzzy
      msgid "Start:"
      msgstr "Herstart"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      #, fuzzy
      msgid "_Expand on apply"
      msgstr "Alles uitvouwen"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program Terminal"
      msgstr "Debug terminaalvenster"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      #, fuzzy
      msgid "breakpoint"
      msgstr "Breekpunten"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "Breekpunten"
      
      #: ../scope/src/break.c:99
      #, fuzzy
      msgid "tracepoint"
      msgstr "Breekpunten"
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:106
      #, fuzzy
      msgid "read watchpoint"
      msgstr "Breekpunten"
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr ""
      
      #: ../scope/src/break.c:142
      #, fuzzy
      msgid "Run to Cursor"
      msgstr "Ga door tot cursor"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      #, fuzzy
      msgid "Add Breakpoint"
      msgstr "Breekpunten"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      #, fuzzy
      msgid "Feed Terminal"
      msgstr "Open terminalvenster"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, fuzzy, c-format
      msgid "Scope: %s."
      msgstr "Sluit: %s"
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr ""
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr ""
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr ""
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr ""
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr ""
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr ""
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      #, fuzzy
      msgid "Watch expression"
      msgstr "Kan expressie niet evalueren"
      
      #: ../scope/src/menu.c:483
      #, fuzzy
      msgid "Inspect variable"
      msgstr "Verwijder variabele?"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select Folder"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select File"
      msgstr "Selecteer een ondertekenaar"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      #, fuzzy
      msgid "Scope: created configuration file."
      msgstr "Fout gedurende inladen configuratie bestand"
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr ""
      
      #: ../scope/src/program.c:383
      #, fuzzy, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr "Ga door"
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr ""
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      msgid "Setup program"
      msgstr ""
      
      #
      #: ../scope/src/scope.c:62
      #, fuzzy
      msgid "Run/continue"
      msgstr "Start / Ga door"
      
      #: ../scope/src/scope.c:64
      #, fuzzy
      msgid "Run to source"
      msgstr "Ga door tot cursor"
      
      #: ../scope/src/scope.c:68
      #, fuzzy
      msgid "Terminate"
      msgstr "Open terminalvenster"
      
      #: ../scope/src/scope.c:69
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "Breekpunten"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr ""
      
      #: ../scope/src/scope.c:72
      #, fuzzy
      msgid "Show terminal"
      msgstr "Laat regels van boom zien"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr ""
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      #, fuzzy
      msgid "Breaks"
      msgstr "Breekpunten"
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr ""
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr ""
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr ""
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr ""
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr ""
      
      #: ../scope/src/thread.c:893
      #, fuzzy
      msgid "Stopped"
      msgstr "Stop"
      
      #: ../scope/src/utils.c:37
      #, fuzzy, c-format
      msgid "%s: %s."
      msgstr "Sluit: %s"
      
      #: ../scope/src/utils.c:45
      #, fuzzy, c-format
      msgid "%s: %s"
      msgstr "Sluit: %s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr ""
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr ""
      
      #: ../scope/src/views.c:558
      #, fuzzy
      msgid "GDB Command"
      msgstr "Commando 0:"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr ""
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr ""
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Controleert bestand \"%s\" (regels %d t/m %d dmv. %s):"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Controleert bestand \"%s\" (dmv. %s):"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "The gecontroleerde tekst is korrekt gespeld"
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "De Enchant bibliotheek kon niet geïnitialiseerd worden (%s)"
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "onbekende fout (misschien is de gekozen taal niet beschikbaar)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "Spellingscontrole"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Controleert de spelling in het huidige bestand"
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "Draai spellingscontrole"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr ""
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Kies map:"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Zet spellingscontrole item in de hulpmiddelenbalk"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:294
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Laat een 'Open URI' menu item in het editor menu zien"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Geef verkeerd gespelde woorden en suggesties in berichtenvenster weer"
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Controleer spelling gedurende het typen"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Controleer spelling gedurende het typen"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "Te gebruiken taal voor spellingscontrole:"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "Map om maar woordenboekbestanden te zoeken:"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "Spellingscontrole gedurende het typen is aangeschakeld"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "Spellingscontrole gedurende het typen is uitgeschakeld"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Meer..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(Geen suggesties)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Voeg \"%s\" aan woordenboek toe"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Negeer alles"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr "Zoekterm is te lang om suggesties te genereren in editor menu"
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Voer spellingscontrole uit"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Spellingssuggesties"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr ""
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Tabelconversie"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      msgid "LaTeX"
      msgstr "LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr "HTML"
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr "SQL"
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr "DokuWiki"
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Er ging iets fout met het interpreteren van de selectie. Afgebroken."
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr "Zet selectie om naar tabel."
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "Zet om naar tabel"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "Zet huidige gemarkeerde lijst om naar een tabel."
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr "Meer tabelomzetting"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      "Deze plug-in voegt een TreeBrowser toe aan Geany, waardoor de gebruiker door "
      "de boomstructuur van de huidige map heen kan bladeren."
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: map bestaat niet."
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(Leeg)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Kon extern geconfigureerde commando '%s' (%s) niet uitvoeren."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "NieuweMap"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "NieuwBestand"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "Doelbestand '%s' bestaat reeds,\n"
      "wil je het echt vervangen door een leeg bestand?"
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Wil je echt '%s' verwijderen?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Ga naar boven"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Zet pad van document"
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr "Open extern"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Open terminalvenster"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Stel in als begin"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Ververs"
      
      #: ../treebrowser/src/treebrowser.c:1234
      msgid "_Find in Files"
      msgstr "Zoek in bestanden"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Creër nieuwe map"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Creër nieuw bestand"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Hernoem"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Verwijder"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Sluit: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr "Sluit "
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr "Kopiëer volledig padnaam naar klembord"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Alles samenvouwen"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Laat bladwijzers zien"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Laat verborgen bestanden zien"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr "Laat balk met hulpmiddelen zien"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "Doelbestand '%s' bestaat, wil je het echt vervangen?"
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Thuis"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr "Volg pad"
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "Verberg balken"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      "Filter (*.c;*.h;*.cpp), en als je tijdelijk andersom wilt filteren gebruik "
      "'!' zoals bijvoorbeeld '!;*.c;*.h;*.cpp'"
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Adresregel, bijvoorbeeld '/projecten/mijn-project'"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Extern commando op te openen"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "Het commando dat uitgevoerd wordt bij \"Open met\". Je kunt 'wildcards' %f "
      "en %d gebruiken.\n"
      "%f zal vervangen worden door de bestandsnaam inclusief volledig pad\n"
      "%d zal vervangen worden door slechts de padnaam van de geselecteerde bestand."
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "Hulpmiddelenbalk"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "Verborgen"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "Bovenaan"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "Onderaan"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr "De plug-in moet herstart worden als de positie gewijzigd is."
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr "Laat pictogrammen zien"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "Geen"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr "Basis"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr "Inhouds-type"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr "Dit verbergt bestanden, in Windows, die beginnen met een '.' (punt)"
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Verberg object bestanden"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Laat geen gegenereerde object bestanden zien in de bestandsbrowser, "
      "waaronder *.o, *.obj. *.so, *.dll, *.a, *.lib"
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "Keer filter om"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "Volg huidige directory"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr "Enkele klik, open document en zet op de voorgrond"
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Dubbelklik, open map"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "Sluit bestand af wanneer het wordt verwijderd en nog geopend is."
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "Laat regels van boom zien"
      
      #: ../treebrowser/src/treebrowser.c:2053
      #, fuzzy
      msgid "Open new files"
      msgstr "Creër nieuw bestand"
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "Zet bestandslijst op voorgrond"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr "Zet pad entry op voorgrond"
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr "Hernoem object"
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr "Creër nieuw bestand"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr "Creër nieuwe map"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr "Update controleur"
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:15
      #, fuzzy
      msgid "message-window"
      msgstr "_Verberg berichtenvenster"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr ""
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "Schakel naar bladwijzerlijst"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Herlaad huidige bladzijde"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Laat bladwijzers zien"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr ""
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr "XML Snippers"
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Completeerd automatisch XML/HTML labels."
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "Controleer configuratie: er is een fout opgetreden bij het instellen van "
      #~ "de taal voor de spellingscontrole. Foutmelding: \"%s\""
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Zoek projectfile"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "Zoek projectfile"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "Een plug-in om lijsten naar tabellen om te zetten."
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Deze plug-in voegt mogelijkheden toe om te navigeren tussen "
      #~ "bronbestanden.\n"
      #~ "Op dit moment worden ondersteund:\n"
      #~ "- heen en terugspringen tussen een .cpp bestand en bijbehorende .h "
      #~ "bestand\n"
      #~ "- (openen van een bestand door naam te typen)"
      
      #~ msgid "Goto file"
      #~ msgstr "Ga naar bestand"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Van plug-in %s)"
      
      #~ msgid "Unknown signal"
      #~ msgstr "Onbekend signaal"
      
      #~ msgid "(unknown)"
      #~ msgstr "onbekend"
      
      #~ msgid "reason:"
      #~ msgstr "Reden"
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr "Doelbestand moet een 32-bit ELF executable zijn."
      
      #, fuzzy
      #~ msgid "Seach for:"
      #~ msgstr "Zoek naar:"
      
      #~ msgid "Tabs"
      #~ msgstr "Tabbladen"
      geany-plugins-1.27/po/pt_BR.po0000644000175000017500000062121412671261352016512 0ustar00frlanfrlan00000000000000# Portuguese translations for geany-plugins package.
      # Copyright (C) 2009 GEANY'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the PACKAGE package.
      # Adrovane Marques Kade , 2009.
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: \n"
      "Last-Translator: Adrovane Marques Kade \n"
      "Language-Team: Adrovane Marques Kade \n"
      "Language: \n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "X-Poedit-Language: Portuguese\n"
      "X-Poedit-Country: BRAZIL\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Linha vazia)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "_Remover Bookmark"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "Não."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Conteúdos"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Marcadores"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "At_ualizar"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Ocultar Janela de Mensagens"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Arquivo"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Linha"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Type"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Tarefa"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Tarefas"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Contexto:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "Rotulação XML"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Nome de rótulo a ser inserido:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Abrir URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Copiar URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      #, fuzzy
      msgid "Enclose Characters"
      msgstr "Caracteres de Seta"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      #, fuzzy
      msgid "Cancel"
      msgstr "Codificação"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:279
      #, fuzzy
      msgid "Opening Character"
      msgstr "I_nserir Caracter Especial"
      
      #: ../addons/src/ao_wrapwords.c:286
      #, fuzzy
      msgid "Closing Character"
      msgstr "Caracteres de Seta"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Fec_har Outros Documentos"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "_Fechar Todos"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Exibir Lista de Documentos"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, fuzzy, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Copiar caminho completo"
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      #, fuzzy
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Verifica a ortografia do documento atual."
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Complementos"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Diversos pequenos complementos para o Geany."
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "Focar Lista de Bookmarks"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "Focar Lista de Tarefas"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "Atualizar Lista de Tarefas"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr "Executar rotulação de XML"
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "O diretório de configuração de plugins não pôde ser criado."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      "Exibir um item na barra de ferramentas para mostrar uma lista dos arquivos "
      "atualmente abertos"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:472
      #, fuzzy
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Define a codificação para o seu novo documento"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:504
      #, fuzzy
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Exibir um item de menu 'Abrir URI' no menu do editor"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "Exibir Tarefas disponíveis na Janela de Mensagens"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "Exibir tarefas de todos os documentos"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Exibe ou não as tarefas de todos os documentos abertos na lista ou somente "
      "as do documento atual."
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      "Especificar uma lista separada por ponto-e-vírgula dos símbolos de pesquisa."
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr "Pesquisar símbolos:"
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "Exibir ícone de estado na Área de Notificação"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Exibir bookmarks definidos (linhas marcadas) na barra lateral"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      "Marcar todas as ocorrẽncias de uma palavra ao fazer duplo clique sobre ela"
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr "Remover linhas em branco no final"
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr "Rotular XML para seleção"
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "Não definir nenhum encoding"
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientação do Papel:"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      #, fuzzy
      msgid "Suppress double-completion"
      msgstr "Modo de auto-completação"
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Seleção Extra"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "Definir seleção um nível para baixo"
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Navegação no Código"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Alternar cabeçalho/implementação"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr "Extensões de implementações"
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr "Extensões de cabeçalhos"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Padrão"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, fuzzy, c-format
      msgid "%s not found, create it?"
      msgstr "%s não encontrado. Deseja criá-lo?"
      
      #: ../commander/src/commander-plugin.c:43
      #, fuzzy
      msgid "Commander"
      msgstr "Comando 0:"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      #, fuzzy
      msgid "Show Command Panel"
      msgstr "Nome do Comando:"
      
      #: ../debugger/src/plugin.c:56
      #, fuzzy
      msgid "Debugger"
      msgstr "Depurar"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Depurar"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      #, fuzzy
      msgid "Name"
      msgstr "Nome:"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:252
      #, fuzzy
      msgid "Target:"
      msgstr "large"
      
      #: ../debugger/src/tpage.c:255
      #, fuzzy
      msgid "Browse"
      msgstr "Navegar..."
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      #, fuzzy
      msgid "Debugger:"
      msgstr "Depurar"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      #, fuzzy
      msgid "Command Line Arguments"
      msgstr "Nome do Comando:"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      #, fuzzy
      msgid "Environment Variables"
      msgstr "/Ambientes"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      #, fuzzy
      msgid "Delete variable?"
      msgstr "Variáveis locais"
      
      #: ../debugger/src/bptree.c:676
      #, fuzzy
      msgid "Location"
      msgstr "Local:"
      
      #: ../debugger/src/bptree.c:685
      #, fuzzy
      msgid "Condition"
      msgstr "Edition"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr ""
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "O programa recebeu sinal:"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, fuzzy, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Programa encerrado com código %d [%s]\n"
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr ""
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Address"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      #, fuzzy
      msgid "Function"
      msgstr "Argumentos da função"
      
      #: ../debugger/src/tabs.c:132
      #, fuzzy
      msgid "Target"
      msgstr "large"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Pontos de quebra"
      
      #: ../debugger/src/tabs.c:138
      #, fuzzy
      msgid "Watch"
      msgstr "Pontos de observação"
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      #, fuzzy
      msgid "Call Stack"
      msgstr "_Empilhar"
      
      #: ../debugger/src/tabs.c:147
      #, fuzzy
      msgid "Debug Terminal"
      msgstr "Executar no terminal"
      
      #: ../debugger/src/tabs.c:150
      #, fuzzy
      msgid "Debugger Messages"
      msgstr "Depurar"
      
      #: ../debugger/src/keys.c:49
      #, fuzzy
      msgid "Run / Continue"
      msgstr "Contando..."
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      #, fuzzy
      msgid "Restart"
      msgstr "iniciando"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      #, fuzzy
      msgid "Step into"
      msgstr "Step _in"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      #, fuzzy
      msgid "Step out"
      msgstr "Step _in"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Run to cursor"
      msgstr "Executar até o local"
      
      #: ../debugger/src/keys.c:56
      #, fuzzy
      msgid "Add / Remove breakpoint"
      msgstr "Inclui ou remove pontos de quebra."
      
      #: ../debugger/src/keys.c:57
      #, fuzzy
      msgid "Jump to the current instruction"
      msgstr "Completa a função atualmente em execução."
      
      #: ../debugger/src/watch_model.c:220
      #, fuzzy
      msgid "Can't evaluate expression"
      msgstr "expressão regular inválida: %s"
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      #, fuzzy
      msgid "Run"
      msgstr "Executa_r"
      
      #: ../debugger/src/btnpanel.c:132
      #, fuzzy
      msgid "Settings"
      msgstr "definição"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:154
      #, fuzzy
      msgid "Continue"
      msgstr "Contando..."
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      #, fuzzy
      msgid "Documentation"
      msgstr "Tipo de Documentação"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:397
      #, fuzzy
      msgid "Manual Pages"
      msgstr "Manual"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      #, fuzzy
      msgid "Search"
      msgstr "Pesquisar símbolos:"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, fuzzy, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Inserir Comentário de Documentação"
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, fuzzy, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, fuzzy, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, fuzzy, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      #, fuzzy
      msgid "Toggle documentation tab"
      msgstr "tipo de documentação"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      #, fuzzy
      msgid "Book:"
      msgstr "Book"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Book"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      #, fuzzy
      msgid "Page"
      msgstr "Pages"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      #, fuzzy
      msgid "Macro"
      msgstr "Editar ponto de observação"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:620
      #, fuzzy
      msgid "Search in:"
      msgstr "Pesquisar símbolos:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_Arquivo"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      #, fuzzy
      msgid "_Edit"
      msgstr "Editor"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr ""
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      #, fuzzy
      msgid "Find Next"
      msgstr "Incluir Arquivo"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      #, fuzzy
      msgid "Find Previous"
      msgstr "Pesquisa em Projeto"
      
      #: ../devhelp/devhelp/dh-window.c:791
      #, fuzzy
      msgid "Go to the previous page"
      msgstr "Retornar para o diálogo anterior."
      
      #: ../devhelp/devhelp/dh-window.c:794
      #, fuzzy
      msgid "Go to the next page"
      msgstr "Pula para a próxima linha."
      
      #: ../devhelp/devhelp/dh-window.c:797
      #, fuzzy
      msgid "_Contents Tab"
      msgstr "Conteúdos"
      
      #: ../devhelp/devhelp/dh-window.c:800
      #, fuzzy
      msgid "_Search Tab"
      msgstr "Pesquisar símbolos:"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:810
      #, fuzzy
      msgid "_Normal Size"
      msgstr "normalsize"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr ""
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      #, fuzzy
      msgid "Larger"
      msgstr "Large"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      #, fuzzy
      msgid "Smaller"
      msgstr "small"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1100
      #, fuzzy
      msgid "Preferences…"
      msgstr "Preferẽncias"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      #, fuzzy
      msgid "Empty Page"
      msgstr "(Linha vazia)"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:149
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: arquivo ou diretório não existente"
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "Pesquisar símbolos:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      #, fuzzy
      msgid "prefix"
      msgstr "_Prefixo base"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "Letter"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "Relacional"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "Geral"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Incluir Arquivo"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "Incluir Arquivo"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Chama o visualizador de documentação no símbolo atual."
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "Não foi possível reconhecer a saída do comando"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Colocar saída no buffer"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Comando 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Comando 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w será substituída pela palavra atual\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr "Palavra atual do documento"
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr "Documento interativo"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Seleção Extra"
      
      #: ../geanyextrasel/src/extrasel.c:34
      #, fuzzy
      msgid "Column mode, select to line / brace / anchor."
      msgstr "Modo coluna, seleção até a linha / colchete casado."
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "Seleção E_xtra"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr "Modo _Coluna"
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr "Modo coluna"
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr "Selecionar até _Linha"
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr "Seleciona até a linha"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr "Selecionar até o C_olchete Casado"
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr "Selecionar até o colchete casado"
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      #, fuzzy
      msgid "Select to _Anchor"
      msgstr "Selecionar até _Linha"
      
      #: ../geanyextrasel/src/extrasel.c:547
      #, fuzzy
      msgid "Select to anchor"
      msgstr "Seleciona até a linha"
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "valor booleano"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "valor booleano inválido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "template inválido: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "nome da posição"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "posição inválida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "nome da política"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "política inválida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "polígica de fusão"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr "política de fusão inválida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "tipo"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "tipo inválido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "nome de definição inválido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr "identificador de definição"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Tipo desconhecido \"%s\", foi um erro de digitação?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr "identificador de casamento"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr "Identificador de casamento está vazio"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "identificador de tipo de documentação"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "tipo de documentação"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "expressão regular inválida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "descrição de ambiente inválida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr "definição"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "nome de seção"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "seção duplicada \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "nome de seção inválido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "entrada está vazia"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "Aviso do analisador: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "Erro do analisador: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Rótulo inválido"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      "Arquivo de configuração de tipo de arquivo para a linguagem \"%s\" não "
      "encontrado: %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr "Falha ao carregar tipo de arquivo \"%s\" do arquivo \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "Gerador de Documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr "Gera documentação base a partir do código-fonte"
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      "Falha ao encontrar arquivo de configuração para o tipo de arquivo \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, fuzzy, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Falha ao carregar tipo de arquivo \"%s\" do arquivo \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr "Inserir Comentário de Documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr "Símbolo Atual do _Documento"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr "Gerar documentação para o símbolo atual"
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr "Document_ar Todos os Símbolos"
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Gerar documentação para todos os símbolos do documento atual"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "_Recarregar Arquivos de Configuração"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "Forçar recarga dos arquivos de configuração"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "_Editar Configuração da Linguagem Atual"
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr "Abrir o arquivo de configuração da linguagem atual para edição"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Abrir _Manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Abrir o manual em um navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "Gerador de _Documentação"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "Geral"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "_Salvar o arquivo antes de gerar a documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Salvar ou não o documento atual no disco antes de gerar a documentação. Esse "
      "é um detalhe técnico, mas é atualmente necessário para ter uma lista de "
      "rótulos atualizada. Se você desabilitar essa opção e solicitar a geração de "
      "documentação em um documento modificado, o comportamento pode ser "
      "surpreendente, já que o comentário será gerado para o último estado salvo "
      "deste documento e não o atual."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr "Endentar documentação _inserida"
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Endentar ou não a documentação inserida para ajustar-se à endentação na "
      "posição de inserção."
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo de Documentação"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "Escolher o tipo de documentação para usar com cada tipo de arquivo. A "
      "linguagem especial \"Tudo\" no topo da lista é usada para escolher o tipo de "
      "documentação padrão, usada para todas as linguagens que ainda não tiverem um "
      "tipo definido."
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr "Ambiente global"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "Substituições e adições do ambiente global. Esse ambiente será fundido com "
      "aqueles específicos de tipos de arquivo."
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "O arquivo \"%s\" existe mas não é um arquivo regular"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: arquivo ou diretório não existente"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "Falha ao redimensionar fluxo de saída de memória"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      "Reconhecimento de expressão regular de argumento não casa (a lista de "
      "argumentos foi \"%s\")"
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "Falha ao adicionar ambiente global, pulando: %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "Falha ao construir comentário: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "Tipo de documentação \"%s\" não existe para a linguagem \"%s\"."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      "Nenhuma definição aplica-se ao símbolo \"%s\" do tipo \"%s\" na linha %lu."
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "Nenhum rótulo válido na linha %d."
      
      #: ../geanygendoc/src/ggd.c:582
      #, fuzzy
      msgid "No tags in the document"
      msgstr "Exibir tarefas de todos os documentos"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Opção desconhecida"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      "Opção ou proxy inválido: ou a propriedade do proxy ou o tipo de opção é "
      "incompatível."
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "Tipo de valor desconhecido para entrada de arquivo chave %s::%s"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr "Erro ao recuperar entrada de arquivo chave %s::%s: %s"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Linguagem"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      #, fuzzy
      msgid "_Change associated documentation type"
      msgstr "Endentar documentação _inserida"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      #, fuzzy
      msgid "_Disassociate documentation type"
      msgstr "tipo de documentação"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Tudo"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      "Tipo de documentação padrão para linguagens que não tem um tipo definido"
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "Inserir Números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "Inserir/Preencher colunas com números."
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Contando..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Preparando..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Inserindo..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "Para base 11 e acima"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "_Início:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "_Passo:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Letras:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "Maiúsc_ulas"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "_Minúscul_o"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "_Prefixo base"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 para octal, 0x para hexa, + para decimal positivo"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Padding:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Esp_aço"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "_Zero"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "Inserir _Números"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "/Ambientes"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Formatação"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Estrutura do Documento"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Listas"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Matemática"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Inserir Ambiente"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Ambiente:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "Não foi possível determinar onde inserir o pacote: %s\n"
      "Por favor, tente inserir o pacote manualmente"
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr "Não foi possível determinar onde inserir o pacote: %s"
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      #, fuzzy
      msgid "Incollection (@Incollection)"
      msgstr "Incollection"
      
      #: ../geanylatex/src/bibtexlabels.c:33
      #, fuzzy
      msgid "Inproceedings (@Inproceedings)"
      msgstr "Inproceedings"
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:35
      #, fuzzy
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "Mastersthesis"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr "Annote"
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Author"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr "Booktitle"
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Chapter"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr "Crossref"
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Edition"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "E-print"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr "HowPublished"
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Institution"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Journal"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Key"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Month"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Note"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Number"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organization"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Pages"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Publisher"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "School"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Series"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Title"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Volume"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Year"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Address of publisher"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr "Annotation for annotated bibliography styles"
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "Nome(s) do(s) autor(es), separado(s) por 'and' se for mais de um"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "Título do livro, se somente parte dele estiver sendo citada"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Número do capítulo"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr "Chave de citação da entrada de referẽncia cruzada"
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "Edição do livro (algo como \"primeira\" ou \"segunda\")"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "Nome(s) do(s) editor(es), separado(s) por 'and' se for mais de um"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "Especificação da publicação eletrônica"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "Método de publicação, caso seja um método não padrão"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "Instituição que esteve envolvida na publicação"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "Revista na qual o livro foi publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      "Campo oculto usado para especificar ou sobrepor a ordem alfabética das "
      "entradas"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr "Mês de publicação ou criação se não tiver sido publicada"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Miscelânea de informações extras"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "Número de journal, revista ou relatório técnico"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "Patrocinador da conferência"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "Números de página separados por vírgulas ou hífens duplos"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Nome da editora"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "Escola onde a tese foi escrita"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "Séries de livros na qual o livro foi publicado"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Título do trabalho"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Tipo de relatório técnico"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Endereço na internet"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Número do volume"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "Ano de publicação ou criação se não tiver sido publicado"
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr "Executar assistente LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "Marca o texto selecionado como itálico"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "Marca o texto selecionado como negrito"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "Sublinha o texto selecionado"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centralizado"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Alinhado à esquerda"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Alinhado à direita"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "Usar script KOMA por padrão"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "Exibir barra de plugins extra"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr "Não se preocupe com esse plugin interno"
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Sempre executar auto-completação no LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr "Modo de auto-completação"
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "Inserir Rótulo"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "Nome do rótulo:"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "Inserir Comando"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "Nome do Comando:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "Inserir Referẽncia"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "Nome da referência:"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "Referência Pa_drão"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "Referẽncia de _Página"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr "Incluir _Ambos"
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "Mais"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr "Incluir pacote adicional"
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "Nome do pacote:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr "Opções de pacote:"
      
      #: ../geanylatex/src/geanylatex.c:1267
      #, fuzzy
      msgid "Insert BibTeX Reference"
      msgstr "Inserir Referẽncia"
      
      #: ../geanylatex/src/geanylatex.c:1280
      #, fuzzy
      msgid "BibTeX reference name:"
      msgstr "Nome da referência:"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "Prezado Sr. ou Sra."
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr "Atenciosamente"
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr "Nenhum template atribuído. Abortando."
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "LaTeX-Wizard"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Template:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr "Definir o template que deve ser usado para criar o novo documento"
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "Padrão"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr "Documentclass:"
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "Escolha o tipo de documento que você quer escrever"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Article"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Report"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Letter"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Apresentação"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Codificação"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "Define a codificação para o seu novo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      #, fuzzy
      msgid "Font size"
      msgstr "Tamanho da fonte:"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr "Define o tamanho da fonte padrão do seu novo documento"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Autor:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Define o valor do comando \\author. Na maioria dos casos, deve ser o seu nome"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Data:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "Define o valor do comando \\date dentro do cabeçalho do seu novo documento "
      "LaTeX. Mantê-lo como \\today é uma boa decisão se você não precisar de uma "
      "data fixa."
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Título:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "Define o título do seu documento."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "Tamanho do papel:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "Escolha o formato de papel para o seu novo documento"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "Orientação do Papel:"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr "Escolha a orientação do papel para o seu novo documento"
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr "Usar classes KOMA-script se possível"
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "Usa as classes KOMA-script de Markus Kohm.\n"
      "Lembre-se: para compilar o seu documento essas classes devem estar "
      "previamente instaladas."
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "Usar modo rascunho"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "Define o flag draft dentro de novos documentos para obter documentos com "
      "ajudantes de depuração"
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "Executar LaTeX-Wizard"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "Inserir \\label"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "Inserir \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "Inserir quebra de linha \\\\"
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "Inserir comando"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr "Liga/Desliga a substituição de entrada"
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Substituir caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr "Executar o diálogo Inserir Ambiente"
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "Inserir \\item"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr "Formatar seleção em negrito"
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr "Formatar seleção em itálico"
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr "Formatar seleção em fonte máquina de escrever"
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "Formatar seleção centralizado"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr "Formatar seleção alinhada à direita"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr "Inserir lista de descrição"
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr "Inserir lista itemize"
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr "Inserir lista enumerate"
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr "Definir seleção um nível acima"
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr "Definir seleção um nível para baixo"
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr "Inserir \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2005
      #, fuzzy
      msgid "Insert BibTeX reference dialog"
      msgstr "Inserir Referẽncia"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX é um plugin para melhorar o suporte ao LaTeX no Geany.\n"
      "\n"
      "Por favor, informe todos os erros ou pedidos de recursos a um dos autores."
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      "glatex_set_autocompletion_contextsize foi inicializado com um valor "
      "inválido. Assumido valor padrão. Por favor, verifique o seu arquivo de "
      "configuração"
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr "página \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr "\\ref{{{reference}}}, página \\pageref{{{reference}}}"
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX-_Wizard"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Inicia um Assistente para criar facilmente documentos LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "I_nserir Caracter Especial"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "Ajuda a usar algumas letras e símbolos não muito comuns"
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "Inserir _Referência"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr "Inserindo referências no documento"
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "Inserir Rótu_lo"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "Ajuda a inserir rótulos em um documento"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "Inserir Ambi_ente"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr "Ajuda a inserir um ambiente no documento"
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "Inserir P_acote"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      "Um pequeno diálogo para inserir \\usepackage{} no cabeçalho do arquivo atual"
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formatar"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "Tamanh_o da fonte"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "_Substituir Caracteres Especiais"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr "Substitui_r Caracteres Especiais em Volume"
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "Substitui_r os caracteres especiais selecionados com substitutos TeX"
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr "Alternar _Substituição de Caracteres Especiais"
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "Inserir _Comando"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr "Inserindo comandos personalizados no documento"
      
      #: ../geanylatex/src/geanylatex.c:2281
      #, fuzzy
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      #, fuzzy
      msgid "Insert B_ibTeX reference"
      msgstr "Inserir _Referência"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      #, fuzzy
      msgid "_BibTeX entries"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/letters.c:40
      #, fuzzy
      msgid "LaTeX letters"
      msgstr "Letras Gregas"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Letras Gregas"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Umlauts Alemães"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Misc"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Caracteres de Seta"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Relacional"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Operação binária"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Itálico"
      
      #: ../geanylatex/src/formatpatterns.c:39
      #, fuzzy
      msgid "Bold"
      msgstr "Negrito"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Sublinhado"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Máquina de escrever"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Caixa Alta"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "Inclinado"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Enfatizado"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "tiny"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr "scriptsize"
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "footnotesize"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "small"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "normalsize"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "large"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "Large"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "LARGE"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "huge"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "Huge"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "Página de código IBM 850"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "Ṕágina de código IBM 852"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "Não definir nenhum encoding"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr "Criação de texto modelo com o Geany"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Lipsum-Generator"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "Informe o tamanho do texto Lipsum"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr "Incluir Pseudotexto no seu código"
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "Inserir texto Lipsum"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      " tipo esperado \"%s\" para o argumento #%d\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      " tipo esperado \"%s\" ou \"%s\" para o argumento #%d\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      " tabela inválida no argumento #%d:\n"
      " tipo esperado \"%s\" para o elemento #%d\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Script Lua"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Escrever e executar scripts Lua para comandos personalizados."
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Plugin para Scripts Lua"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Erro no script Lua:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Tempo esgotado do script"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Um script Lua parece levar tempo demais para completar.\n"
      "Vocẽ quer continuar esperando?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Tempo esgotado do script excedido."
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(objeto erro não é uma string)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Erro desconhecido dentro do script."
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Sem memória."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "Falha ao abrir arquivo de script."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Erro desconhecido ao carregar arquivo de script."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Construindo menu de '%s'\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "Nada para configurar!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "Você pode criar o script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "para incluir o seu próprio diálogo de configuração personalizado."
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Abrir arquivo"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Selecionar arquivo"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Navegar..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Selecionar Cor"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Escolher..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Selecionar Fonte"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Selecionar..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função navigate():\n"
      "modo de navegação desconhecido \"%s\" para o argumento #1.\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "comando da API \"%s\" não implementado.\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "argumentos insuficientes para o comando \"%s\".\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "Erro no módulo \"%s\" da função %s():\n"
      "comando desconhecido \"%s\" dado pelo argumento #1.\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      " tabela inválida no argumento #%d:\n"
      "  flag desconhecida \"%s\" para o elemento #%d\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "O arquivo existe"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Você quer sobrescrevê-lo?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "confirmar"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Salvar arquivo"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função pickfile():\n"
      "falhou ao reconhecer string de filtro no argumento #3.\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "string \"open\" ou \"save\" esperada pelo argumento #1.\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: Biblioteca de apoio %s não pôde ser carregada!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: Falha ao inicializar biblioteca de apoio %s!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      "%s: Versão da biblioteca de apoio não casa: %s para %s (deveria ser %s)!\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      "%s: Versão da biblioteca de apoio ABI não casa: %d para %s (deveria ser "
      "%d)!\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: Biblioteca de apoio %s não encontrada!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "O plugin %s falhou em carregar apropriadamente.\n"
      "Por favor, verifique a sua instalação."
      
      #: ../geanylua/glspi_app.c:21
      #, fuzzy, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2008 "
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s():\n"
      "widget \"%s\"  não encontrado para o argumento #1.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "Erro no módulo \"%s\" na função %s() argumento #2:\n"
      "widget \"%s\" não tem símbolo nomeado \"%s\".\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      #, fuzzy
      msgid "Cut to Clipboard"
      msgstr "Copiar caminho completo"
      
      #: ../geanymacro/src/geanymacro.c:56
      #, fuzzy
      msgid "Copy to Clipboard"
      msgstr "Copiar caminho completo"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:59
      #, fuzzy
      msgid "Copy current line to Clipboard"
      msgstr "Copiar caminho completo"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:67
      #, fuzzy
      msgid "Delete to beginning of line"
      msgstr "Seleciona até a linha"
      
      #: ../geanymacro/src/geanymacro.c:68
      #, fuzzy
      msgid "Delete to end of line"
      msgstr "Seleciona até a linha"
      
      #: ../geanymacro/src/geanymacro.c:69
      #, fuzzy
      msgid "Delete current line"
      msgstr "Seleciona até a linha"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:88
      #, fuzzy
      msgid "Move Cursor to last line of document"
      msgstr "Exibir tarefas de todos os documentos"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:91
      #, fuzzy
      msgid "Move Cursor to first visible character"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      #, fuzzy
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:100
      #, fuzzy
      msgid "Extend Selection down a line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:101
      #, fuzzy
      msgid "Extend Selection up a line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:102
      #, fuzzy
      msgid "Extend Selection Left a line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:103
      #, fuzzy
      msgid "Extend Selection Right a line"
      msgstr "Formatar seleção alinhada à direita"
      
      #: ../geanymacro/src/geanymacro.c:104
      #, fuzzy
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:105
      #, fuzzy
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:106
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:107
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:108
      #, fuzzy
      msgid "Extend Selection to start of line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:109
      #, fuzzy
      msgid "Extend Selection to end of line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:110
      #, fuzzy
      msgid "Extend Selection to start of document"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:111
      #, fuzzy
      msgid "Extend Selection to end of document"
      msgstr "Exibir tarefas de todos os documentos"
      
      #: ../geanymacro/src/geanymacro.c:112
      #, fuzzy
      msgid "Extend Selection up one Page"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:113
      #, fuzzy
      msgid "Extend Selection down one Page"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:114
      #, fuzzy
      msgid "Extend Selection to fist visible character"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:115
      #, fuzzy
      msgid "Extend Selection to last visible character"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      #, fuzzy
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      #, fuzzy
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Exibir tarefas de todos os documentos"
      
      #: ../geanymacro/src/geanymacro.c:121
      #, fuzzy
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Exibir tarefas de todos os documentos"
      
      #: ../geanymacro/src/geanymacro.c:123
      #, fuzzy
      msgid "Extend Rectangular Selection down a line"
      msgstr "Formatar seleção alinhada à direita"
      
      #: ../geanymacro/src/geanymacro.c:124
      #, fuzzy
      msgid "Extend Rectangular Selection up a line"
      msgstr "Formatar seleção alinhada à direita"
      
      #: ../geanymacro/src/geanymacro.c:125
      #, fuzzy
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Formatar seleção alinhada à direita"
      
      #: ../geanymacro/src/geanymacro.c:126
      #, fuzzy
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Formatar seleção alinhada à direita"
      
      #: ../geanymacro/src/geanymacro.c:127
      #, fuzzy
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:128
      #, fuzzy
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:129
      #, fuzzy
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:130
      #, fuzzy
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      #, fuzzy
      msgid "Cancel Selection"
      msgstr "Seleção Extra"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:138
      #, fuzzy
      msgid "Newline"
      msgstr "Sublinhado"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      #, fuzzy
      msgid "Change selected text to lowercase"
      msgstr "Marca o texto selecionado como itálico"
      
      #: ../geanymacro/src/geanymacro.c:144
      #, fuzzy
      msgid "Change selected text to uppercase"
      msgstr "Marca o texto selecionado como negrito"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      #, fuzzy
      msgid "Search for next \"\""
      msgstr "Pesquisar símbolos:"
      
      #: ../geanymacro/src/geanymacro.c:151
      #, fuzzy
      msgid "Search for previous \"\""
      msgstr "Pesquisar símbolos:"
      
      #: ../geanymacro/src/geanymacro.c:152
      #, fuzzy
      msgid "Set start of search to beginning of selection"
      msgstr "Seleciona até a linha"
      
      #: ../geanymacro/src/geanymacro.c:181
      #, fuzzy
      msgid "Macros"
      msgstr "Editar ponto de observação"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:369
      #, fuzzy
      msgid "No text in clipboard!"
      msgstr "Copiar caminho completo"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1071
      #, fuzzy
      msgid "Macro Trigger:"
      msgstr "Gatilho de acesso:"
      
      #: ../geanymacro/src/geanymacro.c:1085
      #, fuzzy
      msgid "Macro Name:"
      msgstr "Nome:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      #, fuzzy
      msgid "Search Options:"
      msgstr "Pesquisar símbolos:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      #, fuzzy
      msgid "_Cancel"
      msgstr "Codificação"
      
      #: ../geanymacro/src/geanymacro.c:1403
      #, fuzzy
      msgid "Search Forwards"
      msgstr "Pesquisar símbolos:"
      
      #: ../geanymacro/src/geanymacro.c:1404
      #, fuzzy
      msgid "Search Backwards"
      msgstr "Pesquisar símbolos:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      #, fuzzy
      msgid "Search for contents of clipboard"
      msgstr "Copiar caminho completo"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      #, fuzzy
      msgid "Search for:"
      msgstr "Pesquisar símbolos:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      #, fuzzy
      msgid "Search is case sensitive"
      msgstr "Pesquisar símbolos:"
      
      #: ../geanymacro/src/geanymacro.c:1447
      #, fuzzy
      msgid "Search for whole word"
      msgstr "Pesquisar símbolos:"
      
      #: ../geanymacro/src/geanymacro.c:1452
      #, fuzzy
      msgid "Search for start of word"
      msgstr "Pesquisar símbolos:"
      
      #: ../geanymacro/src/geanymacro.c:1457
      #, fuzzy
      msgid "Search text is regular expression"
      msgstr "expressão regular inválida: %s"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      #, fuzzy
      msgid "Text:"
      msgstr "Contexto:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, fuzzy, c-format
      msgid "Edit: %s"
      msgstr "Editar ponto de observação"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      #, fuzzy
      msgid "_Delete"
      msgstr "Excluir"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      #, fuzzy
      msgid "Edit Macros"
      msgstr "Editar ponto de observação"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2101
      #, fuzzy
      msgid "Key Trigger"
      msgstr "Gatilho de acesso:"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr ""
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr ""
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:460
      #, fuzzy
      msgid "Display a information about the mini-script plugin"
      msgstr "Exibir informações adicionais sobre o item selecionado."
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      #, fuzzy
      msgid "selection"
      msgstr "Selecionar Fonte"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      #, fuzzy
      msgid "document"
      msgstr "Enviar docu_mento"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:527
      #, fuzzy
      msgid "New Doc."
      msgstr "Novo Projeto"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      #, fuzzy
      msgid "script configuration"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../geanyminiscript/src/gms.c:58
      #, fuzzy
      msgid "Mini Script"
      msgstr "Script Lua"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      #, fuzzy
      msgid "_Ignore"
      msgstr "Ignorar Tudo"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      #, fuzzy
      msgid "couldn't create tempfile"
      msgstr "Criar novo arquivo"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      #, fuzzy
      msgid "Error from"
      msgstr "Erro:"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:152
      #, fuzzy
      msgid "Please select any recipients"
      msgstr "Excluir ponto de observação selecionado?"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:162
      #, fuzzy
      msgid "Select recipients"
      msgstr "Selecionar diretório"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:232
      #, fuzzy
      msgid "Select signer"
      msgstr "Selecionar arquivo"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr ""
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "desconhecido"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:68
      #, fuzzy
      msgid "never"
      msgstr "_Reverter"
      
      #: ../geanypg/src/verify_aux.c:69
      #, fuzzy
      msgid "marginal"
      msgstr "_Original"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr ""
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:88
      #, fuzzy
      msgid " bad-policy"
      msgstr "polígica de fusão"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      #, fuzzy
      msgid "Unknown\n"
      msgstr "desconhecido"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      #, fuzzy
      msgid "Unknown"
      msgstr "desconhecido"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_cb.c:27
      #, fuzzy
      msgid "Open a signature file"
      msgstr "Abrir arquivo"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "Suporte a projeto alternativo."
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Preferẽncias do Projeto"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Novo Projeto"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "C_riar"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Nome:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Local:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Escolher Local do Projeto"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Caminho base:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Diretório base para todos os arquivos que compõem o projeto. Pode ser um "
      "novo caminho, ou uma árvore de diretório existente. Você pode usar caminhos "
      "relativos ao nome de arquivo do projeto."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Escolher Caminho Base do Projeto"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Gerar lista de arquivos ao carregar"
      
      #: ../geanyprj/src/menu.c:172
      #, fuzzy
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Inclui automaticamente arquivos que casam com o tipo do projeto ao carregar "
      "o projeto. Você não pode incluir/remover arquivos manualmente se você marcou "
      "essa opção, já que as suas modificações serão perdidas na próxima vez que o "
      "projeto for carregado"
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Tipo:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Arquivo de projeto \"%s\" já existe"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Projeto"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Excluir Projeto"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Incluir Arquivo"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferẽncias"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Pesquisa em Projeto"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Remover arquivo"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Ocultar S_idebar"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Projeto"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projeto \"%s\" aberto."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      #, fuzzy
      msgid "GeanyPy"
      msgstr "GeanyGDB"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, fuzzy, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      #, fuzzy
      msgid "System plugin directory not found."
      msgstr "diretório temporário tty não encontrado!\n"
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, fuzzy, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Um pequeno plugin para enviar o arquivo atual como anexo pelo programa de "
      "correio preferido do usuário"
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "Endereço do Destinatário"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "Insira o endereço de e-mail do destinatário:"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "Placeholder de nome de arquivo não encontrado. O comando executado deve ter "
      "falhado."
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "Posicionador do endereço de destinatário não encontrado. O comando executado "
      "pode ter falhado."
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Não foi possível executar o programa de correio. Por favor, verifique sua "
      "configuração."
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "Por favor, primeiro defina um cliente de e-mail."
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "O arquivo precisa ser salvo antes de ser enviado."
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "Correio"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "Enviar por correio"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "Caminho e opções para o cliente de e-mail:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      #, fuzzy
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Nota: \n"
      "\t\\%f será substituído pelo seu arquivo.\n"
      "\t\\%r será substituído pelo endereço de e-mail do destinatário.\n"
      "\t\\%b será substituído pelo nome base de um arquivo\n"
      "\tExemplos:\n"
      "\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
      "\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      #, fuzzy
      msgid "Show toolbar icon"
      msgstr "Exibir dicas de ferramentas."
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Exibe um ícone na barra de ferramentas para facilitar envio de arquivo."
      
      #: ../geanysendmail/src/geanysendmail.c:336
      #, fuzzy
      msgid "Use dialog for entering email address of recipients"
      msgstr "Usar diálogo para inserir o endereço de e-mail dos destinatários"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "Enviar arquivo por e-mail"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "Enviar docu_mento"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Envia o arquivo aberto como anexo não compactado por qualquer cliente de "
      "correio no seu $PATH"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "Interface com diferentes sistemas de Controle de Versão."
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: s_spawn_sync error: %s"
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated: Incapaz de renomear '%s' para '%s'"
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "Nenhuma alteração foi feita."
      
      #: ../geanyvc/src/geanyvc.c:738
      #, fuzzy
      msgid "No history available"
      msgstr "Histórico não disponível"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Você deseja mesmo reverter: %s?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Você deseja mesmo incluir: %s?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Você deseja mesmo remover: %s?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "Você deseja mesmo atualizar?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "Submeter S/N"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Estado"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Caminho"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "Submeter"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "_De-/selecionar todos os arquivos"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "Mensagem de submeter:"
      
      #: ../geanyvc/src/geanyvc.c:1484
      #, fuzzy
      msgid "C_ommit"
      msgstr "Submeter"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "Nada para submeter."
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "Erro ao inicializar verificação ortográfica automática: %s"
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "Definir a flag Alterado para abas de documentos criados pelo plugin"
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Se essa opção estiver ativada, cada nova aba de documento criado pelo plugin "
      "CV será marcada como alterada. Mesmo que essa opção seja útil algumas vezes, "
      "pode causar diálogos de mensagens \"Você quer salvar\" irritantes."
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr "Confirmar inclusão de novos arquivos em um SCV"
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Exibe um diálogo de confirmação ao incluir um novo (criado) arquivo ao SCV."
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "Maximizar diálogo de submeter"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "Exibe o diálogo de submeter maximizado. "
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "Usar vizualizador de diff externo"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "Usar vizualizador externo de diff para diff de arquivos."
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "Exibir entradas VC no menu do editor"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Exibir entradas para funções VC dentro do menu do editor"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "Habilitar CVS"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "Habilitar GIT"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "Habilitar SVN"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "Habilitar SVK"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Habilitar Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Habilitar Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "Linguagem para verificação ortográfica"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr "Ações de arquivo _VC"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "Faz um diff do arquivo atualmente ativo"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "_Reverter"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "Restaura cópia funcional antiga do arquivo (desfaz edições locais)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr "_Culpar"
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr "Exibe as alterações feitas em um arquivo por revisão e autor."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "_Histórico (log)"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "Exibe o log do arquivo atual"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2107
      #, fuzzy
      msgid "Shows the original of the current file"
      msgstr "Exibe o original do arquivo atual"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "_Incluir no Controle de Versões"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Inclui arquivo no repositório."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "_Remover do Controle de Versões"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Remove arquivo do repositório."
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "_Directório"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "Cria um diff do diretório do arquivo atualmente ativo"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr "Restaura arquivos originais na pasta atual (desfaz edições locais)."
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "Exibe o log do diretório atual"
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "Diretório _Base"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr "Cria um diff do diretório topo do CV"
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "Reverter quaisquer edições locais."
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr "Exibe o log do diretório topo do CV"
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr "VC _Commit"
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Exibir diff de arquivo"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Exibir diff de diretório"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "Exibir diff do diretório base"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "Submeter alterações"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Exibir estado"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "Reverter arquivo único"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "Reverter diretório"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "Reverter diretório base"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Atualizar arquivo"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "C_V"
      
      #: ../geanyvc/src/geanyvc.c:2318
      #, fuzzy
      msgid "_Version Control"
      msgstr "_Incluir no Controle de Versões"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "E_stado"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Exibe estado."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Atualizar do repositório remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "_Submeter"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "Submete alterações."
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "Diretório %s não encontrado!\n"
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "posição inválida \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      "Falha ao encontrar arquivo de configuração para o tipo de arquivo \"%s\": %s"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "Falha ao abrir arquivo de script."
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      #, fuzzy
      msgid "The author name field is empty!"
      msgstr "Identificador de casamento está vazio"
      
      #: ../geniuspaste/src/geniuspaste.c:771
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "Selecionar arquivo"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "Remover arquivo"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, fuzzy, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      "Falha ao encontrar arquivo de configuração para o tipo de arquivo \"%s\": %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Retornar para o diálogo anterior."
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Pula para a próxima linha."
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, fuzzy, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "O plugin %s falhou em carregar apropriadamente.\n"
      "Por favor, verifique a sua instalação."
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Remover arquivo"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Remover arquivo"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operação binária"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operação binária"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      #, fuzzy
      msgid "Position:"
      msgstr "Edition"
      
      #: ../markdown/src/conf.c:573
      #, fuzzy
      msgid "Sidebar"
      msgstr "Ocultar S_idebar"
      
      #: ../markdown/src/conf.c:581
      #, fuzzy
      msgid "Message Window"
      msgstr "_Ocultar Janela de Mensagens"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:663
      #, fuzzy
      msgid "Select Template File"
      msgstr "Seleciona até a linha"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "_Ocultar Janela de Mensagens"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "Ocultar S_idebar"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "Abrir Terminal"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "Abrir URI"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "Pesquisa em Projeto"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Exibir estado"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "Executar no terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Falha ao carregar configuração: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, fuzzy, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "terminado"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "Executar no terminal"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Falha ao construir comentário: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "Executar no terminal"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "nome da posição"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "Exibir dicas de ferramentas."
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      #, fuzzy
      msgid "Options"
      msgstr "_Opções"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      #, fuzzy
      msgid "Outline Color:"
      msgstr "Selecionar Cor"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      #, fuzzy
      msgid "Go to previous string"
      msgstr "Retornar para o diálogo anterior."
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      #, fuzzy
      msgid "Go to next string"
      msgstr "Pula para a próxima linha."
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      #, fuzzy
      msgid "Toggle current translation fuzziness"
      msgstr "tipo de documentação"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      #, fuzzy
      msgid "Show statistics of the current document"
      msgstr "Verifica a ortografia do documento atual."
      
      #: ../pohelper/data/menus.ui.h:25
      #, fuzzy
      msgid "_Show stats"
      msgstr "Exibir estado"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      #, fuzzy
      msgid "Translated:"
      msgstr "Template:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      #, fuzzy
      msgid "Unable to parse the content as XML."
      msgstr "Falha ao salvar configuração: %s"
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      #, fuzzy
      msgid "Comments"
      msgstr "Conteúdos"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:205
      #, fuzzy
      msgid "Empty nodes"
      msgstr "(Linha vazia)"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:235
      #, fuzzy
      msgid "Indentation"
      msgstr "Apresentação"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferẽncias do Projeto"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      #, fuzzy
      msgid "Find in project files"
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      #, fuzzy
      msgid "Find project file"
      msgstr "Ocultar arquivos de objeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Ocultar arquivos de objeto"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      #, fuzzy
      msgid "Header patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Extensões de cabeçalhos"
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "Não."
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      #, fuzzy
      msgid "Find File"
      msgstr "Incluir Arquivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      #, fuzzy
      msgid "Search inside:"
      msgstr "Pesquisar símbolos:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "Criar novo diretório"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Selecionar diretório"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "Complementos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Incluir Arquivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      #, fuzzy
      msgid "Reload all"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "Reverter diretório"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      #, fuzzy
      msgid "Expand All"
      msgstr "Expandir tudo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Pesquisa em Projeto"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "Incluir Arquivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Incluir Arquivo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "Reverter diretório"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "Dep_urar"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      #, fuzzy
      msgid "Recent _Programs"
      msgstr "nenhum programa"
      
      #: ../scope/data/scope.glade.h:4
      #, fuzzy
      msgid "_Run/Continue"
      msgstr "Contando..."
      
      #: ../scope/data/scope.glade.h:5
      #, fuzzy
      msgid "Run to _Cursor"
      msgstr "Executar até o local"
      
      #: ../scope/data/scope.glade.h:6
      #, fuzzy
      msgid "Run to _Source"
      msgstr "Executar até o local"
      
      #: ../scope/data/scope.glade.h:7
      #, fuzzy
      msgid "Step _Into"
      msgstr "Step _in"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:9
      #, fuzzy
      msgid "Step O_ut"
      msgstr "Step _in"
      
      #: ../scope/data/scope.glade.h:10
      #, fuzzy
      msgid "_Terminate"
      msgstr "terminado"
      
      #: ../scope/data/scope.glade.h:11
      #, fuzzy
      msgid "Toggle _Breakpoint"
      msgstr "Pontos de quebra"
      
      #: ../scope/data/scope.glade.h:12
      #, fuzzy
      msgid "_GDB Command"
      msgstr "Comando 0:"
      
      #: ../scope/data/scope.glade.h:13
      #, fuzzy
      msgid "_More"
      msgstr "Mais"
      
      #: ../scope/data/scope.glade.h:14
      #, fuzzy
      msgid "_Show Terminal"
      msgstr "Abrir Terminal"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:27
      #, fuzzy
      msgid "S_elect on"
      msgstr "Selecionar Fonte"
      
      #: ../scope/data/scope.glade.h:28
      #, fuzzy
      msgid "_Running"
      msgstr "executando"
      
      #: ../scope/data/scope.glade.h:29
      #, fuzzy
      msgid "_Stopped"
      msgstr "parado"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:32
      #, fuzzy
      msgid "_Columns"
      msgstr "Modo _Coluna"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      #, fuzzy
      msgid "Show _Core"
      msgstr "Exibir barras"
      
      #: ../scope/data/scope.glade.h:35
      #, fuzzy
      msgid "Add _Break"
      msgstr "Incluir ponto de quebra"
      
      #: ../scope/data/scope.glade.h:36
      #, fuzzy
      msgid "Add _Watch"
      msgstr "Pontos de observação"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      #, fuzzy
      msgid "Show _Address"
      msgstr "Address"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:41
      #, fuzzy
      msgid "_Watch"
      msgstr "Pontos de observação"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:44
      #, fuzzy
      msgid "_Default"
      msgstr "Padrão"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:47
      #, fuzzy
      msgid "_UTF-8"
      msgstr "UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      #, fuzzy
      msgid "_Show .names"
      msgstr "Exibir ícones."
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:57
      #, fuzzy
      msgid "_Expand"
      msgstr "Expandir tudo"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      #, fuzzy
      msgid "_Inspect Variable"
      msgstr "/Ambientes"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:69
      #, fuzzy
      msgid "Stack"
      msgstr "_Empilhar"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:71
      #, fuzzy
      msgid "Watches"
      msgstr "Pontos de observação"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:73
      #, fuzzy
      msgid "Enter gdb command:"
      msgstr "Inserir comando"
      
      #: ../scope/data/scope.glade.h:74
      #, fuzzy
      msgid "Convert _UTF-8 to locale"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:77
      #, fuzzy
      msgid "_Frame"
      msgstr "Info do Quadro"
      
      #: ../scope/data/scope.glade.h:78
      #, fuzzy
      msgid "Setup Program"
      msgstr "nenhum programa"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:81
      #, fuzzy
      msgid "En_vironment:"
      msgstr "Ambiente:"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      #, fuzzy
      msgid "_Load script:"
      msgstr "Scripts _Lua"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program"
      msgstr "nenhum programa"
      
      #: ../scope/data/scope.glade.h:89
      #, fuzzy
      msgid "Open on"
      msgstr "Abrir URI"
      
      #: ../scope/data/scope.glade.h:90
      #, fuzzy
      msgid "g_db load"
      msgstr "_Descarregar"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      #, fuzzy
      msgid "Update all _views"
      msgstr "Atualizar Lista de Tarefas"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:97
      #, fuzzy
      msgid "_member"
      msgstr "Number"
      
      #: ../scope/data/scope.glade.h:98
      #, fuzzy
      msgid "and"
      msgstr "Inclinado"
      
      #: ../scope/data/scope.glade.h:99
      #, fuzzy
      msgid "_argument"
      msgstr "Enviar docu_mento"
      
      #: ../scope/data/scope.glade.h:100
      #, fuzzy
      msgid "names"
      msgstr "Renomear"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:102
      #, fuzzy
      msgid "E_xpand on apply"
      msgstr "Expandir tudo"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      #, fuzzy
      msgid "Show _tooltips"
      msgstr "Exibir dicas de ferramentas."
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:110
      #, fuzzy
      msgid "_Import"
      msgstr "Report"
      
      #: ../scope/data/scope.glade.h:111
      #, fuzzy
      msgid "Enter assignment expression:"
      msgstr "expressão regular inválida: %s"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:113
      #, fuzzy
      msgid "Object:"
      msgstr "Info do Objeto"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:116
      #, fuzzy
      msgid "Frame:"
      msgstr "Nome:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      #, fuzzy
      msgid "Expand"
      msgstr "Expandir tudo"
      
      #: ../scope/data/scope.glade.h:120
      #, fuzzy
      msgid "Start:"
      msgstr "_Início:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      #, fuzzy
      msgid "_Expand on apply"
      msgstr "Expandir tudo"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program Terminal"
      msgstr "Executar no terminal"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      #, fuzzy
      msgid "breakpoint"
      msgstr "Pontos de quebra"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "Editar ponto de quebra"
      
      #: ../scope/src/break.c:99
      #, fuzzy
      msgid "tracepoint"
      msgstr "ponto de observação"
      
      #: ../scope/src/break.c:100
      #, fuzzy
      msgid "fast tracepoint"
      msgstr "ponto de observação"
      
      #: ../scope/src/break.c:101
      #, fuzzy
      msgid "write watchpoint"
      msgstr "Editar ponto de observação"
      
      #: ../scope/src/break.c:104
      #, fuzzy
      msgid "access watchpoint"
      msgstr "ponto de observação"
      
      #: ../scope/src/break.c:106
      #, fuzzy
      msgid "read watchpoint"
      msgstr "Editar ponto de observação"
      
      #: ../scope/src/break.c:108
      #, fuzzy
      msgid "catchpoint"
      msgstr "ponto de observação"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      #, fuzzy
      msgid "on load"
      msgstr "_Descarregar"
      
      #: ../scope/src/break.c:142
      #, fuzzy
      msgid "Run to Cursor"
      msgstr "Executar até o local"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      #, fuzzy
      msgid "Add Breakpoint"
      msgstr "Incluir ponto de quebra"
      
      #: ../scope/src/break.c:1322
      #, fuzzy
      msgid "Add Watchpoint"
      msgstr "Incluir ponto de observação"
      
      #: ../scope/src/conterm.c:109
      #, fuzzy
      msgid "Feed Terminal"
      msgstr "Abrir Terminal"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, fuzzy, c-format
      msgid "Scope: %s."
      msgstr "Fechar: %s"
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      #, fuzzy
      msgid "Program terminated."
      msgstr "terminado"
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr ""
      
      #: ../scope/src/inspect.c:66
      #, fuzzy
      msgid "..."
      msgstr "Mais..."
      
      #: ../scope/src/inspect.c:339
      #, fuzzy
      msgid "invalid data"
      msgstr "Rótulo inválido"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      #, fuzzy
      msgid "out of scope"
      msgstr "Ponto de observação #%s fora de escopo"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr ""
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      #, fuzzy
      msgid "Watch expression"
      msgstr "expressão regular inválida: %s"
      
      #: ../scope/src/menu.c:483
      #, fuzzy
      msgid "Inspect variable"
      msgstr "Variáveis locais"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select Folder"
      msgstr "Selecionar Cor"
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select File"
      msgstr "Selecionar arquivo"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      #, fuzzy
      msgid "Scope: created configuration file."
      msgstr "Forçar recarga dos arquivos de configuração"
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, fuzzy, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr "Falha ao carregar tipo de arquivo \"%s\" do arquivo \"%s\": %s"
      
      #: ../scope/src/program.c:383
      #, fuzzy, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr "Contando..."
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      #, fuzzy
      msgid "Scope Debugger"
      msgstr "Depurar"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      #, fuzzy
      msgid "Setup program"
      msgstr "nenhum programa"
      
      #: ../scope/src/scope.c:62
      #, fuzzy
      msgid "Run/continue"
      msgstr "Contando..."
      
      #: ../scope/src/scope.c:64
      #, fuzzy
      msgid "Run to source"
      msgstr "Executar até o local"
      
      #: ../scope/src/scope.c:68
      #, fuzzy
      msgid "Terminate"
      msgstr "terminado"
      
      #: ../scope/src/scope.c:69
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "ponto de quebra"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      #, fuzzy
      msgid "GDB command"
      msgstr "Inserir comando"
      
      #: ../scope/src/scope.c:72
      #, fuzzy
      msgid "Show terminal"
      msgstr "Executar no terminal"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      #, fuzzy
      msgid "Load"
      msgstr "C_arregar"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      #, fuzzy
      msgid "Breaks"
      msgstr "Pontos de quebra"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Console"
      msgstr "Console:"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Debug Console"
      msgstr "Console:"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr ""
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      #, fuzzy
      msgid "Send Signal"
      msgstr "Enviar por correio"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr ""
      
      #: ../scope/src/thread.c:892
      #, fuzzy
      msgid "Running"
      msgstr "executando"
      
      #: ../scope/src/thread.c:893
      #, fuzzy
      msgid "Stopped"
      msgstr "parado"
      
      #: ../scope/src/utils.c:37
      #, fuzzy, c-format
      msgid "%s: %s."
      msgstr "%s:%u:%u: %s"
      
      #: ../scope/src/utils.c:45
      #, fuzzy, c-format
      msgid "%s: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr ""
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr ""
      
      #: ../scope/src/views.c:558
      #, fuzzy
      msgid "GDB Command"
      msgstr "Comando 0:"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "Tentar:"
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "Verificando"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Verificando arquivo \"%s\" (linhas %d para %d usando %s):"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Verificando arquivo \"%s\" (usando %s):"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "O texto verificado está escrito corretamente."
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "A biblioteca Enchant não pôde ser inicializada (%s)."
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "erro desconhecido (talvez a linguagem escolhida não esteja disponível)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "Verificar Ortografia"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Verifica a ortografia do documento atual."
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "Executar verificação ortográfica"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "Alternar Verificação ao Digitar"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Selecionar diretório"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      "Exibir item na barra de ferramentas para alternar verificação ortográfica"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Exibir item no menu do editor para exibir sugestões de ortografia"
      
      #: ../spellcheck/src/scplugin.c:294
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Exibir um item de menu 'Abrir URI' no menu do editor"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Imprime palavras mal escritas e sugestões na janela de mensagens"
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Verificar ortografia ao digitar"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Verificar ortografia ao digitar"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "Linguagem a usar para a verificação ortográfica:"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "_Diretório a pesquisar para arquivos de dicionário:"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Ler arquivos de diretório adicionais deste diretório. Por enquanto, isso só "
      "funciona com dicionários myspell."
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "A verificação ortográfica ao digitar está agora habilitada"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "A verificação ortográfica ao digitar está agora desabilitada"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Mais..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(Nenhuma Sugestão)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Incluir \"%s\" no Dicionário"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Ignorar Tudo"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "Termo de pesquisa é muito longo para fornecer\n"
      "sugestões de ortografia no menu do editor."
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Verificar Ortografia"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Padrão (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr "Alternar verificação ortográfica ao digitar (linguagem atual: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Sugestões de Ortografia"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "Deslocar Coluna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "Desloca uma seleção para a esquerda e para a direita"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "Deslocar para a Esquerda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "Deslocar para a Direita"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:329
      #, fuzzy
      msgid "Convert selection to table"
      msgstr "Formatar seleção alinhado à esquerda"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr ""
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:127
      #, fuzzy
      msgid "TreeBrowser"
      msgstr "Navegador em Árvore"
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:433
      #, fuzzy, c-format
      msgid "%s: no such directory."
      msgstr "%s: arquivo ou diretório não existente"
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      #, fuzzy
      msgid "(Empty)"
      msgstr "Vazio"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Não pode executar o comando externo configurado '%s' (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "NovoDiretório"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "NovoArquivo"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Você quer mesmo excluir %s?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Ir para cima"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Definir caminho para o documento"
      
      #: ../treebrowser/src/treebrowser.c:1216
      #, fuzzy
      msgid "_Open externally"
      msgstr "Abrir externamente"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Abrir Terminal"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Definir como raiz"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Atualizar"
      
      #: ../treebrowser/src/treebrowser.c:1234
      #, fuzzy
      msgid "_Find in Files"
      msgstr "Pesquisa em Projeto"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Criar novo diretório"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Criar novo arquivo"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Excluir"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Fechar: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, fuzzy, c-format
      msgid "Close Child Documents "
      msgstr "Fec_har Outros Documentos"
      
      #: ../treebrowser/src/treebrowser.c:1273
      #, fuzzy
      msgid "_Copy full path to clipboard"
      msgstr "Copiar caminho completo"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Colapsar tudo"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Exibir marcadores"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Exibir arquivos ocultos"
      
      #: ../treebrowser/src/treebrowser.c:1303
      #, fuzzy
      msgid "Show toolbars"
      msgstr "Exibir barras"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Home"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr "Rastrear caminho"
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "Ocultar barras"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      "Filtrar (*.c;*.h;*.cpp), e se você quiser filtrar temporariamente usando o "
      "'!' inverso, tente por exemplo isso '!;*.c;*.h;*.cpp'"
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra de endereços por exemplo '/projetos/meu-projeto'"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr "Navegador em Árvore"
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Comando de abrir externo"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "O comando para executar ao usar \"Abrir com\". Você pode usar os coringas %f "
      "e %d.\n"
      "%f será substituído pelo nome do arquivo, incluindo o caminho completo\n"
      "%d será substituído pelo nome do caminho do arquivo selecionado sem o nome "
      "do arquivo"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1983
      #, fuzzy
      msgid "If position is changed, the option require plugin restart."
      msgstr "Exibir barras no topo (Exige que o plugin seja reiniciado)"
      
      #: ../treebrowser/src/treebrowser.c:1987
      #, fuzzy
      msgid "Show icons"
      msgstr "Exibir ícones."
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1990
      #, fuzzy
      msgid "Base"
      msgstr "_Base:"
      
      #: ../treebrowser/src/treebrowser.c:1991
      #, fuzzy
      msgid "Content-type"
      msgstr "Conteúdos"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr "No Windows, isso apenas oculta arquivos prefixados com '.' (ponto)"
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Ocultar arquivos de objeto"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Não exibir arquivos de objetos gerados no navegador de arquivos. Isso inclui "
      "*.o, *.obj. *.so, *.dll, *.a, *.lib"
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "Reverter filtro"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "Seguir documento atual"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr "Clique simples, abrir documento e focá-lo"
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Duplo clique abre diretório"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "Ao excluir arquivo, fechá-lo se ele estiver aberto"
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "Exibir linhas da árvore"
      
      #: ../treebrowser/src/treebrowser.c:2053
      #, fuzzy
      msgid "Open new files"
      msgstr "Abrir arquivo"
      
      #: ../treebrowser/src/treebrowser.c:2129
      #, fuzzy
      msgid "Focus File List"
      msgstr "Focar Lista de Tarefas"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2133
      #, fuzzy
      msgid "Rename Object"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:2135
      #, fuzzy
      msgid "Create New File"
      msgstr "Criar novo arquivo"
      
      #: ../treebrowser/src/treebrowser.c:2137
      #, fuzzy
      msgid "Create New Directory"
      msgstr "Criar novo diretório"
      
      #: ../updatechecker/src/updatechecker.c:41
      #, fuzzy
      msgid "Updatechecker"
      msgstr "At_ualizar"
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:15
      #, fuzzy
      msgid "message-window"
      msgstr "_Ocultar Janela de Mensagens"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      #, fuzzy
      msgid "sidebar"
      msgstr "Ocultar S_idebar"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:48
      #, fuzzy
      msgid "normal"
      msgstr "normalsize"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr ""
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "Focar Lista de Bookmarks"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      #, fuzzy
      msgid "Flip panes orientation"
      msgstr "Orientação do Papel:"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:958
      #, fuzzy
      msgid "Cancel loading"
      msgstr "Codificação"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Exibir marcadores"
      
      #: ../webhelper/src/gwh-plugin.c:335
      #, fuzzy
      msgid "Browser orientation"
      msgstr "Orientação do Papel:"
      
      #: ../webhelper/src/gwh-plugin.c:336
      #, fuzzy
      msgid "Orientation of the browser widget"
      msgstr "Chave de citação da entrada de referẽncia cruzada"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      #, fuzzy
      msgid "Browser"
      msgstr "Navegador em Árvore"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Program received a signal"
      #~ msgstr "O programa recebeu sinal:"
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "Plugin para fornecer um melhor suporte ao LaTeX"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "Erro ao definir linguagem para verificação ortográfica. Por favor, "
      #~ "verifique a configuração. Mensagem de erro: %s"
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Pesquisa em Projeto"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "Ocultar arquivos de objeto"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Esse plugin inclui características para facilitar a navegação entre "
      #~ "arquivos fonte.\n"
      #~ "Até este momento, ele implementa: \n"
      #~ "- alternância entre um arquivo .cpp e o arquivo .h correspondente\n"
      #~ "- [abertura de um arquivo digitando-se o seu nome -> TODO]"
      
      #~ msgid "Goto file"
      #~ msgstr "Ir para o arquivo"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Do plugin %s)"
      
      #, fuzzy
      #~ msgid "GProject"
      #~ msgstr "Projeto"
      
      #, fuzzy
      #~ msgid "No update available"
      #~ msgstr "Histórico não disponível"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "Inserido ponto de quebra #%s em %s() em %s:%s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "Inserido ponto de quebra #%s em %s:%s\n"
      
      #~ msgid "Added write watchpoint #%s for %s\n"
      #~ msgstr "Incluído ponto de observação de gravação #%s para %s\n"
      
      #~ msgid "Added read/write watchpoint #%s for %s\n"
      #~ msgstr "Incluído ponto de observação de leitura/gravação #%s para %s\n"
      
      #~ msgid "Added read watchpoint #%s for %s\n"
      #~ msgstr "Incluído ponto de observação de leitura #%s para %s\n"
      
      #~ msgid "Watch/breakpoint deleted.\n"
      #~ msgstr "Ponto de observação/quebra removido.\n"
      
      #~ msgid "Failed to toggle breakpoint -\n"
      #~ msgstr "Falha ao alternar ponto de quebra -\n"
      
      #~ msgid "Watch/breakpoint toggled.\n"
      #~ msgstr "Ponto de observação/quebra alternado.\n"
      
      #~ msgid "Watch/breakpoint modified.\n"
      #~ msgstr "Ponto de observação/quebra modificado.\n"
      
      #~ msgid "Failed to retrieve source search path setting from GDB."
      #~ msgstr ""
      #~ "Falha ao recuperar do GDB a configuração do caminho de pesquisa fonte."
      
      #~ msgid "Failed to retrieve executable search path setting from GDB."
      #~ msgstr ""
      #~ "Falha ao recuperar do GDB a configuração do caminho de pesquisa "
      #~ "executável."
      
      #~ msgid "Failed to retrieve working directory setting from GDB."
      #~ msgstr "Falha ao recuperar do GDB a configuração do diretório de trabalho."
      
      #~ msgid "Field list too long, not all items can be displayed.\n"
      #~ msgstr ""
      #~ "Lista de campos muito longa, nem todos os items podem ser exibidos.\n"
      
      #~ msgid "Error starting target process!\n"
      #~ msgstr "Erro ao iniciar processo alvo!\n"
      
      #~ msgid ""
      #~ "This executable does not appear to contain the required debugging "
      #~ "information."
      #~ msgstr ""
      #~ "Esse executável parece não conter as informações de depuração necessárias."
      
      #~ msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
      #~ msgstr "O programa recebeu o sinal %s (%s) em %s na função %s() em %s:%s"
      
      #~ msgid "Program exited on signal %s (%s).\n"
      #~ msgstr "Programa encerrado com sinal %s (%s).\n"
      
      #~ msgid "Unknown signal"
      #~ msgstr "Sinal desconhecido"
      
      #~ msgid "Program exited with code %d [%s]\n"
      #~ msgstr "Programa encerrado com código %d [%s]\n"
      
      #~ msgid "(unknown)"
      #~ msgstr "(desconhecido)"
      
      #~ msgid "Program exited normally.\n"
      #~ msgstr "Programa encerrado normalmente.\n"
      
      #~ msgid "tty temporary directory not specified!\n"
      #~ msgstr "diretório temporário tty não especificado!\n"
      
      #~ msgid "tty helper program not specified!\n"
      #~ msgstr "programa auxiliar tty não especificado!\n"
      
      #~ msgid "tty helper program not found!\n"
      #~ msgstr "programa auxiliar tty não encontrado!\n"
      
      #~ msgid "Attaching to terminal %s\n"
      #~ msgstr "Anexando ao terminal %s\n"
      
      #~ msgid "Timeout waiting for TTY name.\n"
      #~ msgstr "Tempo esgotado aguardando por nome de TTY.\n"
      
      #~ msgid "GDB exited (pid=%d)\n"
      #~ msgstr "GDB encerrado (pid=%d)\n"
      
      #~ msgid "Target process exited. (pid=%d; %s%s)\n"
      #~ msgstr "Processo alvo encerrado. (pid=%d; %s%s)\n"
      
      #~ msgid "code="
      #~ msgstr "código="
      
      #~ msgid "reason:"
      #~ msgstr "motivo:"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "Desligando programa alvo.\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "Matando programa alvo.\n"
      
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "Tempo esgotado aguardando por processo alvo.\n"
      
      #~ msgid "Using a bigger hammer!\n"
      #~ msgstr "Usando um martelo maior!\n"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "Aguardando término de processo alvo.\n"
      
      #~ msgid "Killing GDB (pid=%d)\n"
      #~ msgstr "Matando o GDB (pid=%d)\n"
      
      #~ msgid "Timeout trying to kill GDB.\n"
      #~ msgstr "Tempo esgotado tentando matar o GDB.\n"
      
      #~ msgid "Shutting down GDB\n"
      #~ msgstr "Desligando o GDB\n"
      
      #~ msgid "Waiting for GDB to exit.\n"
      #~ msgstr "Aguardando o término do GDB.\n"
      
      #~ msgid "Timeout waiting for GDB to exit.\n"
      #~ msgstr "Tempo esgotado aguardando o término do GDB.\n"
      
      #~ msgid "Starting gdb (pid=%d)\n"
      #~ msgstr "Iniciando o GDB (pid=%d)\n"
      
      #~ msgid "Started target process. (pid=%d)\n"
      #~ msgstr "Processo alvo iniciado. (pid=%d)\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "Nenhum %s selecionado"
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "Excluir ponto de observação selecionado?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "Excluir ponto de quebra selecionado?"
      
      #~ msgid "Enabled"
      #~ msgstr "Habilitado"
      
      #, fuzzy
      #~ msgid "Break after "
      #~ msgstr " Quebrar após"
      
      #, fuzzy
      #~ msgid " times."
      #~ msgstr " vezes."
      
      #, fuzzy
      #~ msgid "Break when "
      #~ msgstr " Quebrar quando"
      
      #, fuzzy
      #~ msgid " is true."
      #~ msgstr " for verdadeiro."
      
      #~ msgid "Watchpoints"
      #~ msgstr "Pontos de observação"
      
      #~ msgid "Environment settings"
      #~ msgstr "Definições do ambiente"
      
      #~ msgid ""
      #~ "\n"
      #~ " Command-line arguments passed to target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Argumentos de linha de comando passados para o programa alvo:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ " Caminho de pesquisa para arquivos-fonte:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Working directory for target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Diretório de trabalho para o programa alvo:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ " Caminho de pesquisa para executáveis:"
      
      #~ msgid "Keep debug window on top."
      #~ msgstr "Manter janela de depuração no topo."
      
      #~ msgid "Show icons."
      #~ msgstr "Exibir ícones."
      
      #~ msgid "Font for source code listings:"
      #~ msgstr "Fonte para listagens de código-fonte:"
      
      #~ msgid "Terminal program:"
      #~ msgstr "Programa de terminal:"
      
      #~ msgid "_Examine"
      #~ msgstr "_Examinar"
      
      #~ msgid "Elements"
      #~ msgstr "Elementos"
      
      #~ msgid "Fields"
      #~ msgstr "Campos"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "Retornar para o diálogo anterior."
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "Exibir informações adicionais sobre o item selecionado."
      
      #~ msgid ""
      #~ "\n"
      #~ "Frame #%s in %s() at %s:%s\n"
      #~ msgstr ""
      #~ "\n"
      #~ "Quadro #%s em %s() em %s:%s\n"
      
      #~ msgid "Function arguments"
      #~ msgstr "Argumentos da função"
      
      #~ msgid "Local variables"
      #~ msgstr "Variáveis locais"
      
      #~ msgid "Return to stack list dialog."
      #~ msgstr "Voltar para o diálogo de lista de pilha."
      
      #~ msgid "Stack trace"
      #~ msgstr "Stack trace"
      
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "Exibir informações adicionais sobre o quadro selecionado."
      
      #~ msgid "Clea_r"
      #~ msgstr "Limpa_r"
      
      #~ msgid "Filename: "
      #~ msgstr "Nome do arquivo:"
      
      #~ msgid "Variable to watch:"
      #~ msgstr "Variável observada:"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "Número da linha ou nome da função:"
      
      #~ msgid "Access trigger:"
      #~ msgstr "Gatilho de acesso:"
      
      #~ msgid "(no program)"
      #~ msgstr "(nenhum programa)"
      
      #~ msgid "loaded"
      #~ msgstr "carregado"
      
      #~ msgid "starting"
      #~ msgstr "iniciando"
      
      #~ msgid "paused"
      #~ msgstr "pausado"
      
      #~ msgid "Error:"
      #~ msgstr "Erro:"
      
      #~ msgid "Select executable to debug"
      #~ msgstr "Selecione executável para depurar"
      
      #~ msgid "Debugging of object files is not supported."
      #~ msgstr "Depuração de arquivo objeto não é suportada."
      
      #~ msgid "You don't have permission to execute this file."
      #~ msgstr "Você não tem permissão para executar este arquivo."
      
      #~ msgid "Debugging of shared libraries is not supported."
      #~ msgstr "Depuração de bibliotecas compartilhadas não é suportada."
      
      #~ msgid "Debugging of core files id not supported."
      #~ msgstr "Depuração de arquivos core não é suportada."
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr "O arquivo alvo deve ser um executável ELF 32-bit x86."
      
      #~ msgid "You don't have permission to read this file."
      #~ msgstr "Você não tem permissão para ler este arquivo."
      
      #~ msgid "Run to location"
      #~ msgstr "Executar até o local"
      
      #~ msgid "Execute target program inside a terminal window."
      #~ msgstr "Executa o programa alvo dentro de uma janela de terminal."
      
      #~ msgid "Ignore SIGPIPE"
      #~ msgstr "Ignorar SIGPIPE"
      
      #~ msgid ""
      #~ "Don't pause execution when target gets a SIGPIPE signal.\n"
      #~ "(Useful for certain networking applications.)"
      #~ msgstr ""
      #~ "Não para a execução quando o alvo receber um sinal SIGPIPE.\n"
      #~ "(Útil para certas aplicações de rede.)"
      
      #~ msgid "Send a GDB command directly to the debugger."
      #~ msgstr "Envia um comando GDB diretamente para o depurador."
      
      #~ msgid "_Quit"
      #~ msgstr "_Sair"
      
      #~ msgid "Exit everything"
      #~ msgstr "Sair de tudo"
      
      #~ msgid "GeanyGDB"
      #~ msgstr "GeanyGDB"
      
      #~ msgid "Integrated debugging with GDB."
      #~ msgstr "Depuração integrada com o GDB."
      
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr "O diretório de configuração de plugins (%s) não pôde ser criado."
      
      #~ msgid "geanygdb: ttyhelper program not found."
      #~ msgstr "geanygdb: programa ttyhelper não encontrado."
      
      #, fuzzy
      #~ msgid "Seach for:"
      #~ msgstr "Pesquisar símbolos:"
      
      #, fuzzy
      #~ msgid "Error reading config file"
      #~ msgstr "Forçar recarga dos arquivos de configuração"
      
      #, fuzzy
      #~ msgid "Couldn't create tempfile"
      #~ msgstr "Criar novo arquivo"
      
      #~ msgid "Lionel Fuentes"
      #~ msgstr "Lionel Fuentes"
      
      #~ msgid "Yura Siamshka "
      #~ msgstr "Yura Siamshka "
      
      #~ msgid ":  "
      #~ msgstr ":"
      
      #~ msgid "Jeff Pohlmeyer, Dominic Hopf"
      #~ msgstr "Jeff Pohlmeyer, Dominic Hopf"
      
      #~ msgid ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      #~ msgstr ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      
      #~ msgid "Yura Siamashka "
      #~ msgstr "Yura Siamashka "
      
      #~ msgid "goto_file"
      #~ msgstr "goto_file"
      
      #~ msgid "switch_head_impl"
      #~ msgstr "switch_header_impl"
      
      #~ msgid "Booklet"
      #~ msgstr "Livreto"
      
      #~ msgid "Conference"
      #~ msgstr "Conference"
      
      #~ msgid "Inbook"
      #~ msgstr "Inbook"
      
      #~ msgid "PhdThesis"
      #~ msgstr "PhdThesis"
      
      #~ msgid "Proceedings"
      #~ msgstr "Proceedings"
      
      #~ msgid "Techreport"
      #~ msgstr "Techreport"
      
      #~ msgid "Unpublished"
      #~ msgstr "Unpublished"
      
      #~ msgid "Showing icon in toolbar"
      #~ msgstr "Exibir ícone na barra de ferramentas"
      
      #~ msgid "The Geany developer team"
      #~ msgstr "A equipe de desenvolvimento do Geany"
      
      #~ msgid "Treeview filebrowser plugin."
      #~ msgstr "Plugin de navegação de arquivos de visão em árvore."
      
      #~ msgid "Directory '%s' not exists."
      #~ msgstr "Diretório %s não existe."
      
      #~ msgid "Default directory deep to fill"
      #~ msgstr "Diretório padrão profundo para preencher"
      
      #~ msgid "How many folders will opened and store in tree"
      #~ msgstr "Quantas pastas serão abertas e guardadas na árvore"
      
      #~ msgid "On expand, refresh directory view"
      #~ msgstr "Ao expandir, atualizar visão de diretórios"
      
      #~ msgid "Code Navigation plug-in configuration"
      #~ msgstr "Configuração do plug-in Code Navigation"
      
      #~ msgid "Switch header / implementation"
      #~ msgstr "Alternar cabeçalho/implementação"
      
      #~ msgid "Load target program into debugger."
      #~ msgstr "Carrega programa alvo no depurador."
      
      #~ msgid "Kill the target program AND the debugger."
      #~ msgstr "Mata o programa alvo E o depurador."
      
      #~ msgid "Execute target program in debugger."
      #~ msgstr "Executa o programa alvo no depurador."
      
      #~ msgid "_Kill"
      #~ msgstr "_Matar"
      
      #~ msgid "Kill the target program with SIGKILL."
      #~ msgstr "Mata o programa alvo com SIGKILL."
      
      #~ msgid "Pause the target program with SIGINT."
      #~ msgstr "Pausa o programa alvo com SIGINT."
      
      #~ msgid "Continue executing target program."
      #~ msgstr "Continua executando o programa alvo."
      
      #~ msgid "Step to the next line or function call."
      #~ msgstr "Avança um passo para a próxima linha ou chamada de função."
      
      #~ msgid "Execute the next machine instruction or function call."
      #~ msgstr "Executa a próxima instrução de máquina ou chamada de função."
      
      #, fuzzy
      #~ msgid "Ne_xt in"
      #~ msgstr "Ne_xt in"
      
      #~ msgid "Execute the next machine instruction."
      #~ msgstr "Executa a próxima instrução de máquina."
      
      #~ msgid "Run _to"
      #~ msgstr "Executar a_té"
      
      #~ msgid "Run to specified source line."
      #~ msgstr "Executa até a linha fonte especificada."
      
      #~ msgid "Display a backtrace of the current call stack."
      #~ msgstr "Exibe um backtrace da pilha de chamadas atual."
      
      #~ msgid "Add or remove watchpoints."
      #~ msgstr "Inclui ou remove pontos de observação."
      
      #~ msgid "_Finish"
      #~ msgstr "_Finalizar"
      
      #~ msgid "_Return"
      #~ msgstr "_Retornar"
      
      #~ msgid "Return immediately from the current function."
      #~ msgstr "Retorna imediatamente a partir da função atual."
      
      #~ msgid "En_viron"
      #~ msgstr "_Ambiente"
      
      #~ msgid "Set target environment and command line options."
      #~ msgstr "Define o ambiente alvo e as opções de linha de comando"
      
      #~ msgid "Set user interface options."
      #~ msgstr "Define opções de interface com o usuário."
      
      #~ msgid "VC"
      #~ msgstr "CV"
      
      #, fuzzy
      #~ msgid "_History (Log)"
      #~ msgstr "_Histórico"
      geany-plugins-1.27/po/de.po0000644000175000017500000066521612671261352016106 0ustar00frlanfrlan00000000000000# German translation for geany-plugins
      # Copyright (C) 2009-2016 THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Andrew Janke , 2009
      # Fabian Nowak , 2012
      # Frank Lanitz , 2009-2016
      # Dominic Hopf , 2009
      # Michael Spahn , 2009
      #
      # Vereinbarungen
      # * Anführungsstriche zur Kennzeichnung von "Zitaten" wie " sollten
      #   über die französischen Anführungsstriche realisiert werden: » und «.
      #   Wichtig: In genau der Reihenfolge, da es ein deutscher "Text" ist
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-03-11 23:16+0100\n"
      "PO-Revision-Date: 2015-07-11 02:11+0200\n"
      "Last-Translator: Frank Lanitz \n"
      "Language-Team: German \n"
      "Language: de\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: nplurals=2; plural=(n != 1);\n"
      "X-Generator: Poedit 1.8.2\n"
      
      # what the heck? :D
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Leere Zeile)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "_Lesezeichen entfernen"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "Nr."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Inhalte"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:623
      #: ../webhelper/src/gwh-plugin.c:328
      msgid "Bookmarks"
      msgstr "Lesezeichen"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2349
      msgid "_Update"
      msgstr "_Aktualisieren"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "Meldungsfenster _verstecken"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Datei"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Zeile"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Typ"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Aufgabe"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Aufgaben"
      
      # Ironischerweise finde ich den Kontext für diesen String nicht --Dominic
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Kontext:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "XML-Tagging"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Tag zum Einfügen:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "%s wird mit der jeweils aktuellen Auswahl ersetzt. Beachten Sie Ihre Auswahl!"
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "URI öffnen"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "URI kopieren"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr "Begrenzungszeichen"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr "Akzeptieren"
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Abbrechen"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr "OK"
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "Begrenzungspaar %d"
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "Startzeichen"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "Stopzeichen"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "A_lle anderen Dokumente schließen"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "_Alle schließen"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Dokumentenliste anzeigen"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Dateipfad »%s« in die Zwischenablage kopiert."
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:317
      msgid "Copy File Path"
      msgstr "Dateipfad kopieren"
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Kopiert den Pfad des aktuellen Dokumentes in die Zwischenablage."
      
      #: ../addons/src/addons.c:52
      msgid "Addons"
      msgstr "Erweiterungen"
      
      #: ../addons/src/addons.c:53
      msgid "Various small addons for Geany."
      msgstr "Verschiedene kleine Erweiterungen für Geany."
      
      #: ../addons/src/addons.c:308
      msgid "Focus Bookmark List"
      msgstr "Lesezeichen fokussieren"
      
      #: ../addons/src/addons.c:310
      msgid "Focus Tasks List"
      msgstr "Aufgabenliste fokussieren"
      
      #: ../addons/src/addons.c:312
      msgid "Update Tasks List"
      msgstr "Aufgabenliste aktualisieren"
      
      #: ../addons/src/addons.c:314
      msgid "Run XML tagging"
      msgstr "XML-Tagging ausführen"
      
      #: ../addons/src/addons.c:432 ../autoclose/src/autoclose.c:884
      #: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:123
      #: ../geanysendmail/src/geanysendmail.c:288 ../geanyvc/src/geanyvc.c:1849
      #: ../geniuspaste/src/geniuspaste.c:311 ../spellcheck/src/scplugin.c:157
      #: ../treebrowser/src/treebrowser.c:1937
      #: ../updatechecker/src/updatechecker.c:266
      msgid "Plugin configuration directory could not be created."
      msgstr ""
      "Das Konfigurationsverzeichnis für das Plugin konnte nicht erstellt werden."
      
      #: ../addons/src/addons.c:460
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      "Symbol für eine Liste mit den aktuell geöffneten Dokumenten in der "
      "Werkzeugleiste anzeigen"
      
      #: ../addons/src/addons.c:464
      msgid "Sort documents by _name"
      msgstr "Dokumente nach _Namen sortieren"
      
      #: ../addons/src/addons.c:466
      msgid "Sort the documents in the list by their filename"
      msgstr "Sortiert die Dokumente der Liste ihrem Namen nach."
      
      #: ../addons/src/addons.c:469
      msgid "Sort documents by _occurrence"
      msgstr "Dokumente nach _Auftreten sortieren"
      
      #: ../addons/src/addons.c:471
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Sortiert die Dokumente in Reihenfolge der geöffneten Reiter."
      
      #: ../addons/src/addons.c:474
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Dokumente dem A_uftreten nach sortieren (umgekehrt)"
      
      #: ../addons/src/addons.c:476
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      "Sortiert die Dokumente nach Reihenfolge der geöffneten Reiter (umgekehrte "
      "Reihenfolge)."
      
      #: ../addons/src/addons.c:503
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Eintrag »URI öffnen« im Editor-Menü anzeigen"
      
      #: ../addons/src/addons.c:509
      msgid "Show available Tasks in the Messages Window"
      msgstr "Verfügbare Aufgaben im Meldungsfenster anzeigen"
      
      #: ../addons/src/addons.c:515
      msgid "Show tasks of all documents"
      msgstr "Sämtliche Aufgaben aller (geöffneten) Dokumente anzeigen"
      
      #: ../addons/src/addons.c:519
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Legt fest, ob die Aufgaben aller aktuell geöffneten Dokumente angezeigt "
      "werden sollen oder nur die des derzeit aktiven Dokumentes."
      
      #: ../addons/src/addons.c:526
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "Geben Sie eine durch Semikolon getrennte Liste von Suchwörtern ein."
      
      #: ../addons/src/addons.c:528
      msgid "Search tokens:"
      msgstr "Suchwörter:"
      
      #: ../addons/src/addons.c:545
      msgid "Show status icon in the Notification Area"
      msgstr "Statussymbol im Benachrichtigungsfeld"
      
      #: ../addons/src/addons.c:551
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Lesezeichen (markierte Zeilen) in der Seitenleiste"
      
      #: ../addons/src/addons.c:557
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "Bei Doppelklick alle Vorkommen eines Wortes markieren"
      
      #: ../addons/src/addons.c:563
      msgid "Strip trailing blank lines"
      msgstr "Leere Zeilen am Dokumentenende entfernen"
      
      #: ../addons/src/addons.c:569
      msgid "XML tagging for selection"
      msgstr "XML-Tagging für eine Auswahl"
      
      #: ../addons/src/addons.c:575
      msgid "Enclose selection on configurable keybindings"
      msgstr "Auswahl bei einstellbaren Tastenkürzeln miteinbeziehen"
      
      #: ../addons/src/addons.c:579
      msgid "Configure enclose pairs"
      msgstr "Paare zum Umschließen konfigurieren"
      
      #: ../addons/src/addons.c:587
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      "Auswahl automatisch beim Umschließen einbeziehen (ohne eine "
      "Tastenkombination drücken zu müssen)"
      
      #: ../autoclose/src/autoclose.c:49
      msgid "Auto-close"
      msgstr "Automatisch Schließen"
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      "Automatisches Schließen von Klammern mit einer Großzahl von Funktionen."
      
      #: ../autoclose/src/autoclose.c:1032
      msgid "Auto-close quotes and brackets"
      msgstr "Automatisches Schließen von Klammern und Anführungszeichen."
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Parenthesis ( )"
      msgstr "Klammern ( )"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr "Automatisches Schließen »(« -> »(|)«"
      
      #: ../autoclose/src/autoclose.c:1036
      msgid "Curly brackets { }"
      msgstr "Geschweifte Klammern { }"
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr "Automatisches Schließen von geschweiften Klammern »{« -> »{|}«"
      
      #: ../autoclose/src/autoclose.c:1039
      msgid "Square brackets [ ]"
      msgstr "Eckige Klammern [ ]"
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Automatisches Schließen von eckigen Klammern »[« -> »[|]«"
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Angular brackets < >"
      msgstr "Spitze Klammern < >"
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr "Automatisches Schließen von spitzen Klammern »<« -> »<|>«"
      
      #: ../autoclose/src/autoclose.c:1044
      msgid "\tOnly for HTML"
      msgstr "\tnur für HTML"
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr "Automatisches Schließen von spitzen Klammern nur in HTML-Dokumenten"
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Double quotes \" \""
      msgstr "Anführungszeichen »\" \"«"
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr "Automatisches Schließen von Anführungszeichen »\"« -> »\"|\"«"
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Single quotes ' '"
      msgstr "Einfache Anführungszeichen (Hochkomma) ' '"
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      "Automatisches Schließen von einfachen Anführungszeichen (Hochkomma) »'« -> "
      "»'|'«"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Backquote ` `"
      msgstr "Rückwärtsanführungszeichen »` `«"
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Auto-close backquote ` -> `|`"
      msgstr "Automatisches Schließen von Rückwärtsanführungszeichen »`« -> »`|`«"
      
      #: ../autoclose/src/autoclose.c:1053
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr "\tNur für Shell-Skripte (z. B. Bash)"
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      "Automatisches Schließen von Rückwärtsanführungszeichen in Shell-Skripten wie "
      "Bash"
      
      #: ../autoclose/src/autoclose.c:1056
      msgid "Improve curly brackets completion"
      msgstr "Verbesserung der Schließung von geschweiften Klammern"
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Indent when enclosing"
      msgstr "Automatisch Einrücken beim automatischen Schließen"
      
      #: ../autoclose/src/autoclose.c:1058
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      "Wenn sie einen Text auswählen und »{« bzw. »}« drücken, wird das Plugin die "
      "Auswahl automatisch umschließen sowie einen neuen, eingerückten Block mit "
      "dem markierten Text anlegen. \n"
      "Dabei ist es nicht notwendig, den Block präzise zu wählen -- für die Auswahl "
      "des Blockes werden jeweils immer die vollständigen Zeilen einbezogen."
      
      #: ../autoclose/src/autoclose.c:1063
      msgid "Move cursor to beginning"
      msgstr "Cursor zum Beginn bewegen"
      
      #: ../autoclose/src/autoclose.c:1064
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      "Wenn die Option »Automatisch Einrücken beim automatischen Schließen« "
      "aktiviert ist, kann die Positionierung des Cursors am Beginn der Zeile "
      "sinnvoll sein: Wenn ein neuer Block begonnen wird, kommt es oft vor, dass am "
      "Anfang des Blocks Quellcode hinzugefügt werden muss."
      
      #: ../autoclose/src/autoclose.c:1067
      msgid "Improved auto-indentation"
      msgstr "Verbesserte automatische Einrückung"
      
      #: ../autoclose/src/autoclose.c:1068
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      "Verbesserte automatische Einrückung von geschweiften Klammern: Tippen sie "
      "»{« und drücken dann Enter, wird das Plugin einen vollständig eingerücken "
      "Codeblock erstellen. Diese Funktion ist unabhängig von der Optionen zum "
      "automatischen Schlüssel von geschweiften Klammern »{ }«."
      
      #: ../autoclose/src/autoclose.c:1071
      msgid "\tWhitesmith's style"
      msgstr "\tWhitesmithscher Stil"
      
      #: ../autoclose/src/autoclose.c:1072
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      "Dieser Stil positioniert Klammern mit einer Kontrollfunktion mit einer "
      "Einrückung in eine neue Zeile. Anweisungen innerhalb des gleichen "
      "Klammerpaares werden dabei mit dem gleichen Einzug wie die Klammern "
      "behandelt."
      
      #: ../autoclose/src/autoclose.c:1077
      msgid "Delete pairing character while backspacing first"
      msgstr "Schließende Klammern beim Löschen der öffnenden entfernen"
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      "Durch Auswählen dieser Option werden schließende Klammern gelöscht, wenn die "
      "öffnenden Klammern mittels der Rücktaste entfernt werden."
      
      #: ../autoclose/src/autoclose.c:1080
      msgid "Suppress double-completion"
      msgstr "Doppeltes automatisches Schließen unterdrücken"
      
      #: ../autoclose/src/autoclose.c:1081
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      "Durch Aktivieren dieser Option versucht der Editor automatisch falsch "
      "gesetzte Klammern zu korrigieren: \n"
      "Durch die Eingabe von »{« gefolgt von einem »}« korrigiert der Editor damit "
      "automatisch zu »{}« anstatt »{}}« zu behalten."
      
      #: ../autoclose/src/autoclose.c:1083
      msgid "Enclose selections"
      msgstr "Auswahl einschließen"
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      "Umschließt automatisch eine Auswahl allein durch Drücken der entsprechenden "
      "Klammer."
      
      #: ../autoclose/src/autoclose.c:1086
      msgid "Keep selection when enclosing"
      msgstr "Auswahl beim Umschließen beibehalten"
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      "Behält die Auswahl nach dem Umschließen bei, so dass damit weitergearbeitet "
      "werden kann."
      
      #: ../autoclose/src/autoclose.c:1089
      msgid "Behaviour inside comments and strings"
      msgstr "Verhalten innerhalb von Kommentaren und Strings"
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Allow auto-closing in strings and comments"
      msgstr "Automatisches Schließen in Kommentaren und Strings aktivieren"
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      "Wenn diese Option gesetzt ist, werden Klammern in Kommentaren und Strings "
      "ebenfalls automatisch geschlossen."
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Enclose selections in strings and comments"
      msgstr "Auswahl in Kommentaren und Strings umschließen"
      
      #: ../autoclose/src/autoclose.c:1093
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      "Legt fest, ob auch innerhalb von Kommentaren und Strings eine Auswahl "
      "automatisch mit einem Klammerpaar umschlossen werden soll."
      
      #: ../autoclose/src/autoclose.c:1096
      msgid "Auto-complete \";\" for functions"
      msgstr "Autovervollständigung von »;« für Funktionsaufrufe"
      
      #: ../autoclose/src/autoclose.c:1097
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      "Legt fest, ob für Funktionen automatisch ein »;« eingefügt werden soll. Dies "
      "funktioniert nur für C- bzw. C++-Funktionen. \n"
      " Ist diese Option aktiv, wird aus »sin(« automatisch »sin();«-"
      
      #: ../autoclose/src/autoclose.c:1099
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr "Umschalt+Rücktaste entfernt das vollständige Klammerpaar."
      
      #: ../autoclose/src/autoclose.c:1100
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      "Entfernt sowohl die öffnende als auch die schließende Klammer beim Drücken "
      "von Umschalt+Rücktaste.\n"
      "Tipp: Um den kompletten Block zu entfernen, einfach die erste oder letzte "
      "geschweifte Klammer mittels Umschalt+Rücktaste löschen."
      
      #: ../autoclose/src/autoclose.c:1103
      msgid "Jump on Tab to enclosed char"
      msgstr "Springt zur schließenden Klammer durch Tabulator"
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      "Springt hinter den umschlossenen Abschnitt beim Drücken der Tabulator-Taste"
      
      #: ../automark/src/automark.c:47
      msgid "Auto-mark"
      msgstr "Auto-Mark"
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark word under cursor"
      msgstr "Automatisches Markieren von Wörtern unter dem Cursor"
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Quelltextnavigation"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      "Dieses Plugin fügt Funktionen zu Geany hinzu, um besser zwischen Quellcode-"
      "Dateien zu navigieren."
      
      #: ../codenav/src/codenavigation.c:138
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      "Die Liste für Header und Implementierungen haben nicht die gleiche Länge. "
      "Geany wird die Standard-Konfiguration nutzen. Bitte prüfen Sie die Optionen "
      "»implementations_list« und »headers_list« in der Plugin-Konfiguration."
      
      # Diese Übersetzung existiert drei mal.
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:395 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Umschalten zwischen Deklaration und Implementierung"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:402
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      "Verschiedene Endungen können durch Trennung mittels Kommata spezifiziert "
      "werden."
      
      #: ../codenav/src/codenavigation.c:425
      msgid "Implementations extensions"
      msgstr "Implementierungserweiterungen"
      
      #: ../codenav/src/codenavigation.c:434
      msgid "Headers extensions"
      msgstr "Header-Erweiterungen"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:461
      msgid "Reset to Default"
      msgstr "Auf Standardwerte zurücksetzen"
      
      #: ../codenav/src/codenavigation.c:546
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      "Sie sie sicher, dass sie alle Sprachen löschen und mit den "
      "Standardeinstellungen neu beginnen möchten?\n"
      "Dieser Schritt kann nicht rückgängig gemacht werden."
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr "Gehe zu Datei ..."
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr "Gehe zu Datei"
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr "Datei zum Öffnen:"
      
      # c-format
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "%s existiert nicht. Neu anlegen?"
      
      #: ../commander/src/commander-plugin.c:42
      msgid "Commander"
      msgstr "Commander"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      "Bietet eine Schnittstelle über eine Auswahlliste für den schnellen Zugriff "
      "auf Funktionen, Dateien und mehr."
      
      #: ../commander/src/commander-plugin.c:751
      msgid "Show Command Panel"
      msgstr "Kommandoliste zeigen"
      
      #: ../debugger/src/plugin.c:55
      msgid "Debugger"
      msgstr "Debugger"
      
      #: ../debugger/src/plugin.c:56
      msgid "Various debuggers integration."
      msgstr "Verschiedene Debugger-Integrationen"
      
      #: ../debugger/src/plugin.c:132 ../debugger/src/keys.c:75
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Debug"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:424
      msgid "Name"
      msgstr "Name"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:429
      msgid "Value"
      msgstr "Wert"
      
      #: ../debugger/src/tpage.c:104
      msgid "Choose target file"
      msgstr "Zieldatei auswählen"
      
      #. target
      #: ../debugger/src/tpage.c:251
      msgid "Target:"
      msgstr "Ziel:"
      
      #: ../debugger/src/tpage.c:254
      msgid "Browse"
      msgstr "Durchsuchen "
      
      #. debugger
      #: ../debugger/src/tpage.c:259
      msgid "Debugger:"
      msgstr "Debugger:"
      
      #. arguments
      #: ../debugger/src/tpage.c:270
      msgid "Command Line Arguments"
      msgstr "Kommandozeilenargumente"
      
      #. environment
      #: ../debugger/src/tpage.c:281
      msgid "Environment Variables"
      msgstr "Umgebungsvariablen"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:259 ../debugger/src/envtree.c:365
      #: ../debugger/src/debug.c:263
      msgid "Delete variable?"
      msgstr "Variable löschen?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Position"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Bedingung"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "Anzahl der Treffer"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "Zeile %i"
      
      #: ../debugger/src/dbm_gdb.c:522
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Programm empfing ein Signal %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:543
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Programm beendete mit Code »%i«"
      
      #: ../debugger/src/dbm_gdb.c:707
      msgid "Failed to spawn gdb process"
      msgstr "Konnte den gdb-Prozess nicht starten"
      
      #: ../debugger/src/dbm_gdb.c:754
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Zieldatei laden.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:754
      msgid "Error loading file"
      msgstr "Fehler beim Laden der Datei"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:759 ../debugger/src/dbm_gdb.c:762
      #: ../debugger/src/dbm_gdb.c:765
      msgid "Error configuring GDB"
      msgstr "Fehler bei der Konfiguration von GDB"
      
      #: ../debugger/src/dbm_gdb.c:805
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "Haltepunkte bei %s:%i kann nicht gesetzt werden\n"
      "Debugger-Nachricht: %s"
      
      #: ../debugger/src/utils.c:67
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "Kann die Quelldatei »%s« nicht finden."
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr "Aktiver Frame"
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr "Auf einen Pfeil klicken, um zu einem Frame zu wechseln"
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr "Thread %i"
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Adresse"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Funktion"
      
      #: ../debugger/src/tabs.c:131
      msgid "Target"
      msgstr "Ziel"
      
      #: ../debugger/src/tabs.c:134 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Haltepunkte"
      
      #: ../debugger/src/tabs.c:137
      msgid "Watch"
      msgstr "Beobachten"
      
      #: ../debugger/src/tabs.c:140
      msgid "Autos"
      msgstr "Autos"
      
      #: ../debugger/src/tabs.c:143
      msgid "Call Stack"
      msgstr "Ausführungsstapel"
      
      #: ../debugger/src/tabs.c:146
      msgid "Debug Terminal"
      msgstr "Debug-Terminal"
      
      #: ../debugger/src/tabs.c:149
      msgid "Debugger Messages"
      msgstr "Debugger-Nachrichten"
      
      #: ../debugger/src/keys.c:48
      msgid "Run / Continue"
      msgstr "Starten / Fortsetzen"
      
      #: ../debugger/src/keys.c:49 ../debugger/src/btnpanel.c:100
      msgid "Stop"
      msgstr "Stop"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:97
      msgid "Restart"
      msgstr "Neustarten"
      
      # noch keine Idee  --Dominic
      # Vielleicht besser :) --frlan
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:112
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr "Eintreten"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:109
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr "Überspringen"
      
      # noch keine Idee  --Dominic
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:121
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr "Aussteigen"
      
      # Noch keine Idee hierzu --Dominic
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:124
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr "Bis zum Cursor ausführen"
      
      #: ../debugger/src/keys.c:55
      msgid "Add / Remove breakpoint"
      msgstr "Haltepunkte hinzufügen oder entfernen"
      
      #: ../debugger/src/keys.c:56
      msgid "Jump to the current instruction"
      msgstr "Zur aktuellen Anweisung springen"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "Konnte Ausdruck nicht prüfen"
      
      #: ../debugger/src/callbacks.c:257
      msgid "To edit source files stop debugging session"
      msgstr ""
      "Um die Quelldatei zu editieren, muss das Debugging unterbrochen werden."
      
      #: ../debugger/src/btnpanel.c:89 ../debugger/src/btnpanel.c:158
      msgid "Run"
      msgstr "Ausführen"
      
      #: ../debugger/src/btnpanel.c:131
      msgid "Settings"
      msgstr "Einstellungen"
      
      #: ../debugger/src/btnpanel.c:135
      msgid "Two panel mode"
      msgstr "Zwei-Panel-Modus"
      
      #: ../debugger/src/btnpanel.c:153
      msgid "Continue"
      msgstr "Fortsetzen"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "Debug-Session-Daten als Projekt speichern"
      
      #: ../defineformat/src/defineformat.c:55
      msgid "Define formatter"
      msgstr "#Define-Formatierer"
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Automatically align backslash in multi-line defines"
      msgstr "Platziert automatisch \\ in über mehrere Zeilen gehende Definitionen."
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Dokumentation"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "Code"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr "Nach \"Tag\"-Dokumentation suchen in"
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Devhelp"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Manual-Seiten"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Eine Seite nach zurück"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Eine Seite vor"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Hineinzoomen"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Herauszoomen"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Suchen"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Nach »%s« suchen in der Dokumentation von"
      
      #: ../devhelp/src/dhp-plugin.c:44
      msgid "Devhelp Plugin"
      msgstr "Devhelp Plugin"
      
      #: ../devhelp/src/dhp-plugin.c:45
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      "Fügt Unterstützung zum Nachsehen der Dokumentation unter Zuhilfenahme von "
      "Devhelp, Manual-Seiten und Google-Code-Suche über eine integrierte "
      "Oberfläche hinzu."
      
      #: ../devhelp/src/dhp-plugin.c:120
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Konfigurationsverzeichnis unter »%s« konnte nicht erstellt werden."
      
      #: ../devhelp/src/dhp-plugin.c:135
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Konnte Standardkonfigurationen nicht laden: %s"
      
      #: ../devhelp/src/dhp-plugin.c:143
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Konnte Standardkonfiguration nicht schreiben: %s"
      
      #: ../devhelp/src/dhp-plugin.c:173
      msgid "Toggle sidebar contents tab"
      msgstr "Seitenleisteninhalte umschalten"
      
      #: ../devhelp/src/dhp-plugin.c:175
      msgid "Toggle sidebar search tab"
      msgstr "Seitenleistensuche umschalten"
      
      #: ../devhelp/src/dhp-plugin.c:177
      msgid "Toggle documentation tab"
      msgstr "Dokumentationsreiter umschalten"
      
      #: ../devhelp/src/dhp-plugin.c:179
      msgid "Activate all tabs"
      msgstr "Alle Reiter aktivieren"
      
      #: ../devhelp/src/dhp-plugin.c:181
      msgid "Search for current tag in Devhelp"
      msgstr "Aktuellen Tag in Devhelp suchen"
      
      #: ../devhelp/src/dhp-plugin.c:185
      msgid "Search for current tag in Manual Pages"
      msgstr "Aktuellen Tag in den Manual-Seiten suchen"
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr "Devhelp – Assistent"
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Buch:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1783
      msgid "Book"
      msgstr "Buch"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Seite"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Schlüsselwort"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr "Struct"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "Makro"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr "Aufzählung"
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr "»%s« erwartet, »%s« erhalten in Zeile %d, Spalte %d"
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr "Ungültiger Namensraum »%s« in Zeile %d, Spalte %d"
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      "Die Elemente »title«, »name« und  »link« werden in Zeile %d, Spalte %d "
      "benötigt."
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      "Die Elemente »name« und  »link« werden innerhalb  in Zeile %d, Spalte "
      "%d benötigt."
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      "Die Elemente »name« und  »link« werden innerhalb »%s« in Zeile %d, Spalte %d "
      "benötigt."
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      "Das Element »type« wird innerhalb  in Zeile %d, Spalte %d benötigt."
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr "Kann Buch »%s« nicht entpacken: %s"
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr "Alle Bücher"
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr "Suchen in:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr "_Übersetzer"
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr "Ein Hilfebrowser für Entwickler unter GNOME"
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2061
      msgid "_File"
      msgstr "_Datei"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "_Bearbeiten"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "_Ansicht"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "_Gehe zu"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "_Hilfe"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "_Neues Fenster"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "Neuer Rei_ter"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "_Drucken…"
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Nächstes suchen"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Vorheriges suchen"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "Zur vorherigen Seite gehen"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Zur nächsten Seite gehen"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "_Inhalte"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "_Suchen"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "_Größerer Text"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Textgröße erhöhen"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "_Kleinerer Text"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Textgröße verringern"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "_Normale Größe"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Normale Textgröße verwenden"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Vollbildmodus verlassen"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "Im Vollbildmodus anzeigen"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Größer"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Kleiner"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "Über Devhelp"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Einstellungen…"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "Fehler beim Öffnen des angegebenen Links."
      
      # what the heck? :D
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "Leere Seite"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Suchen:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Vorheriges Auftreten des Suchmusters finden"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Nächstes Auftreten des Suchmusters finden"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "_Groß-/Kleinschreibung beachten"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr "»Beachten von Groß-/Kleinschreibung« umschalten"
      
      #: ../geanyctags/src/geanyctags.c:52
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      "Unterstützung beim Erstellen von und Suchen in CTag-Dateien für Geany-"
      "Projekte"
      
      # c-format
      #: ../geanyctags/src/geanyctags.c:145
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (im Verzeichnis %s)"
      
      #: ../geanyctags/src/geanyctags.c:162
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr "Prozess konnte nicht gestartet werden (%s)"
      
      #: ../geanyctags/src/geanyctags.c:515
      msgid "Find Tag"
      msgstr "Tag finden"
      
      #: ../geanyctags/src/geanyctags.c:526
      msgid "_Search for:"
      msgstr "_Suchen nach:"
      
      #: ../geanyctags/src/geanyctags.c:544
      msgid "_Match type:"
      msgstr "_Typ:"
      
      #: ../geanyctags/src/geanyctags.c:549
      #: ../projectorganizer/src/prjorg-sidebar.c:476
      msgid "exact"
      msgstr "exakt"
      
      #: ../geanyctags/src/geanyctags.c:550
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "prefix"
      msgstr "Präfix"
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "pattern"
      msgstr "Muster"
      
      #: ../geanyctags/src/geanyctags.c:560
      #: ../projectorganizer/src/prjorg-sidebar.c:155
      #: ../projectorganizer/src/prjorg-sidebar.c:499
      msgid "C_ase sensitive"
      msgstr "_Groß-/Kleinschreibung beachten"
      
      #: ../geanyctags/src/geanyctags.c:563
      #: ../projectorganizer/src/prjorg-sidebar.c:502
      msgid "_Declaration"
      msgstr "_Deklaration"
      
      #: ../geanyctags/src/geanyctags.c:630
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Tag-Deklaration finden (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:635
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Tag-Definition finden (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:644 ../geanyctags/src/geanyctags.c:649
      msgid "Generate tags"
      msgstr "Tags erstellen"
      
      #: ../geanyctags/src/geanyctags.c:651
      msgid "Find tag..."
      msgstr "Tag finden..."
      
      #: ../geanyctags/src/geanyctags.c:656
      msgid "Find tag"
      msgstr "Tag suchen"
      
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Dokumentation für das aktuelle Wort anzeigen."
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:425
      msgid "Could not parse the output of command"
      msgstr "Konnte die Ausgabe des Befehls nicht verarbeiten."
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Ausgabe in einem neuen Dokument anzeigen"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Befehl 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Befehl 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w wird mit dem aktuellen Wort ersetzt\n"
      
      #: ../geanydoc/src/geanydoc.c:439
      msgid "Document current word"
      msgstr "Dokumentation für aktuelles Wort öffnen"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document interactive"
      msgstr "Nach Dokumentationswerkzeug für das aktuelle Wort fragen"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Extra Selection"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr "Spaltenmodus. Auswählen bis zur Zeile/passenden Klammer/Anker"
      
      #: ../geanyextrasel/src/extrasel.c:501
      msgid "E_xtra Selection"
      msgstr "E_xtra-Auswahl"
      
      #: ../geanyextrasel/src/extrasel.c:508
      msgid "_Column Mode"
      msgstr "_Spaltenmodus"
      
      #: ../geanyextrasel/src/extrasel.c:513
      msgid "Column mode"
      msgstr "Spaltenmodus"
      
      #: ../geanyextrasel/src/extrasel.c:515
      msgid "Select to _Line"
      msgstr "_Auswählen bis Zeile"
      
      #: ../geanyextrasel/src/extrasel.c:519
      msgid "Select to line"
      msgstr "Auswählen bis Zeile"
      
      #: ../geanyextrasel/src/extrasel.c:521
      msgid "Select to Matching _Brace"
      msgstr "Bis zur passenden _Klammer auswählen"
      
      #: ../geanyextrasel/src/extrasel.c:525
      msgid "Select to matching brace"
      msgstr "Bis zur passenden Klammer auswählen"
      
      #: ../geanyextrasel/src/extrasel.c:527
      msgid "_Toggle Stream/Rectangular"
      msgstr "Zwischen Fluss- und Rechteckauswahl _umschalten"
      
      #: ../geanyextrasel/src/extrasel.c:531
      msgid "Convert selection"
      msgstr "Auswahl umwandeln"
      
      #: ../geanyextrasel/src/extrasel.c:536
      msgid "_Set Anchor"
      msgstr "_Anker setzen"
      
      #: ../geanyextrasel/src/extrasel.c:540
      msgid "Set anchor"
      msgstr "Anker setzen"
      
      #: ../geanyextrasel/src/extrasel.c:542
      msgid "Select to _Anchor"
      msgstr "Bis zum Anker _auswählen"
      
      #: ../geanyextrasel/src/extrasel.c:546
      msgid "Select to anchor"
      msgstr "Bis zum Anker auswählen"
      
      #: ../geanyextrasel/src/extrasel.c:548
      msgid "_Rectangle Select to Anchor"
      msgstr "_Rechteckige Auswahl bis zum Anker"
      
      #: ../geanyextrasel/src/extrasel.c:553
      msgid "Rectangle select to anchor"
      msgstr "Rechteckige Auswahl bis zum Anker"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "Boolescher Wert"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "Ungültiger Wahrheitswert »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "Ungültige Vorlage »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "Positionsname"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "Ungültige Position »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "Regelwerkname"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "Ungültiges Regelwerk »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "Regelwerk zusammenführen"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr "Ungültiges Regelwerk zum Zusammenführen »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "Typ"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "Ungültiger Typ »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "Ungültiger Optionenname »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr "Kennung setzen"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Unbekannter Typ »%s«. Vielleicht ein Tippfehler?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr "Gefundene Kennzeichnung"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr "Gefundene Kennzeichnung ist leer"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "Kennzeichnung des Dokumentationstyps"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "Dokumentationstyp"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "Ungültiger regulärer Ausdruck »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "Ungültige Umgebungsbeschreibung »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr "Einstellung"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "Abschnittsname"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "Doppelter Abschnitt »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "Ungültiger Abschnittsname »%s«"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "Die Eingabe ist leer"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "Warnung bei der Auswertung: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "Fehler bei der Auswertung: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Ungültige Markierung"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr "Dateityp-Konfigurationsdatei für Sprache »%s« nicht gefunden: %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr "Konnte Dateityp »%s« nicht von Datei »%s« lasen: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:56
      msgid "Documentation Generator"
      msgstr "Dokumentationsgenerator"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Generates documentation basis from source code"
      msgstr "Generiert Dokumentationsbasis aus Quellcode"
      
      #: ../geanygendoc/src/ggd-plugin.c:223
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Konnte Konfiguration nicht laden: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:244
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Konnte Konfiguration nicht speichern: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:317
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr "Konnte keine Konfigurationsdateien für den Typ »%s« finden: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:329
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      "# Eine Konfiguration für diese Datei existiert noch nicht. \n"
      "# Um sie zu erstellen, einfach etwas in diese Datei schreiben und "
      "anschließend speichern.\n"
      "# Eine Beschreibung der Syntax dafür gibt es im Handbuch.\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:341
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Konnte die Datei »%s« nicht laden: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:414 ../geanygendoc/src/ggd-plugin.c:425
      msgid "Insert Documentation Comment"
      msgstr "Dokumentationskommentar einfügen"
      
      #: ../geanygendoc/src/ggd-plugin.c:479
      msgid "_Document Current Symbol"
      msgstr "Dokumentation für aktuelles Wort _generieren"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "Generate documentation for the current symbol"
      msgstr "Dokumentation für das aktuelle Wort generieren."
      
      #: ../geanygendoc/src/ggd-plugin.c:486
      msgid "Document _All Symbols"
      msgstr "_Alle Symbole dokumentieren"
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      "Erstellt die Dokumentation für alle Symbole des aktuell geöffneten "
      "Dokumentes."
      
      #: ../geanygendoc/src/ggd-plugin.c:497
      msgid "_Reload Configuration Files"
      msgstr "_Konfigurationsdateien neu laden"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "Force reloading of the configuration files"
      msgstr "Neuladen der Konfigurationsdateien erzwingen."
      
      #: ../geanygendoc/src/ggd-plugin.c:503
      msgid "_Edit Current Language Configuration"
      msgstr "_Aktuelle Spracheinstellungen verändern"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "Open the current language configuration file for editing"
      msgstr "Die aktuelle Sprachkonfigurationsdatei zum Verändern öffnen."
      
      #: ../geanygendoc/src/ggd-plugin.c:514
      msgid "Open _Manual"
      msgstr "_Anleitung öffnen"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open the manual in a browser"
      msgstr "Anleitung im Browser öffnen."
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:519
      msgid "_Documentation Generator"
      msgstr "_Dokumentationsgenerator"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:618
      msgid "General"
      msgstr "Allgemein"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:623
      msgid "_Save file before generating documentation"
      msgstr "Datei _speichern vor dem Generieren der Dokumentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:626
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Das aktuelle Dokument speichern, bevor die Dokumentation dafür generiert "
      "wird. Ein technisches Detail, aber notwendig um mit einer aktuellen "
      "Symbolliste arbeiten zu können. Das Deaktivieren dieser Option könnte zu "
      "überraschenden Ergebnissen bei der Erstellung der Dokumentation führen, da "
      "die jeweils zuletzt gespeicherte Version des aktuellen Dokumentes als Basis "
      "genutzt wird."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:636
      msgid "_Indent inserted documentation"
      msgstr "Eingefügte Dokumentation _einrücken"
      
      #: ../geanygendoc/src/ggd-plugin.c:638
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Die eingefügte Dokumentation einrücken und somit in die aktuelle Position im "
      "Text eingliedern. "
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:645
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Dokumentationstyp"
      
      #: ../geanygendoc/src/ggd-plugin.c:655
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "Der Typ der Dokumentation, der bei den jeweiligen Dateitypen angewendet "
      "werden soll. \"Alle\" setzt die Standardkonfiguration, die auch für alle "
      "Sprachen genutzt wird, für die der Dokumentationstyp nicht gesetzt wurde. "
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:661
      msgid "Global environment"
      msgstr "Globale Umgebung"
      
      #: ../geanygendoc/src/ggd-plugin.c:663
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "Änderungen oder Ergänzungen für die globale Umgebung. Diese werden mit den "
      "Einstellungen für Dateitypen zusammengeführt."
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "Die Datei »%s« existiert, scheint aber keine reguläre Datei zu sein."
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "Die Datei oder das Verzeichnis »%s« gibt es nicht."
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "Konnte die Größe des Speicherausgabestroms nicht ändern"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      "Der reguläre Ausdruck zum Erkennen der Argumente war nicht erfolgreich. Die "
      "ursprüngliche Argumentliste war »%s«."
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "Konnte keine globale Umgebung einfügen und wird übersprungen: %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "Konnte den Kommentar nicht anlegen: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "Dokumentationstyp »%s« existiert nicht für die Sprache »%s«."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      "Keine Konfiguration gefunden für das Symbol »%s« des Typs »%s« in Zeile %lu."
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "Kein gültiger Tag für %d."
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr "Keine Markierungen im Dokument"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Unbekannte Option"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      "Option oder Proxy ungültig: Entweder die Einstellungen für den Proxy oder "
      "der Typ der Option ist nicht kompatibel"
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "Unbekannter Wert für Typ des Dateieintrages %s:%s"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr "Ein Problem beim Lesen des Dateieintrages %s::%s: %s ist aufgetreten"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Sprache"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr "_Verknüpften Dokumententyp ändern"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr "_Dokumententypverknüpfung aufheben"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Alle"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      "Dokumentationstyp für Dokumente, denen kein spezieller Typ zugewiesen wurde. "
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:484
      msgid "Insert Numbers"
      msgstr "Nummern einfügen"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "Einfügen/Ausfüllen der Spalten mit Nummern"
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Zählung läuft..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Vorbereitung läuft..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Einfügen läuft..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "Für die Basis 11 oder höher"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "_Start:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "S_chrittweite:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Basis"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Buchstaben:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "_Obere"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "_Untere"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "Basis_präfix:"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 für Oktal, 0x für Hexadezimal, + für positive Dezimalzahlen"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Versatz:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Leer_zeichen"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "_Null"
      
      #: ../geanyinsertnum/src/insertnum.c:477
      msgid "Insert _Numbers"
      msgstr "_Nummern einfügen"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Umgebungen"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Formatierungen"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Dokumentstruktur"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Listen"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Mathematik"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Umgebung einfügen"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Umgebung:"
      
      # Irgendwie seh ich doppelt.
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "Konnte nicht genau feststellen, wohin das Paket »%s« eingefügt werden soll.\n"
      "Bitte das Glück manuell versuchen!"
      
      # Irgendwie seh ich doppelt.
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr ""
      "Konnte nicht genau feststellen, wohin das Paket »%s« eingefügt werden soll."
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Artikel (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Buch (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr "Broschüre (@Booklet)"
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Konferenzbeitrag (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr "Buchkapitel (@Inbook)"
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr "Sammelbandbeitrag (@Incollection)"
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr "Konferenzbandbeitrag (@Inproceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr "Handbuch (@Manual)"
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "Masterarbeit (@Mastersthesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr "Misc (@Misc)"
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr "Doktorarbeit (@PhdThesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr "Konferenzband (@Proceedings)"
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr "Technischer Bericht (@Techreport)"
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "Unveröffentlicht (@Unpublished)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr "Note"
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Autor"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr "Buchtitel"
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Kapitel"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr "Querverweis"
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Ausgabe"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Autor"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "E-print"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr "Wie veröffentlicht"
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Institution"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Journal"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Schlüssel"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Monat"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Bemerkung"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Nummer"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organisation"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Seiten"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Herausgeber"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "Hochschule"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Reihe"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Titel"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Ausgabe"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Jahr"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Adresse des Verlegers"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr "Anmerkungen für den Bibliographie-Stil"
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr ""
      "Name(n) der Autoren, getrennt mit einem »and«, sollten mehrere Autoren am "
      "Werk mitgearbeitet werden."
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "Titel des Buches, wenn nur ein Teil zitiert wird"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Nummer des Kapitels"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr "Zitatmarke des verweisenden Eintrags"
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "Auflage des Buches wie »erste« oder »10. Überarbeitung«"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "Name(n) der Editoren, bei mehreren durch »and« getrennt"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "Spezifizierung der elektronischen Veröffentlichung"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "Publizierungsmethode wenn sie nicht Standard ist"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "Institution, die an der Veröffentlichung beteiligt war"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "Journal oder Magazin, in dem die Arbeit veröffentlicht wurde"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      "Verstecktes Feld, welches zur Festlegung oder zum Überschreiben der "
      "alphabetischen Reihenfolge von Einträgen benutzt wird"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr ""
      "Monat der Publikation bzw. der Erstellung bei unveröffentlichten Werken"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Sonstige zusätzliche Informationen"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "Nummer des Journals, des Magazins oder des technischen Reports"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "Sponsor der Konferenz"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "Seitenzahl(en) getrennt entweder durch Kommata oder Hochkommata"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Name des Herausgebers"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "Schule/Hochschule, an der die Arbeit geschrieben wurde"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "Name der Serie, in der das Buch veröffentlicht wurde"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Titel der Arbeit"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Art des technischen Berichts"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Internetadresse"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Nummer der Ausgabe"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr ""
      "Jahr der Publikation oder der Erstellung, wenn das Werk noch nicht "
      "veröffentlicht ist."
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr "Erweitert die LaTeX-Unterstützung"
      
      #: ../geanylatex/src/geanylatex.c:115
      msgid "Runs LaTeX wizard"
      msgstr "LaTeX-Assistent starten"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Marks selected text as italic"
      msgstr "Auswahl kursiv formatieren"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as bold"
      msgstr "Auswahl fett formatieren"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Underlines selected text"
      msgstr "Auswahl unterstreichen"
      
      #: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Zentriert"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Linksbündig"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Rechtsbündig"
      
      #: ../geanylatex/src/geanylatex.c:297
      msgid "Use KOMA script by default"
      msgstr "KOMA-Script als Standard verwenden"
      
      #: ../geanylatex/src/geanylatex.c:299
      msgid "Show extra plugin toolbar"
      msgstr "Werkzeugleiste für das Plugin anzeigen"
      
      #: ../geanylatex/src/geanylatex.c:301
      msgid "Capitalize sentence on typing"
      msgstr "Automatische Großschreibung am Satzanfang"
      
      #: ../geanylatex/src/geanylatex.c:303
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr "Symbol für LaTeX-Assistent in die Werkzeugliste einfügen"
      
      #: ../geanylatex/src/geanylatex.c:305
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      "Auswahl im Kleinbuchstaben umwandeln zur Benutzung von kleinen Kapitälchen "
      "(\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:309
      msgid "Don't care about this inside plugin"
      msgstr "Keine Autovervollständigung über das Plugin durchführen"
      
      #: ../geanylatex/src/geanylatex.c:311
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Autovervollständigung in LaTeX durchführen"
      
      #: ../geanylatex/src/geanylatex.c:324
      msgid "Modus of autocompletion"
      msgstr "Typ der Autovervollständigung:"
      
      #: ../geanylatex/src/geanylatex.c:832
      msgid "Insert Label"
      msgstr "Lesezeichen einfügen"
      
      #: ../geanylatex/src/geanylatex.c:834
      msgid "Label name:"
      msgstr "Lesezeichenname:"
      
      #: ../geanylatex/src/geanylatex.c:856
      msgid "Insert Command"
      msgstr "Befehl einfügen"
      
      #: ../geanylatex/src/geanylatex.c:858
      msgid "Command name:"
      msgstr "Befehlsname"
      
      #: ../geanylatex/src/geanylatex.c:901
      msgid "Insert Reference"
      msgstr "Verweis einfügen"
      
      #: ../geanylatex/src/geanylatex.c:914
      msgid "Reference name:"
      msgstr "Lesezeichenname:"
      
      #: ../geanylatex/src/geanylatex.c:939
      msgid "_Standard Reference"
      msgstr "_Normaler Verweis"
      
      #: ../geanylatex/src/geanylatex.c:944
      msgid "_Page Reference"
      msgstr "Verweis auf _Seite"
      
      #: ../geanylatex/src/geanylatex.c:949
      msgid "_Add both"
      msgstr "_Beides hinzufügen"
      
      #: ../geanylatex/src/geanylatex.c:1146
      msgid "More"
      msgstr "Weitere"
      
      #: ../geanylatex/src/geanylatex.c:1202
      msgid "Add additional package"
      msgstr "Paket hinzufügen"
      
      #: ../geanylatex/src/geanylatex.c:1215
      msgid "Package name:"
      msgstr "Paketname:"
      
      #: ../geanylatex/src/geanylatex.c:1218
      msgid "Package options:"
      msgstr "Paketoptionen:"
      
      #: ../geanylatex/src/geanylatex.c:1266
      msgid "Insert BibTeX Reference"
      msgstr "BibTeX-Referenz einfügen"
      
      #: ../geanylatex/src/geanylatex.c:1279
      msgid "BibTeX reference name:"
      msgstr "Referenzname:"
      
      #: ../geanylatex/src/geanylatex.c:1703
      msgid "Dear Sir or Madame"
      msgstr "Sehr geehrte Damen und Herren"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "With kind regards"
      msgstr "Mit freundlichen Grüßen"
      
      #: ../geanylatex/src/geanylatex.c:1712
      msgid "No template assigned. Aborting"
      msgstr "Keine Vorlage zugewiesen. Abbruch."
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1739
      msgid "LaTeX-Wizard"
      msgstr "LaTeX-Assistent"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1754 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Vorlage:"
      
      #: ../geanylatex/src/geanylatex.c:1758
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      "Vorlage, welche zum Erstellen des neuen Dokumentes genutzt werden soll."
      
      #: ../geanylatex/src/geanylatex.c:1767
      msgid "Default"
      msgstr "Vorgabe"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1778
      msgid "Documentclass:"
      msgstr "Dokumentenklasse:"
      
      #: ../geanylatex/src/geanylatex.c:1781
      msgid "Choose the kind of document you want to write"
      msgstr "Art des Dokumentes"
      
      #: ../geanylatex/src/geanylatex.c:1785
      msgid "Article"
      msgstr "Artikel"
      
      #: ../geanylatex/src/geanylatex.c:1787
      msgid "Report"
      msgstr "Bericht"
      
      #: ../geanylatex/src/geanylatex.c:1789
      msgid "Letter"
      msgstr "Brief"
      
      #: ../geanylatex/src/geanylatex.c:1791
      msgid "Presentation"
      msgstr "Präsentation"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1801
      msgid "Encoding:"
      msgstr "Zeichensatz:"
      
      #: ../geanylatex/src/geanylatex.c:1805
      msgid "Set the encoding for your new document"
      msgstr "Zeichensatz für das neue Dokument"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1821
      msgid "Font size"
      msgstr "Schriftgröße"
      
      #: ../geanylatex/src/geanylatex.c:1827
      msgid "Set the default font size of your new document"
      msgstr "Die Standardschriftgröße für das neue Dokument"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1839
      msgid "Author:"
      msgstr "Autor:"
      
      #: ../geanylatex/src/geanylatex.c:1842
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Der Eintrag für den Befehl »\\author«. Meist sollte hier Ihr Name stehen."
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1856
      msgid "Date:"
      msgstr "Datum:"
      
      #: ../geanylatex/src/geanylatex.c:1859
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "Der Eintrag für den Befehl »\\date« im Kopf des neuen Dokumentes. Den Wert "
      "bei »\\today« zu belassen, sollte eine gute Wahl sein, sofern kein fixes "
      "Datum benötigt wird."
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1871
      msgid "Title:"
      msgstr "Titel:"
      
      #: ../geanylatex/src/geanylatex.c:1874
      msgid "Sets the title of your new document."
      msgstr "Setzt den Titel für das neue Dokument."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1883
      msgid "Paper size:"
      msgstr "Papiergröße:"
      
      #: ../geanylatex/src/geanylatex.c:1886
      msgid "Choose the paper format for the newly created document"
      msgstr ""
      "Das Papierformat als Argument der Dokumentenklasse für das neue Dokument"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1899
      msgid "Paper Orientation:"
      msgstr "Seitenausrichtung:"
      
      #: ../geanylatex/src/geanylatex.c:1902
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      "Die Ausrichtung der Seite (Hoch- oder Querformat) als Argument der "
      "Dokumentenklasse für das neue Dokument"
      
      #: ../geanylatex/src/geanylatex.c:1923
      msgid "Use KOMA-script classes if possible"
      msgstr "KOMA-Script benutzen wenn möglich"
      
      #: ../geanylatex/src/geanylatex.c:1925
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "Wenn diese Option aktiviert ist, werden die KOMA-Script-Klassen von Markus "
      "Kohm genutzt. Sie müssen natürlich dafür installiert sein."
      
      #: ../geanylatex/src/geanylatex.c:1932
      msgid "Use draft mode"
      msgstr "Entwurfsmodus benutzen"
      
      #: ../geanylatex/src/geanylatex.c:1934
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      "Setzt die Option »draft« für die Dokumentenklasse, um das neue Dokument mit "
      "einer Nummer von kleinen Korrekturhinweisen zu versehen."
      
      #: ../geanylatex/src/geanylatex.c:1951
      msgid "Run LaTeX-Wizard"
      msgstr "LaTeX-Assistent starten"
      
      #: ../geanylatex/src/geanylatex.c:1953
      msgid "Insert \\label"
      msgstr "\\label einfügen"
      
      #: ../geanylatex/src/geanylatex.c:1955
      msgid "Insert \\ref"
      msgstr "\\ref einfügen"
      
      #: ../geanylatex/src/geanylatex.c:1957
      msgid "Insert linebreak \\\\ "
      msgstr "Zeilenumbruch einfügen (\\\\)"
      
      #: ../geanylatex/src/geanylatex.c:1960
      msgid "Insert command"
      msgstr "Befehl einfügen"
      
      #: ../geanylatex/src/geanylatex.c:1962
      msgid "Turn input replacement on/off"
      msgstr "Eingabeersetzung ein-/ausschalten"
      
      #: ../geanylatex/src/geanylatex.c:1966
      msgid "Replace special characters"
      msgstr "Sonderzeichen ersetzen"
      
      #: ../geanylatex/src/geanylatex.c:1969
      msgid "Run insert environment dialog"
      msgstr "Dialog zum Einfügen von Umgebungen"
      
      #: ../geanylatex/src/geanylatex.c:1971
      msgid "Insert \\item"
      msgstr "\\item einfügen"
      
      #: ../geanylatex/src/geanylatex.c:1973
      msgid "Format selection in bold font face"
      msgstr "Auswahl fett formatieren"
      
      #: ../geanylatex/src/geanylatex.c:1975
      msgid "Format selection in italic font face"
      msgstr "Auswahl kursiv formatieren"
      
      #: ../geanylatex/src/geanylatex.c:1977
      msgid "Format selection in typewriter font face"
      msgstr "Auswahl in Maschinenschrift formatieren"
      
      #: ../geanylatex/src/geanylatex.c:1979
      msgid "Format selection centered"
      msgstr "Auswahl zentrieren"
      
      #: ../geanylatex/src/geanylatex.c:1981
      msgid "Format selection left-aligned"
      msgstr "Auswahl linksbündig formatieren"
      
      #: ../geanylatex/src/geanylatex.c:1983
      msgid "Format selection right-aligned"
      msgstr "Auswahl rechtsbündig formatieren"
      
      #: ../geanylatex/src/geanylatex.c:1986
      msgid "Insert description list"
      msgstr "description-Umgebung einfügen"
      
      #: ../geanylatex/src/geanylatex.c:1989
      msgid "Insert itemize list"
      msgstr "itemize-Liste einfügen"
      
      #: ../geanylatex/src/geanylatex.c:1992
      msgid "Insert enumerate list"
      msgstr "enumerate-Liste einfügen"
      
      #: ../geanylatex/src/geanylatex.c:1995
      msgid "Set selection one level up"
      msgstr "Markierung eine Gliederungsebene anheben"
      
      #: ../geanylatex/src/geanylatex.c:1998
      msgid "Set selection one level down"
      msgstr "Markierung eine Gliederungsebene absenken"
      
      #: ../geanylatex/src/geanylatex.c:2001
      msgid "Insert \\usepackage{}"
      msgstr "\\usepackage{} einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2004
      msgid "Insert BibTeX reference dialog"
      msgstr "Dialog zum Einfügen von BibTeX-Referenzen"
      
      #: ../geanylatex/src/geanylatex.c:2011
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX ist ein Plugin, welches LaTeX-Support für Geany mitbringt. \n"
      "\n"
      "Alle Fehler bitte an einen der Entwickler melden."
      
      #: ../geanylatex/src/geanylatex.c:2049
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      "glatex_set_autocompletion_contextsize wurde mit einem ungültigen Wert "
      "initialisiert. Anstelle dessen wird der Standardwert genutzt. Bitte die "
      "Konfigurationsdatei prüfen."
      
      #: ../geanylatex/src/geanylatex.c:2071 ../geanylatex/src/geanylatex.c:2078
      msgid "page \\pageref{{{reference}}}"
      msgstr "Seite \\pageref{{{reference}}}"
      
      #: ../geanylatex/src/geanylatex.c:2075 ../geanylatex/src/geanylatex.c:2082
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr "\\ref{{{reference}}}, Seite \\pageref{{{reference}}}"
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2130
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2139 ../geanylatex/src/geanylatex.c:2351
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX-_Assistent"
      
      #: ../geanylatex/src/geanylatex.c:2142 ../geanylatex/src/geanylatex.c:2354
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Öffnet einen Assistenten, um einfach LaTeX-Dokumente zu erstellen."
      
      #: ../geanylatex/src/geanylatex.c:2147
      msgid "I_nsert Special Character"
      msgstr "_Sonderzeichen einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2149
      msgid "Helps to use some not very common letters and signs"
      msgstr "Hilft bei der Verwendung von seltenen Sonderzeichen"
      
      #: ../geanylatex/src/geanylatex.c:2159
      msgid "Insert _Reference"
      msgstr "_Verweis einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2161
      msgid "Inserting references to the document"
      msgstr "Eine Referenz in das Dokument einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2166
      msgid "Insert _Label"
      msgstr "_Lesezeichen einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2168
      msgid "Helps at inserting labels to a document"
      msgstr "Hilft beim Einfügen von Lesezeichen in ein Dokument"
      
      #: ../geanylatex/src/geanylatex.c:2174
      msgid "Insert _Environment"
      msgstr "_Umgebung einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2176
      msgid "Helps at inserting an environment a document"
      msgstr "Hilft beim Einfügen einer Umgebung in ein Dokument"
      
      #: ../geanylatex/src/geanylatex.c:2182
      msgid "Insert P_ackage"
      msgstr "_Paket einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2184
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      "Eine kleine Hilfe, um \\usepackage{} in den Kopf des Dokumentes einzufügen."
      
      #: ../geanylatex/src/geanylatex.c:2189 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Format"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2206
      msgid "F_ont size"
      msgstr "Sc_hriftgröße:"
      
      #: ../geanylatex/src/geanylatex.c:2224
      msgid "_Special Character Replacement"
      msgstr "Sonderzeichen _ersetzen"
      
      #: ../geanylatex/src/geanylatex.c:2232
      msgid "Bulk _Replace Special Characters"
      msgstr "_Sonderzeichen ersetzen (Auswahl)"
      
      #: ../geanylatex/src/geanylatex.c:2234
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "Sonderzeichen mit den _TeX-Entsprechungen ersetzen"
      
      #: ../geanylatex/src/geanylatex.c:2242
      msgid "Toggle _Special Character Replacement"
      msgstr "Ersetzung während _Eingabe"
      
      #: ../geanylatex/src/geanylatex.c:2253
      msgid "Insert _Command"
      msgstr "Be_fehl einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2255
      msgid "Inserting customized command to document"
      msgstr "Benutzerdefinierten Befehl in Dokument einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2280
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2288
      msgid "Insert B_ibTeX reference"
      msgstr "B_ibTeX-Referenz einfügen"
      
      #: ../geanylatex/src/geanylatex.c:2290
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      "Unterstützt beim Einfügen von BibTeX-Referenzen basierend auf bib-Dateien"
      
      #: ../geanylatex/src/geanylatex.c:2295
      msgid "_BibTeX entries"
      msgstr "_BibTeX-Einträge"
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr "LaTeX-Sonderzeichen"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Griechische Buchstaben"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Deutsche Umlaute"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Sonstige"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Pfeil-Symbole"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Relationale Operatoren"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Binäre Operatoren"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Kursiv"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Fett"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Unterstrichen"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Schreibmaschine"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Kapitälchen"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "Geneigt (Slanted)"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Hervorhebung"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "tiny"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr "scriptsize"
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "footnotesize"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "small"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "normalsize"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "large"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "Large"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "LARGE"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "huge"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "Huge"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "IBM 850 code page"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "IBM 852 code page"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "Keine Zeichenkodierung explizit festlegen"
      
      #: ../geanylipsum/src/geanylipsum.c:39
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "Creating dummy text with Geany"
      msgstr "Platzhaltertexte erstellen mit Geany"
      
      #: ../geanylipsum/src/geanylipsum.c:88
      msgid "Lipsum-Generator"
      msgstr "Lorem-ipsum-Generator"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Enter the length of Lipsum text here"
      msgstr "Bitte die Länge des Platzhaltertextes eingeben"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:161
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:162
      msgid "Include Pseudotext to your code"
      msgstr "Fügt Platzhaltertexte in das Dokument ein"
      
      #: ../geanylipsum/src/geanylipsum.c:176
      msgid "Insert Lipsum text"
      msgstr "Fügt Platzhaltertexte ein"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "Typ »%s« für Argument  #%d erwartet\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "Typ »%s« oder »%s« für Argument #%d erwartet\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "Falsche Tabelle in Argument #%d:\n"
      "Typ »%s« für Element #%d erwartet\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Lua-Skript"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr ""
      "Lua-Skripte schreiben und als benutzerdefinierte Funktionen in Geany "
      "ausführen."
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Lua-Skript-Plugin"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Fehler bei Lua-Skript:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Zeitüberschreitung des Skriptes"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Ein Lua-Skript scheint sehr viel Zeit für die Ausführung zu brauchen.\n"
      "Möchten Sie warten, bis es fertig ist?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Zeitüberschreitung des Skriptes wurde erkannt."
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(Objekt ist keine Zeichenkette)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Unbekannter Fehler innerhalb des Skriptes."
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Nicht genügend Speicher."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "Fehler beim Öffnen des Skriptes."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Unbekannter Fehler beim Laden des Skriptes."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "_Lua-Skripte"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Baue Menü von »%s«\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "Es gibt nichts zu konfigurieren."
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "Sie können das Script »%s« erstellen, um einen benutzerdefinierten "
      "Konfigurationsdialog hinzuzufügen."
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Datei öffnen"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Datei auswählen"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Durchsuchen..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Farbe auswählen"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Auswählen..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Schriftart auswählen"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Auswählen..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion navigate():\n"
      "Unbekannter Navigationsmodus »%s« für Argument #1.\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "API-Befehl »%s« ist nicht implementiert.\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "Nicht genügend Argumente für den Befehl »%s«.\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "Unbekannter Befehl »%s« für das Argument #1.\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "Falsche Tabelle in Argument #%d:\n"
      "Unbekannter Parameter »%s« für Element #%d\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "Datei existiert"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Möchten Sie sie überschreiben?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "Bestätigung"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Datei speichern"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion pickfile():\n"
      "Konnte die zu filternde Zeichenkette nicht verarbeiten; Argument #3.\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "Erwartete »open« oder »save« als 1. Argument.\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: Konnte die unterstützende Bibliothek »%s« nicht laden!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: Konnte die unterstützende Bibliothek »%s« nicht initialisieren!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr "%s: Versionskonflikt mit der Bibliothek: %s vs. %s (sollte %s sein)!\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr "%s: Versionskonflikt mit der Geany ABI: %d vs. %s (sollte %d sein)!\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: Konnte die unterstützende Bibliothek »%s« nicht finden!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "Das Plugin »%s« konnte nicht korrekt geladen werden.\n"
      "Bitte überprüfen Sie Ihre Installation."
      
      # c-format
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010"
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s():\n"
      "Widget »%s« nicht gefunden für Argument #1.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "Fehler in Modul »%s« in Funktion %s(): Argument #2:\n"
      "Widget »%s» hat kein Signal mit dem Namen »%s«.\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Ausschneiden und in die Zwischenablage legen"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "In die Zwischenablage kopieren"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Aus Zwischenablage einfügen"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Aktuelle Zeile ausschneiden und in die Zwischenablage legen"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Aktuelle Zeile  in die Zwischenablage kopieren"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "Linksseitige Zeichen löschen"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "Rechtsseitige Zeichen löschen"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "Linksseitige Zeichen löschen (aber nicht den Zeilenumbruch)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "Bis zum Anfang des linksseitigen Wortes löschen"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "Bis zum Anfang des rechtsseitigen Wortes löschen"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "Bis zum Ende des rechtsseitigen Wortes löschen"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "Bis zum Anfang der Zeile löschen"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "Bis zum Ende der Zeile löschen"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Aktuelle Zeile löschen"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr "Rückwärts-Tabulator (löscht einen Tabulator wenn nichts dahinter ist)"
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "Anzeige eine Zeile hinunterscrollen"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "Anzeige eine Zeile hinaufscrollen"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr "Hineinzoomen"
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr "Herauszoomen"
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "Cursor nach unten bewegen"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "Cursor nach oben bewegen"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "Cursor nach links bewegen"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "Cursor nach rechts bewegen"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "Cursor zu Wortanfang auf der Linken bewegen"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "Cursor zu Wortanfang auf der Rechten bewegen"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr "Cursor zu Wortteil auf der Linken bewegen"
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr "Cursor zu Wortteil auf der Rechten bewegen"
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "Cursor zu Zeilenanfang bewegen"
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "Cursor zu Zeilenende bewegen"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr "Cursor zu erster Zeile des Dokuments bewegen"
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr "Cursor zu letzter Zeile des Dokuments bewegen"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "Cursor eine Seite nach oben bewegen"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "Cursor eine Seite nach unten bewegen"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr "Cursor zu erstem sichtbaren Zeichen bewegen"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr "Cursor zu letztem sichtbaren Zeichen bewegen"
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      "Cursor zu erstem Zeichen der Zeile bewegen, das kein Whitespace ist, oder "
      "zum ersten Zeichen überhaupt, wenn schon beim ersten Nicht-Whitespace-"
      "Zeichen."
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Cursor zum Anfang des nächsten Absatzes bewegen"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr "Cursor zum Anfang des aktuellen/vorigen Absatzes bewegen"
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr "Cursor zum Wortende auf der Linken bewegen"
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr "Cursor zum Wortende auf der Rechten bewegen"
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr "Auswahl eine Zeile nach unten erweitern"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "Auswahl eine Zeile nach oben erweitern"
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "Auswahl in einer Zeile nach links erweitern"
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "Auswahl in einer Zeile nach rechts erweitern"
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Auswahl bis zu Wortanfang auf der Linken erweitern"
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Auswahl bis zu Wortanfang auf der Rechten erweitern"
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Auswahl bis zu Wortteil auf der Linken erweitern"
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Auswahl bis zu Wortteil auf der Rechten erweitern"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "Auswahl bis zu Zeilenanfang erweitern"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "Auswahl bis zu Zeilenende erweitern"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr "Auswahl bis zu Dokumentanfang erweitern"
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr "Auswahl bis zu Dokumentende erweitern"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "Auswahl eine Seite nach oben erweitern"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "Auswahl eine Seite nach unten erweitern"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr "Auswahl bis zu erstem sichtbaren Zeichen erweitern"
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr "Auswahl bis zu letztem sichtbaren Zeichen erweitern"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      "Auswahl bis zu erstem Zeichen der Zeile erweitern, das kein Whitespace ist, "
      "oder bis zum ersten Zeichen überhaupt, wenn schon beim ersten Nicht-"
      "Whitespace-Zeichen."
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Auswahl bis zu Anfang des nächsten Absatzes erweitern"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr "Auswahl bis zu Anfang des aktuellen/vorigen Absatzes erweitern"
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Auswahl bis zu Wortende an der Linken erweitern"
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Auswahl bis zu Wortende an der Rechten erweitern"
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr "Rechteckige Auswahl eine Zeile nach unten erweitern"
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr "Rechteckige Auswahl eine Zeile nach oben erweitern"
      
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Rechteckige Auswahl innerhalb einer Zeile nach links erweitern"
      
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Rechteckige Auswahl innerhalb einer Zeile nach rechts erweitern"
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Rechteckige Auswahl bis zu Zeilenanfang erweitern"
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Rechteckige Auswahl bis zu Zeilenende erweitern"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Rechteckige Auswahl eine Seite nach oben erweitern"
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Rechteckige Auswahl eine Seite nach unten erweitern"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      "Rechteckige Auswahl bis zu erstem Zeichen der Zeile erweitern, das kein "
      "Whitespace ist, oder bis zum ersten Zeichen überhaupt, wenn schon beim "
      "ersten Nicht-Whitespace-Zeichen."
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "Auswahl abbrechen"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr "Einfügen/Überschreiben umschalten"
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Tabulator"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Zeilenumbruch"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr "Einfügen/ersetzen mit \"\""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr "Aktuelle Zeile mit der oberen vertauschen"
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Auswahl zu Kleinbuchstaben ändern"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Auswahl zu GROSSBUCHSTABEN ändern"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr "Duplikat der aktuellen Zeile unterhalb einfügen"
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      "Duplikat des ausgewählten Textes nach der Auswahl einfügen. Wenn nichts "
      "ausgewählt ist, wird die Zeile dupliziert"
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr "Nach dem nächsten \"\" suchen"
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr "Nach dem vorherigen \"\" suchen"
      
      #: ../geanymacro/src/geanymacro.c:152
      msgid "Set start of search to beginning of selection"
      msgstr "Am Anfang der Auswahl beginnen zu suchen"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Makros"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr "Makros für Geany"
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr "Kein Text in der Zwischenablage"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      "Unverständliche Nachricht\n"
      "%i %i %i"
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr "Makros beim Beenden von Geany speichern"
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr "Nachfragen vor dem Ersetzen von Makros"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr "Hilfe zu Geany-Makros"
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      "Dieses Plugin implementiert Makros in Geany.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      "Dieses Plugin ermöglicht das Aufnehmen und Verwenden von eigenen Makros. "
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      "Sequenzen von Aktionen können mittels einer einzelnen Tastenkombination "
      "wiederholt werden. "
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      "Wenn Sie z.B. viele Zeilen hätte, wo sie jeweils die letzten 2 Zeichen "
      "löschen wollten, so könnten Sie die Aufnahme starten, »Ende«, »Backspace«, "
      "»Backspace« drücken, eine Zeile runtergehen und dann die Aufnahme beenden. "
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      "Dann lösen Sie einfach das Makro aus und es wird automatisch die Zeile "
      "bearbeiten und zu der nächsten Zeile runtergehen. "
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      "Wählen Sie »Makro aufzeichnen« aus dem Werkzeugmenü, dann wird ein "
      "Dialogfenster für Sie geöffnet. "
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      "Sie müssen eine noch nicht verwendete Tastenkombination angeben und einen "
      "Namen für das Makro, an dem Sie es wiedererkennen können. "
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr "Dann drücken Sie »Aufnehmen«"
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      "Was Sie dann im Editor machen, wird alles aufgezeichnet, bis Sie die "
      "Aufnahme über das Werkzeugmenü beenden. "
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      "Wenn Sie jetzt die angegebene Tastenkombination drücken, wird das Makro "
      "erneut ausgeführt. "
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      "Zum Bearbeiten der vorhandenen Makros finden Sie im Werkzeugmenü den Eintrag "
      "»Makros bearbeiten«. "
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr "Sie können ein Makro auswählen und es löschen oder neu aufzeichnen. "
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      "Sie können auch auf einen Makronamen klicken und ihn ändern, oder auf die "
      "Tastenkombination und diese neu definieren, so sie nicht schon vergeben ist. "
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      "Wenn Sie die Option »Bearbeiten« auswählen, können Sie alle einzelnen "
      "Elemente sehen, welche das Makro ausmachen. "
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      "Sie können einen anderen Befehl für jedes Element auswählen, diese "
      "verschieben,  neue Elemente hinzufügen, alte löschen oder über »Ersetzen/"
      "einfügen« den ausgewählten Text ersetzen bzw. neuen einfügen.\n"
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      "Beachten Sie dabei, dass das Rückgängigmachen und Wiederholen von Aktionen "
      "nicht aufgezeichnet wird und entsprechend auch nicht abgespielt wird, wenn "
      "das Makro wieder ausgeführt wird.\n"
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      "Sie können das Standardverhalten des Plugins ändern, indem Sie die "
      "Pluginverwaltung im Werkzeugmenü auswählen, das Plugin auswählen und auf "
      "»Einstellungen« klicken. "
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr "Sie können verändern:\n"
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      "Makros beim Beenden von Geany speichern – Wählen Sie dies aus, wenn Geany "
      "alle aufgezeichneten Makros speichern und beim nächsten Start von Geany "
      "laden soll. Ansonsten gehen alle Makros beim Beenden von Geany verloren.\n"
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      "Vor dem Ersetzen von Makros fragen – Vor dem Überschreiben von bereits "
      "vorhandenen Makros wird die Möglichkeit gegeben, einen anderen Namen oder "
      "eine andere Tastenkombination anzugeben. Ansonsten werden vorhandene Makros "
      "mit gleichem Namen oder Tastenkombination einfach gelöscht."
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "Makro aufnehmen"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Aufnehmen"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "Auslöser für das Makro"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "Makroname:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Makroname »%s«\n"
      " wird bereits verwendet.\n"
      "Ersetzen?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Makroauslöser »%s«\n"
      " wird bereits verwendet.\n"
      "Ersetzen?"
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr "Suche nach %s, suchen nach %s%s%s.%s%s%s%s%s"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Suchoptionen:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_OK"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:299
      msgid "_Cancel"
      msgstr "_Abbrechen"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "Vorwärts suchen"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Rückwärts suchen"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "Suchen nach Inhalten aus der Zwischenablage"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:127
      #: ../projectorganizer/src/prjorg-sidebar.c:453
      msgid "Search for:"
      msgstr "Suchen nach:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "Groß-/Kleinschreibung bei Suche beachten"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Nach ganzem Wort suchen"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Nach Wortanfang suchen"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "Suchtext ist regulärer Ausdruck"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "Suchtext ist POSIX-kompatibel"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr "Text zum Einfügen/Ersetzen bearbeiten"
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Text:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr "Einfügen/ersetzen mit »%s«"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "Bearbeiten: %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "Ereignis"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "Nach _oben"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "Nach _unten"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr "Neu _darüber"
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr "Neu d_arunter"
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "_Löschen"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "Makros bearbeiten"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "Makroname"
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr "Auslöser"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr "_Neu aufnehmen"
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "_Makro aufnehmen"
      
      # Doppelter Acc. ist in Ordnung, da Menüpunkte ausgetauscht werden (Stand 2011-10-03)
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "_Makroaufnahme beenden"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "Makros _bearbeiten"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      "GMS : Geany Mini-Script Plugin\n"
      "Dieses Plugin ist ein Werkzeug, um verschiedene, skriptbasierte Filter "
      "auf: \n"
      "   o die Textauswahl,\n"
      "\to das aktuelle Dokument, \n"
      "\to die Dokumente der aktuelle Sitzung\n"
      " anzuwenden.\n"
      "Dazu können die Filter in: \n"
      "   o Unix shell Skript, \n"
      "   o Perl-Skript, \n"
      "   o Python-Skript, \n"
      "   o sed-Kommandos,\n"
      "   o awk-Skripts.\n"
      "geschrieben werden.\n"
      "\n"
      "AUTOR\n"
      "   Erstellt von Pascal BURLOT (Dezember,2008)\n"
      "\n"
      "Lizenz:\n"
      "Dieses Programm ist freie Software und kann unter den Bedingungen der GNU "
      "General Public Licence in Version 2 oder höher Verändert und "
      "Weiterverbreitet werden."
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr "Mini-Skript laden"
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr "Mini-Skript speichern"
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr "Mini-Skript-Filter"
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr "Leert das Skript-Fenster"
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr "Lädt eine Datei in das Skript-Fenster"
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr "Speichert das Skript ab"
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr "Zeigt Informationen über das Plugin"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr "Wählen Sie den Skript-Typ aus"
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr "Eingabedaten für den Filter"
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr "Wählen Sie die Eingabedaten des Filters aus"
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "Auswahl"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "Dokument"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "Sitzung"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr "Filterausgabe"
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr "Wählen Sie die Ausgabe des Filters aus"
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "Aktuelles Dokument"
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr "Neues Dokument"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr "Skript-Konfiguration"
      
      #: ../geanyminiscript/src/gms.c:57
      msgid "Mini Script"
      msgstr "Mini-Skript"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      "Ein Werkzeug, mit dem ein Skript-Filter auf eine Textauswahl oder aktuelle "
      "Dokumente angewandt werden kann"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, ein Geany-Benutzer"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:248
      msgid "_Mini-Script"
      msgstr "_Mini-Skript"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:60
      msgid "Numbered Bookmarks for Geany"
      msgstr "Nummerierte Lesezeichen für Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:930
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      "Kann nicht alle Markierungen auf »%s« anwenden, da schon alle in Verwendung "
      "sind."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:932
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:976
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "_Okay"
      msgstr "_Okay"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:974
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      "»%s« wurde verändert, seit es zum letzten Mal mit Geany gespeichert wurde. "
      "Die Positionen der Markierungen könnten verschoben und irreführend sein und "
      "werden nicht geladen.\n"
      "Drücken Sie »ignorieren«, um die Markierungen dennoch zu laden. "
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      msgid "_Ignore"
      msgstr "_Ignorieren"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1222
      msgid "remember fold state"
      msgstr "Status des Code-Faltung merken"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1228
      msgid "Center view when goto bookmark"
      msgstr "Ansicht zentrieren beim Sprung auf ein Lesezeichen"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1235
      msgid "Move to start of line"
      msgstr "Zu Zeilenanfang bewegen"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to remembered position in line"
      msgstr "Zu gemerkter Position in der Zeile bewegen"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to position in current line"
      msgstr "Zu Position in aktueller Zeile bewegen"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to End of line"
      msgstr "Zu Zeilenende bewegen"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1244
      msgid "Save file settings with program settings"
      msgstr "Dateieinstellungen mit Programmeinstellungen zusammen speichern"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings to filename with suffix"
      msgstr "Dateieinstellungen in Dateinamen mit Endung speichern"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1250
      msgid "remember normal Bookmarks"
      msgstr "Normale Lesezeichen merken"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1270
      msgid "Numbered Bookmarks help"
      msgstr "Hilfe zu »Nummerierte Lesezeichen«"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1277
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      "Dieses Plugin implementiert nummerierte Lesezeichen in Geany sowie das "
      "Merken der Code-Faltungen und der Positionen der gewöhnlichen, nicht-"
      "nummerierten Lesezeichen, wenn eine Datei gespeichert wird.\n"
      "\n"
      "Es erlaubt bis zu 10 nummerierte Lesezeichen. Um ein nummeriertes "
      "Lesezeichen zu erstellen, geben Sie bitte Strg+Umsch+eine Nummer von 0 bis 9 "
      "ein. Sie werden eine Markierung neben der Zeilennummer sehen. Wenn Sie dies "
      "bei einer Zeile versuchen, die aber schon diese Lesezeichennummer hat, so "
      "wird diese Nummer entfernt. Wenn die Nummer schon auf einer anderen Zeile "
      "gesetzt war, so wird die Nummer verschoben. Wenn die Nummer noch nicht "
      "vergeben war, wird ein Lesezeichen gesetzt. Nur das zuletzt gesetzte "
      "Lesezeichen wird gezeigt, aber Sie können mehrere Lesezeichen pro Zeile "
      "gesetzt haben. Um sich zu einem schon gesetzten Lesezeichen zu bewegen, "
      "geben Sie Strg+eine Nummer von 0 bis 9 ein."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1398
      msgid "Unable to apply markers as all being used."
      msgstr ""
      "Kann nicht alle Markierungen anwenden, da schon alle in Verwendung sind."
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "konnte keine temporäre Datei erstellen"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      "Der Schlüssel mit ID »%s« hat die Gültigkeit »%s«.\n"
      "\n"
      "WARNUNG: Es ist nicht sichergestellt, dass der Schlüssel auch zu der in der "
      "ID genannten Person wirklich gehört.\n"
      "\n"
      "Sind Sie WIRKLICH sicher, dass Sie diesen Schlüssel dennoch verwenden wollen?"
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      "Keine Empfänger wurden ausgewählt.\n"
      "Soll eine symmetrische Verschlüsselung genutzt werden?"
      
      #: ../geanypg/src/geanypg.c:36
      msgid "gpg encryption plugin for geany"
      msgstr "GPG-Verschlüsselungsplugin für Geany"
      
      #: ../geanypg/src/geanypg.c:38
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:46
      msgid "Using libgpgme version:"
      msgstr "Verwendete libgpgme-Version:"
      
      #: ../geanypg/src/geanypg.c:58 ../geanypg/src/geanypg.c:59
      msgid "Error from"
      msgstr "Fehler von"
      
      #: ../geanypg/src/geanypg.c:84
      msgid "Encrypt"
      msgstr "Verschlüsseln"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Sign"
      msgstr "Signieren"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Decrypt / Verify"
      msgstr "Entschlüsseln / Überprüfen"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Verify detached signature"
      msgstr "Signatur prüfen"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Bitte Empfänger auswählen"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Nachricht signieren als:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Empfänger auswählen"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "Wählen Sie einen Schlüssel zum Signieren aus:"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "Signierenden Schlüssel auswählen"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "Konnte pinentry nicht nutzen"
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "Pinentry hat eine unerwartete Antwort zurückgegeben."
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr "Passphraseneintrag"
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Passphrase"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "Eingeben der Passphrase für"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "pinentry hat einen Fehler gemeldet"
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "Unerwarteter Fehler von pinentry"
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      "Fehler: Passphraseneingabe ohne die Verwendung von gpg-agent wird nicht "
      "unterstützt unter Windows."
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr "ein Schlüssel mit Fingerabdruck"
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "Unbekannt"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "unbestimmt"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "niemals"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "marginal"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "vollständig"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr "ultimativ"
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr "[schlechter Validierungswert]"
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr " gültig"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr " grün"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr " rot"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr " widerrufen"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " Schlüssel abgelaufen"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " Signatur abgelaufen"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " Schlüssel fehlt"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " CRL fehlt"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " CRL ist zu alt"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr " falsches Regelwerk (bad policy)"
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr " Systemfehler"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Unbekannt\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      "Status .................: %s\n"
      "Zusammenfassung ........: %s\n"
      "Fingerabdruck ..........: %s\n"
      "Erzeugt ................: %s, läuft ab ...: %s, Gültigkeit ..: %s\n"
      "Validierungsgrund ......: %s\n"
      "Algor. f. öff. Schlüssel: %s\n"
      "Algor. f. »Digest« .....: %s\n"
      "PKA-Adresse ............: %s\n"
      "PKA-Stelle .............: %s\n"
      "Andere Kennzeichnungen .: %s%s\n"
      "Anmerkungen ............: %s\n"
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Kein]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Unbekannt"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "nicht verfügbar"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "schlecht"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "okay"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr "RFU"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr " Falsche Schlüsselnutzung"
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr " Ketten-Modell. "
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "ja"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "nein"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "Unterschrift von: "
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Signatur"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "Konnte keine Ergebnisse der Verifizierung finden. "
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "Fehler: Konnte keine Resultate der Verifikation finden."
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Eine Signaturendatei öffnen"
      
      #: ../geanyprj/src/geanyprj.c:39
      msgid "Alternative project support."
      msgstr "Alternative Projektunterstützung."
      
      #: ../geanyprj/src/geanyprj.c:223
      msgid "Find a text in geanyprj's project"
      msgstr "Text in geanyprj-Projekt suchen"
      
      #: ../geanyprj/src/geanyprj.c:237
      msgid "Display sidebar"
      msgstr "In Seitenleiste zeigen"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Projekteigenschaften"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Neues Projekt"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "_Erstellen"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Name:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Ort:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Projektverzeichnis auswählen"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Basisverzeichnis:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Basisverzeichnis aller Dateien, die zu einem Projekt gehören. Es kann sowohl "
      "ein bereits existierender als auch ein neu zu erstellendes Verzeichnis sein. "
      "Weiter kann der Pfad sowohl in relativer als auch absoluter Form eingegeben "
      "werden."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Projektbasisverzeichnis auswählen"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Dateiliste beim Laden erzeugen"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Fügt Dateien, die dem Projekt-Typ entsprechen, automatisch beim Laden dem "
      "Projekte hinzu. Manuelles Hinzufügen oder Löschen von Dateien ist dann nicht "
      "möglich, Änderungen würden beim nächsten Laden überschrieben werden."
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Typ:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Die Projektdatei »%s« existiert bereits."
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Projekt"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Projekt löschen"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Datei hinzufügen"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Einstellungen"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Im Projekt suchen"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Datei entfernen"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1415
      msgid "H_ide Sidebar"
      msgstr "Seitenleiste _verstecken"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1437
      msgid "Project"
      msgstr "Projekt"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projekt »%s« geöffnet."
      
      #: ../geanypy/src/geanypy-plugin.c:68
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Python-Bibliothek konnte nicht geladen werden: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:413
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:414
      msgid "Python plugins support"
      msgstr "Python für Plugins"
      
      #: ../geanysendmail/src/geanysendmail.c:42
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Sendet die aktuelle Datei als Anhang mittels des favorisierten "
      "Mailprogrammes."
      
      # Ich sehe doppelt.
      #: ../geanysendmail/src/geanysendmail.c:96
      msgid "Recipient's Address"
      msgstr "E-Mail-Adresse des Empfängers"
      
      # Ich sehe doppelt.
      #: ../geanysendmail/src/geanysendmail.c:98
      msgid "Enter the recipient's e-mail address:"
      msgstr "E-Mail-Adresse des Empfängers:"
      
      #: ../geanysendmail/src/geanysendmail.c:138
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "Konnte den Platzhalter für den Dateinamen nicht finden. Der angegebene "
      "Befehl könnte nicht korrekt ausgeführt worden sein."
      
      #: ../geanysendmail/src/geanysendmail.c:144
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "Konnte den Platzhalter für den E-Mail-Empfänger nicht finden. Der angegebene "
      "Befehl könnte nicht korrekt ausgeführt worden sein."
      
      #: ../geanysendmail/src/geanysendmail.c:158
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Konnte das E-Mail-Programm nicht aufrufen. Bitte überprüfen Sie Ihre "
      "Einstellungen."
      
      #: ../geanysendmail/src/geanysendmail.c:167
      msgid "Please define a mail client first."
      msgstr "Bitte ein E-Mail-Programm angeben!"
      
      #: ../geanysendmail/src/geanysendmail.c:172
      msgid "File has to be saved before sending."
      msgstr "Die Datei muss vor dem Senden gespeichert werden."
      
      #: ../geanysendmail/src/geanysendmail.c:188
      msgid "Mail"
      msgstr "E-Mail"
      
      #: ../geanysendmail/src/geanysendmail.c:219
      msgid "Send by mail"
      msgstr "Per E-Mail senden"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:309
      msgid "Path and options for the mail client:"
      msgstr "Pfad und Optionen für das E-Mail-Programm:"
      
      #: ../geanysendmail/src/geanysendmail.c:317
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Anmerkung: \n"
      "\t%f wird mit der zu sendenden Datei ersetzt.\n"
      "\t%r wird mit der E-Mail-Adresse des Empfängers ersetzt.\n"
      "\t%b wird mit dem reinen Dateinamen der zu sendenden Datei ersetzt.\n"
      "\tBeispiele:\t\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending %b'\" -a \"%f\" \"%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:327
      msgid "Show toolbar icon"
      msgstr "Werkzeugleistensymbol anzeigen"
      
      #: ../geanysendmail/src/geanysendmail.c:329
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Zeigt ein Symbol in der Werkzeugleiste an, sodass eine Datei einfacher "
      "versendet werden kann."
      
      #: ../geanysendmail/src/geanysendmail.c:335
      msgid "Use dialog for entering email address of recipients"
      msgstr ""
      "Dialog zum Eingeben der E-Mail-Adresse des Empfängers der zu sendenden Datei "
      "anzeigen"
      
      #: ../geanysendmail/src/geanysendmail.c:357
      msgid "Send file by mail"
      msgstr "Per Mail senden"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:380
      msgid "_Mail document"
      msgstr "_Dokument versenden"
      
      #: ../geanysendmail/src/geanysendmail.c:383
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Sendet ein geöffnetes Dokument als unkomprimierten Anhang unter Verwendung "
      "eines E-Mail-Programms."
      
      #: ../geanyvc/src/geanyvc.c:71
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "Interface to different Version Control systems."
      msgstr "Oberfläche für verschiedene Versionskontrollsysteme."
      
      #: ../geanyvc/src/geanyvc.c:484
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: s_spawn_sync error: %s"
      
      #: ../geanyvc/src/geanyvc.c:570
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr "Datei %s: Aktion %s wurde über %s ausgeführt."
      
      #: ../geanyvc/src/geanyvc.c:623 ../geanyvc/src/geanyvc.c:634
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc: vcdiff_file_activated: Kann »%s« nicht in »%s« umbenennen."
      
      #: ../geanyvc/src/geanyvc.c:660 ../geanyvc/src/geanyvc.c:710
      msgid "No changes were made."
      msgstr "Es wurden keine Änderungen vorgenommen."
      
      #: ../geanyvc/src/geanyvc.c:737
      msgid "No history available"
      msgstr "Keine Historie verfügbar"
      
      #: ../geanyvc/src/geanyvc.c:930 ../geanyvc/src/geanyvc.c:938
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Möchten Sie wirklich »%s« zurücksetzen?"
      
      #: ../geanyvc/src/geanyvc.c:946
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Möchten Sie wirklich »%s« hinzufügen?"
      
      #: ../geanyvc/src/geanyvc.c:953
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Möchten Sie wirklich »%s« entfernen?"
      
      #: ../geanyvc/src/geanyvc.c:976
      msgid "Do you really want to update?"
      msgstr "Möchten Sie wirklich »%s« aktualisieren?"
      
      #: ../geanyvc/src/geanyvc.c:1103
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      "Die Veränderungen können hier nicht angezeigt werden, da sie zu viele sind. "
      "Andernfalls könnte es passieren, dass die Anzeige unbenutzbar wird.\n"
      "Um sich dennoch die Änderungen anzeigen zu lassen, benutzen Sie einfach die "
      "Diff-Funktion aus dem GeanyVC-Unterpunktes innerhalb des Werkzeuge-Menüs."
      
      #: ../geanyvc/src/geanyvc.c:1252
      msgid "Commit Y/N"
      msgstr "Übertragen"
      
      #: ../geanyvc/src/geanyvc.c:1262
      msgid "Status"
      msgstr "Status"
      
      #: ../geanyvc/src/geanyvc.c:1269
      msgid "Path"
      msgstr "Pfad"
      
      #: ../geanyvc/src/geanyvc.c:1333
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Zeile: %d Spalte: %d"
      
      #: ../geanyvc/src/geanyvc.c:1379
      msgid "Commit"
      msgstr "Übertragen"
      
      #: ../geanyvc/src/geanyvc.c:1420
      msgid "_De-/select all files"
      msgstr "Alle _Dateien aus- bzw. abwählen"
      
      #: ../geanyvc/src/geanyvc.c:1464
      msgid "Commit message:"
      msgstr "Commitnachricht:"
      
      #: ../geanyvc/src/geanyvc.c:1483
      msgid "C_ommit"
      msgstr "Über_tragen"
      
      #: ../geanyvc/src/geanyvc.c:1564
      msgid "Nothing to commit."
      msgstr "Nichts zum Übertragen."
      
      #: ../geanyvc/src/geanyvc.c:1610
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      "Fehler beim Initialisieren der Rechtschreibprüfung: %s. Überprüfen Sie Ihre "
      "Konfiguration!"
      
      #: ../geanyvc/src/geanyvc.c:1885
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "Vom Plugin erstellte Dokumente als geändert markieren"
      
      #: ../geanyvc/src/geanyvc.c:1888
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Wenn diese Option aktiviert ist, werden alle Dokumente, die durch das Plugin "
      "erzeugt werden, als geändert markiert, so dass z.B. beim Schließen der Datei "
      "der Speichern-Dialog geöffnet wird. Auch wenn diese Option von Zeit zu Zeit "
      "sehr nützlich sein kann, kann sie ab und an einfach nur stören."
      
      #: ../geanyvc/src/geanyvc.c:1896
      msgid "Confirm adding new files to a VCS"
      msgstr "Hinzufügen von Dateien zur Versionsverwaltung immer bestätigen"
      
      #: ../geanyvc/src/geanyvc.c:1899
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Zeigt einen Bestätigungsdialog beim Hinzufügen von Dateien zu einem "
      "Versionsverwaltungssystem."
      
      #: ../geanyvc/src/geanyvc.c:1905
      msgid "Maximize commit dialog"
      msgstr "Commit-Dialog maximieren"
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Show commit dialog maximize."
      msgstr "Commit-Dialog beim Anzeigen maximieren"
      
      #: ../geanyvc/src/geanyvc.c:1912
      msgid "Use external diff viewer"
      msgstr "Externes Diff-Programm"
      
      #: ../geanyvc/src/geanyvc.c:1914
      msgid "Use external diff viewer for file diff."
      msgstr "Externes Diff-Programm zum Vergleich von zwei Dateien"
      
      #: ../geanyvc/src/geanyvc.c:1920
      msgid "Show VC entries at editor menu"
      msgstr "Funktionen über das Editormenü verfügbar machen"
      
      #: ../geanyvc/src/geanyvc.c:1922
      msgid "Show entries for VC functions inside editor menu"
      msgstr "Einträge für das Plugin im Editormenü anzeigen"
      
      #: ../geanyvc/src/geanyvc.c:1927
      msgid "Attach menu to menubar"
      msgstr "Menü an Menüleiste anhängen"
      
      #: ../geanyvc/src/geanyvc.c:1929
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      "Das Menü für dieses Plugin kann entweder im Werkzeugmenü oder direkt in der "
      "Menüleiste von Geany angezeigt werden. Dies wird erst nach einen Neustart "
      "von GeanyVC funktionieren"
      
      #: ../geanyvc/src/geanyvc.c:1937
      msgid "Enable CVS"
      msgstr "CVS aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1942
      msgid "Enable GIT"
      msgstr "GIT aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1947
      msgid "Enable SVN"
      msgstr "SVN aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1952
      msgid "Enable SVK"
      msgstr "SVK aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1957
      msgid "Enable Bazaar"
      msgstr "Bazaar aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1962
      msgid "Enable Mercurial"
      msgstr "Mercurial aktivieren"
      
      #: ../geanyvc/src/geanyvc.c:1968
      msgid "Spellcheck language"
      msgstr "Sprache:"
      
      #: ../geanyvc/src/geanyvc.c:2059
      msgid "_VC file Actions"
      msgstr "_VC Dateioperationen"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2065 ../geanyvc/src/geanyvc.c:2142
      #: ../geanyvc/src/geanyvc.c:2182
      msgid "_Diff"
      msgstr "_Unterschiede anzeigen (diff)"
      
      #: ../geanyvc/src/geanyvc.c:2068
      msgid "Make a diff from the current active file"
      msgstr "Erstellt ein Diff für die aktuelle Datei."
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2073 ../geanyvc/src/geanyvc.c:2151
      #: ../geanyvc/src/geanyvc.c:2190
      msgid "_Revert"
      msgstr "_Zurücksetzen"
      
      #: ../geanyvc/src/geanyvc.c:2076
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      "Stellt den ursprünglichen Zustand der Datei wieder her (verwirft lokale "
      "Änderungen)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2085
      msgid "_Blame"
      msgstr "Ä_nderungsverfolgung (blame)"
      
      #: ../geanyvc/src/geanyvc.c:2088
      msgid "Shows the changes made at one file per revision and author."
      msgstr "Zeigt alle Änderungen einer Datei nach Autor und Revision."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2095 ../geanyvc/src/geanyvc.c:2161
      #: ../geanyvc/src/geanyvc.c:2202
      msgid "_History (log)"
      msgstr "_Versionsgeschichte (log)"
      
      #: ../geanyvc/src/geanyvc.c:2098
      msgid "Shows the log of the current file"
      msgstr "Zeigt die Versionsgeschichte der aktuellen Datei an."
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2103
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2106
      msgid "Shows the original of the current file"
      msgstr "Zeigt die unveränderte Datei an"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2114
      msgid "_Add to Version Control"
      msgstr "Zur _Versionskontrolle hinzufügen"
      
      #: ../geanyvc/src/geanyvc.c:2116
      msgid "Add file to repository."
      msgstr "Fügt eine Datei zur Versionskontrolle hin_zu."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2122
      msgid "_Remove from Version Control"
      msgstr "Aus Versionskontrolle _entfernen"
      
      #: ../geanyvc/src/geanyvc.c:2124
      msgid "Remove file from repository."
      msgstr "Entfernt eine Datei aus Versionskontrolle und Repository."
      
      #: ../geanyvc/src/geanyvc.c:2139
      msgid "_Directory"
      msgstr "_Verzeichnis"
      
      #: ../geanyvc/src/geanyvc.c:2145
      msgid "Make a diff from the directory of the current active file"
      msgstr "Erstellt ein Diff für das Verzeichnis der aktuellen Datei."
      
      #: ../geanyvc/src/geanyvc.c:2154
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      "Stellt den ursprünglichen Zustand der Datei wieder her (verwirft lokale "
      "Änderungen)."
      
      #: ../geanyvc/src/geanyvc.c:2164
      msgid "Shows the log of the current directory"
      msgstr "Zeigt die Versionsgeschichte für das aktuelle Verzeichnis."
      
      #: ../geanyvc/src/geanyvc.c:2178
      msgid "_Base Directory"
      msgstr "_Basisordner"
      
      #: ../geanyvc/src/geanyvc.c:2184
      msgid "Make a diff from the top VC directory"
      msgstr "Erstellt ein Diff für die gesamte Arbeitskopie"
      
      #: ../geanyvc/src/geanyvc.c:2192
      msgid "Revert any local edits."
      msgstr "Alle lokalen Änderungen zurücksetzen"
      
      #: ../geanyvc/src/geanyvc.c:2205
      msgid "Shows the log of the top VC directory"
      msgstr "Zeigt die Versionsgeschichte für die gesamte Arbeitskopie"
      
      #: ../geanyvc/src/geanyvc.c:2231
      msgid "VC _Commit"
      msgstr "VC Über_tragen"
      
      #: ../geanyvc/src/geanyvc.c:2266
      msgid "Show diff of file"
      msgstr "Diff von der aktuellen Datei"
      
      #: ../geanyvc/src/geanyvc.c:2268
      msgid "Show diff of directory"
      msgstr "Zeigt Veränderung des Verzeichnisses an (diff)"
      
      #: ../geanyvc/src/geanyvc.c:2270
      msgid "Show diff of basedir"
      msgstr "Diff vom Grundverzeichnis"
      
      #: ../geanyvc/src/geanyvc.c:2273
      msgid "Commit changes"
      msgstr "Änderungen übertragen"
      
      #: ../geanyvc/src/geanyvc.c:2275
      msgid "Show status"
      msgstr "Status der Arbeitskopie anzeigen"
      
      #: ../geanyvc/src/geanyvc.c:2277
      msgid "Revert single file"
      msgstr "Datei zurücksetzen"
      
      #: ../geanyvc/src/geanyvc.c:2279
      msgid "Revert directory"
      msgstr "Verzeichnis zurücksetzen"
      
      #: ../geanyvc/src/geanyvc.c:2281
      msgid "Revert base directory"
      msgstr "Alle Änderungen verwerfen"
      
      #: ../geanyvc/src/geanyvc.c:2283
      msgid "Update file"
      msgstr "Datei aktualisieren"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "_VC"
      
      #: ../geanyvc/src/geanyvc.c:2320
      msgid "_Version Control"
      msgstr "_Versionskontrolle"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "_Status"
      msgstr "_Status"
      
      #: ../geanyvc/src/geanyvc.c:2344
      msgid "Show status."
      msgstr "Zeigt den Status der Arbeitskopie."
      
      #: ../geanyvc/src/geanyvc.c:2351
      msgid "Update from remote repository."
      msgstr "Aus dem Repositorium aktualisieren"
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "_Commit"
      msgstr "Über_tragen"
      
      #: ../geanyvc/src/geanyvc.c:2358
      msgid "Commit changes."
      msgstr "Änderungen übertragen."
      
      #: ../geniuspaste/src/geniuspaste.c:93
      msgid "Paste your code on your favorite pastebin"
      msgstr "Quelltexte bei bevorzugter Code-Ablagestelle hinterlegen"
      
      #: ../geniuspaste/src/geniuspaste.c:114
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "Gruppe »%s« konnte nicht gefunden werden."
      
      #: ../geniuspaste/src/geniuspaste.c:133
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "Gruppe »%s« hat keinen Eintrag »%s«."
      
      #: ../geniuspaste/src/geniuspaste.c:647
      msgid "Invalid pastebin service."
      msgstr "Ungültiger Dienst"
      
      #: ../geniuspaste/src/geniuspaste.c:648
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:660
      msgid "Refusing to create blank paste"
      msgstr "Ein leeres Dokument kann nicht hochgeladen werden."
      
      #: ../geniuspaste/src/geniuspaste.c:680
      msgid "Failed to paste the code"
      msgstr "Konnten die Inhalte nicht senden"
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr "Konnte die Inhalte nicht zum Pastebin-Service »%s« senden.\n"
      "Fehler Code: %u (%s).\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:685
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr "Überprüfen Sie Ihre Internet-Verbindung sowie die Konfiguration und versuchen es erneut."
      
      #: ../geniuspaste/src/geniuspaste.c:687
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr "Warten Sie, bis der Dienst wieder verfügbar ist, oder versuchen Sie einen anderen Dienst."
      
      #: ../geniuspaste/src/geniuspaste.c:689 ../geniuspaste/src/geniuspaste.c:706
      msgid "Check the pastebin configuration and retry."
      msgstr "Bitte überprüfen Sie die Konfigurationen und versuchen Sie es erneut."
      
      #: ../geniuspaste/src/geniuspaste.c:700
      msgid "Failed to obtain paste URL."
      msgstr "Konnte die URL des Pastebin-Dienstes nicht herausfinden."
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr "Die Inhalte wurden erfolgreich nach »%s« hochgeladen. Es gab aber einen Fehler beim Erhalt der URL zu den Inhalten: %s.\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:705
      msgid "Unexpected response from the pastebin service."
      msgstr "Unerwartete Antwort des Pastebin-Dienstes."
      
      #: ../geniuspaste/src/geniuspaste.c:718
      msgid "Paste Successful"
      msgstr "Das Hochladen war erfolgreich."
      
      #: ../geniuspaste/src/geniuspaste.c:719
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Der gesendete Inhalt kann jetzt hier betrachtet werden: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:737
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      "Momentan sind keine Dokumente geöffnet. Öffnen Sie eines und versuchen Sie "
      "es erneut.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:750
      msgid "The author name field is empty!"
      msgstr "Der Autorenname ist leer"
      
      #: ../geniuspaste/src/geniuspaste.c:770
      msgid "Select a pastebin:"
      msgstr "Code-Ablagestelle:"
      
      #: ../geniuspaste/src/geniuspaste.c:773
      msgid "Enter the author name:"
      msgstr "Autorenname:"
      
      #: ../geniuspaste/src/geniuspaste.c:794
      msgid "Show your paste in a new browser tab"
      msgstr "Code-Ablage in einem neuen Reiter im Browser zeigen"
      
      #: ../geniuspaste/src/geniuspaste.c:815
      msgid "_Paste it!"
      msgstr "Zu _Pastebin senden"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr "Repository auf Änderungen _überwachen"
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      "Legt fest, ob die Diffs automatische aktualisiert werden und sie so immer "
      "auf dem aktuellen Stand gehalten werden sollen. Insbesondere dann, wenn das "
      "zu Grunde liegende git-Repository geändert wurde. In den meisten Fällen "
      "sollte diese Option aktiviert sein."
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr "_Hinzugefügte Zeilen:"
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr "_Geänderte Zeilen:"
      
      #: ../git-changebar/data/prefs.ui.h:5
      msgid "_Removed lines:"
      msgstr "_Entfernte Zeilen:"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr "Farben:"
      
      #: ../git-changebar/src/gcb-plugin.c:58
      msgid "Git Change Bar"
      msgstr "Git Change Bar"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      "Hebt noch nicht committete Änderungen an in einem git-Repository verwaltete "
      "Dateien hervor."
      
      #: ../git-changebar/src/gcb-plugin.c:1125 ../pohelper/src/gph-plugin.c:1576
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Konnte Konfiguration nicht laden: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1150 ../pohelper/src/gph-plugin.c:1601
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Konnte das Konfigurationsverzeichnis »%s« nicht anlegen: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1153 ../pohelper/src/gph-plugin.c:1604
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Konnte Konfiguration nicht speichern: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1232
      msgid "Go to the previous hunk"
      msgstr "Zur vorherigen Block mit Änderungen springen"
      
      #: ../git-changebar/src/gcb-plugin.c:1234
      msgid "Go to the next hunk"
      msgstr "Zur nächsten Block mit Änderungen springen"
      
      #: ../git-changebar/src/gcb-plugin.c:1359 ../pohelper/src/gph-plugin.c:1372
      #: ../pohelper/src/gph-plugin.c:1705
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "Das grafische Elemente des Plugins konnte nicht korrekt geladen werden.\n"
      "Bitte überprüfen Sie Ihre Installation. Der Fehler war: %s"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Entferne doppelte Zeilen (Nach _Sortieren)"
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Entferne doppelte Zeilen (_Reihenfolge des Auftretens)"
      
      #: ../lineoperations/src/lineoperations.c:71
      msgid "Remove _Unique Lines"
      msgstr "Entferne _einzelne Zeilen"
      
      #: ../lineoperations/src/lineoperations.c:74
      msgid "Remove _Empty Lines"
      msgstr "Entferne leere Zeilen"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr "Entferne Zeilen mit Leerzeichen"
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr "Sortiere Zeilen, _aufsteigend"
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr "Sortiere Zeilen, a_bsteigend"
      
      #: ../lineoperations/src/lineoperations.c:85
      msgid "_Line Operations"
      msgstr "Zeilenoperationen"
      
      #: ../lineoperations/src/lineoperations.c:127
      msgid "Line Operations"
      msgstr "Zeilenoperationen"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr "Das Plugin bietet eine Reihe von Funktionen, die auf ein auf Zeilenebene auf ein Dokument angewendet werden können. Dazu gehören das Entfernen von doppelten Zeilen, leeren Zeilen oder das Sortieren von Zeilen."
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Position:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Seitenleiste"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "Meldungsfenster"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Schriftart:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "Editor-Schriftart"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "Hintergrundfarbe:"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "Vordergrundfarbe"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr "Vorlagendatei auswählen"
      
      #: ../markdown/src/plugin.c:34
      msgid "Real-time Markdown preview"
      msgstr "Echtzeit Markdown-Vorschau"
      
      #: ../markdown/src/plugin.c:50
      msgid "Markdown Preview"
      msgstr "Markdown-Vorschau"
      
      #: ../markdown/src/plugin.c:161
      msgid "The current document does not have a Markdown filetype."
      msgstr "Das aktuelle Dokument ist nicht vom Markdown-Dateityp."
      
      #: ../multiterm/src/config.vala:47
      msgid "Unable to save config file %s: %s"
      msgstr "Konnte Konfigurationdatei »%s« nicht speichern: %s."
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      msgid "Unable to load config file %s: %s"
      msgstr  "Konnte Konfigurationdatei »%s« nicht laden: %s."
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      msgid "Move to message window"
      msgstr "Zum Meldungsfenster wechseln"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      msgid "Move to sidebar"
      msgstr "Zur Seitenleiste wechseln"
      
      #: ../multiterm/src/context-menu.vala:81
      msgid "Open Tab"
      msgstr "Tab öffnen"
      
      #: ../multiterm/src/context-menu.vala:96
      msgid "Open Window"
      msgstr "Fenster öffnen"
      
      #: ../multiterm/src/context-menu.vala:103
      msgid "Next tab"
      msgstr "Nächster Tab"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108
      msgid "Previous tab"
      msgstr "Vorheriger Tab"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127
      msgid "Show Tabs"
      msgstr "Tabs anzeigen"
      
      #: ../multiterm/src/notebook.vala:91
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr "Konnte das externe Terminal nicht aufrufen: %s"
      
      #: ../multiterm/src/notebook.vala:137
      msgid "Unable to locate default shell in configuration file"
      msgstr "Konnte die Standard-Shell nicht aus der Konfigurationsdatei lesen."
      
      #: ../multiterm/src/notebook.vala:202
      msgid "New terminal"
      msgstr "Neues Terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      msgid "MultiTerm"
      msgstr "MultiTerm"
      
      #: ../multiterm/src/plugin.vala:47
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78
      msgid "Unable to write default config file: %s"
      msgstr "Konnte Standardkonfiguration nicht schreiben: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      msgid "Unable to read value for '%s' key: %s"
      msgstr "Konnte Wert für »%s«, Schlüssel »%s« nicht lesen"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1962
      msgid "Terminal"
      msgstr "Terminal"
      
      #: ../multiterm/src/tab-label.vala:84
      msgid "Close terminal"
      msgstr "Terminal schließen"
      
      #: ../multiterm/src/terminal.vala:88
      msgid "Unable to run command: %s"
      msgstr "Konnte Kommando nicht ausführen: %s"
      
      #: ../overview/overview/overviewplugin.c:43
      msgid "Provides an overview of the active document"
      msgstr "Stellt einen Überblick über das aktuelle Dokument zur Verfügung"
      
      #: ../overview/overview/overviewplugin.c:186
      msgid "Toggle Visibility"
      msgstr "Sichtbarkeit umschalten"
      
      #: ../overview/overview/overviewplugin.c:193
      msgid "Toggle Left/Right Position"
      msgstr "Fenster entweder links oder rechts positionieren"
      
      #: ../overview/overview/overviewplugin.c:200
      msgid "Toggle Overlay Inversion"
      msgstr "ervorhebungsmodu"
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr "Zeile %d, Spalte %d, Position %d"
      
      #: ../overview/overview/overviewui.c:289
      msgid "Show Overview"
      msgstr "Überblick anzeigen"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      "Legt fest, wie stark die Seitenleiste von »Overview« vergrößert/verkleinert "
      "werden soll. Negative Werte sorgen für eine größere Übersicht."
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr "Zoom-Stufe:"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr "Die Breite der Überblick-Fensters"
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr "Breite:"
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      "Legt die Anzahl der Zeilen fest, die beim Scrollen in der Seitenleiste "
      "zurückgelegt werden sollen."
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr "Scrollgeschwindigkeit:"
      
      #: ../overview/data/prefs.ui.h:7
      msgid "Position on left"
      msgstr "Links positionieren"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      "Diese Option positioniert die Seitenleiste des Plugins an der linken Seite "
      "von Geany. Dies funktioniert nur in Geany-Versionen >= 1.25."
      
      #: ../overview/data/prefs.ui.h:9
      msgid "Hide tooltip"
      msgstr "Tooltips verstecken."
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      "Versteckt die zusätzlichen Informationen, die beim mit der Maus "
      "überstreichen angezeigt werden (Zeile, Spalte etc.)"
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr "Normale Bildlaufleiste verstecken"
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      "Mit dieser Option kann Geanys normale Bildlaufleiste versteckt werden, so "
      "dass, wenn das Plugin aktiv ist, allein über die Vorschau im Dokument "
      "navigiert werden kann."
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr "Bildausschnittsmarkierung deaktivieren"
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      "Diese Option legt fest, ob der aktuelle Bildschirmausschnitt aus dem "
      "normalen Editorfenster in der Vorschau angezeigt werden soll."
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "Optionen"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      "Konfiguriert die Farbe und Sättigung der Bildausschnittsmarkierung in der "
      "Seitenleiste des Plugins."
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr "Farbe:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      "Konfiguriert die Farbe und Sättigung rund um das aktive Gebiet des "
      "Dokumentes. Zum Deaktivieren einfach auf die gleiche Farbe wie die der "
      "Bildausschnittsmarkierung stellen"
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr "Farbe Außenlinie"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr "Über sichtbares Gebiet zeichnen"
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      "Wenn diese Option aktiv ist, wird die Bildausschnittsmarkierung nur über den "
      "aktiven Bereich gelegt. Ist die Option deaktiviert, wird alles was nicht "
      "sichtbar ist mit einer Markierung versehen. "
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr "Überlagerung"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:34
      msgid "Pair Tag Highlighter"
      msgstr "PairTagHighlighter"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr "Findet und hebt passende öffnende und schließende HTML-Tags hervor"
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr "_Übersetzungshelfer"
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr "_Vorheriger String"
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1505
      msgid "Go to previous string"
      msgstr "Zum vorherigen String gehen"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr "_Nächster String"
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1508
      msgid "Go to next string"
      msgstr "Zur nächsten String gehen"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr "_Vorherige nicht übersetze Zeichenkette"
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1511
      msgid "Go to previous untranslated string"
      msgstr "Geht zu der vorherigen, noch nicht übersetzten Zeichenkette."
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr "Nächste nicht _übersetzte Zeichenkette"
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1514
      msgid "Go to next untranslated string"
      msgstr "Geht zu der nächsten, noch nicht übersetzten Zeichenkette."
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr "_Vorhergehende unklare Übersetzung"
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1517
      msgid "Go to previous fuzzily translated string"
      msgstr "Springt zur vorhergehenden, unklaren (fuzzy) Übersetzung"
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr "Nächste _unklare Übersetzung"
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1520
      msgid "Go to next fuzzily translated string"
      msgstr "Gehe zur nächsten unklaren Übersetzung"
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr "Vorherige u_nübersetzt oder -klar."
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1523
      msgid "Go to previous untranslated or fuzzy string"
      msgstr "Gehe zum vorherigen unklaren oder unübersetzten String"
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr "Nächste unübersetzte _oder unklare Übersetzung"
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1527
      msgid "Go to next untranslated or fuzzy string"
      msgstr "Springt zum nächsten unklaren (fuzzy) oder unübersetzten String"
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1538
      msgid "Toggle current translation fuzziness"
      msgstr "Status der Übersetzung umschalten (Fuzzy)"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr "_Status tauschen"
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr "_Originalstring als Übersetzung verwenden"
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      "Benutzt die unübersetzte Ausgabe, um diese auch in der übersetzten Form "
      "anzuzeigen."
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1535
      msgid "Reflow the current translation string"
      msgstr "Aktuelle Übersetzungen neu umbrechen"
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr "_Übersetzungen neu umbrechen"
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1541
      msgid "Show statistics of the current document"
      msgstr "Statistik der aktuellen Übersetzung ansehen"
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr "_Statistik anzeigen"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      "Legt fest, ob die Metadaten der Übersetzungsdatei (Autor, Datum ... ) beim "
      "Speichern aktualisiert werden sollen."
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr "_Metadaten beim Speichern aktualisieren"
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr "Übersetzungsstatistiken"
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr "Farbe für übersetze Texte auswählen"
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr "Farbe für unklare Übersetzungen auswählen"
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr "Farbe für nicht übersetzte Texte auswählen"
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr "Übersetzt:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr "Unklar:"
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr "Unübersetzt:"
      
      #: ../pohelper/src/gph-plugin.c:40
      msgid "Translation Helper"
      msgstr "Übersetzungshelfer"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Improves support for GetText translation files."
      msgstr "Verbessert die Unterstützung für GetText-Übersetzungsdateien"
      
      # c-format
      #: ../pohelper/src/gph-plugin.c:1304 ../pohelper/src/gph-plugin.c:1321
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Übersetzt: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1306 ../pohelper/src/gph-plugin.c:1324
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Unklar: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1308 ../pohelper/src/gph-plugin.c:1326
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Unübersetzt: %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1406
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1531
      msgid "Paste original untranslated string to translation"
      msgstr "Originalen String als Übersetzung nutzen"
      
      #: ../pohelper/src/gph-plugin.c:1746
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      "Konnte das Widget »%s« in der Definition der graphischen Oberfläche nicht "
      "finden. Bitte prüfen Sie die Installation"
      
      #: ../pretty-printer/src/PluginEntry.c:36
      msgid "XML PrettyPrinter"
      msgstr "XML PrettyPrinter"
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "Formats an XML and makes it human-readable."
      msgstr "Formatiert XML und macht es damit besser menschenlesbar."
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:58
      msgid "PrettyPrinter XML"
      msgstr "PrettyPrinter XML"
      
      #: ../pretty-printer/src/PluginEntry.c:66
      msgid "Run the PrettyPrinter XML"
      msgstr "Neuformatierung durchführen"
      
      #: ../pretty-printer/src/PluginEntry.c:140
      msgid "Unable to parse the content as XML."
      msgstr "Konnte den Inhalt nicht als XML interpretieren"
      
      #: ../pretty-printer/src/PluginEntry.c:151
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      "Konnte PrettyPrinter nicht auf das angegebene XML anwenden, da einige "
      "Funktionen davon nicht unterstützt werden.\n"
      "\n"
      "Siehe Hilfe->Debug-Meldungen für mehr Details. "
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Kommentare"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr "In eine Zeile zusammenführen"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr "Inline wenn möglich"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Ausrichtung"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr "Textknoten"
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "CDATA"
      
      # what the heck? :D
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr "Leere Knoten"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr "Zusammenfassung ( zu )"
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr "Leerzeichen  ( zu )"
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr "Erweiterung ( zu )"
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Einrückung"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Leerzeichen"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "Zeilenumbruch"
      
      #: ../projectorganizer/src/prjorg-main.c:40
      msgid "Project Organizer"
      msgstr "Project Organizer"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      "Projektspezifischer Dateibaum, projektweite Indizierung und Suche, Optionen "
      "zur besseren Navigation in Projekten"
      
      #: ../projectorganizer/src/prjorg-menu.c:385
      msgid "Find in Project Files..."
      msgstr "In Projektdateien suchen..."
      
      #: ../projectorganizer/src/prjorg-menu.c:391
      msgid "Find in project files"
      msgstr "Im Projektdateien suchen"
      
      #: ../projectorganizer/src/prjorg-menu.c:395
      msgid "Find Project File..."
      msgstr "Im Projekt-Datei suchen..."
      
      #: ../projectorganizer/src/prjorg-menu.c:401
      msgid "Find project file"
      msgstr "Projektdatei finden"
      
      #: ../projectorganizer/src/prjorg-menu.c:405
      msgid "Find Project Symbol..."
      msgstr "Finde Symbol in Projekt..."
      
      #: ../projectorganizer/src/prjorg-menu.c:411
      msgid "Find project symbol"
      msgstr "Symbol eines Projektes finden"
      
      #: ../projectorganizer/src/prjorg-menu.c:413
      msgid "Swap Header/Source"
      msgstr "Header und Quellen tauschen"
      
      #: ../projectorganizer/src/prjorg-menu.c:418
      msgid "Swap header/source"
      msgstr "Header und Quellen tauschen"
      
      #: ../projectorganizer/src/prjorg-menu.c:424
      msgid "Open Selected File (Project Organizer)"
      msgstr "Ausgewählte Datei öffnen (Project Organizer)"
      
      #: ../projectorganizer/src/prjorg-project.c:574
      msgid "Source patterns:"
      msgstr "Quelltextmuster:"
      
      #: ../projectorganizer/src/prjorg-project.c:580
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      "Leerzeichengetrennte Liste mit Mustern, die genutzt werden, um Quellcode-"
      "Dateien zu identifizieren. Wird hauptsächlich für das Umschalten zwischen "
      "Quellen und Header verwendet."
      
      #: ../projectorganizer/src/prjorg-project.c:586
      msgid "Header patterns:"
      msgstr "Header-Muster:"
      
      #: ../projectorganizer/src/prjorg-project.c:592
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "Leerzeichengetrennte Liste mit Mustern, die genutzt werden, um Header zu "
      "identifizieren. Wird hauptsächlich für das Umschalten zwischen Quellen und "
      "Header verwendet."
      
      #: ../projectorganizer/src/prjorg-project.c:598
      msgid "Ignored file patterns:"
      msgstr "Muster für zu ignorierende Dateien:"
      
      #: ../projectorganizer/src/prjorg-project.c:604
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      "Leerzeichengetrennte Liste mit Mustern, die genutzt werden, um Dateien zu "
      "erkennen, die nicht im projektspezifischen Dateibaum angezeigt werden "
      "sollen. "
      
      #: ../projectorganizer/src/prjorg-project.c:610
      msgid "Ignored directory patterns:"
      msgstr "Muster für zu ignorierende Verzeichnisse:"
      
      #: ../projectorganizer/src/prjorg-project.c:616
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      "Leerzeichengetrennte Liste mit Mustern, die genutzt werden, um Verzeichnisse "
      "zu erkennen, die nicht nach Quelldateien durchsucht werden sollen. "
      
      #: ../projectorganizer/src/prjorg-project.c:622
      msgid "Index all project files:"
      msgstr "Alle Projektdateien indizieren:"
      
      #: ../projectorganizer/src/prjorg-project.c:625
      msgid "Auto (index if less than 300 files)"
      msgstr "Automatisch (bei weniger als 300 Dateien)"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Yes"
      msgstr "Ja"
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "No"
      msgstr "Nein"
      
      #: ../projectorganizer/src/prjorg-project.c:631
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      "Erstellt Symbol-Listen für alle Projekt-Dateien, anstatt nur für die jeweils "
      "geöffneten Dateien. Sehr langsam bei großen Projekten und sollte in solch "
      "einem Fall deaktiviert werden."
      
      #: ../projectorganizer/src/prjorg-project.c:637
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      "Anmerkung: Die vorhergehenden Muster beeinflussen nur die Seitenleiste und "
      "kommen nicht z. B. im »In Dateien suchen«-Dialog zum Tragen.\n"
      "Die Liste mit Dateien, die zum Projekt gehören, kann durch das setzen der "
      "Datei-Muster innerhalb des Projekt-Reiters -- auch für den »In Dateien "
      "suchen«-Dialog eingeschränkt werden."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:116
      msgid "Find File"
      msgstr "Datei suchen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:143
      #: ../projectorganizer/src/prjorg-sidebar.c:487
      msgid "Search inside:"
      msgstr "Suchen in:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:158
      msgid "Search in full path"
      msgstr "Im vollen Pfad suchen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:169
      #: ../projectorganizer/src/prjorg-sidebar.c:650
      msgid "project or external directory"
      msgstr "Projekt oder externen Verzeichnis"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:297
      msgid "Add External Directory"
      msgstr "Externes Verzeichnis hinzufügen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "Add"
      msgstr "Hinzufügen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:442
      
      msgid "Find Symbol"
      msgstr "Symbol finden"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:471
      msgid "Match type:"
      msgstr "Typ:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1061
      msgid "Set file patterns under Project->Properties"
      msgstr "Dateimuster unter Projekt->Eigenschaften definieren"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1272
      msgid "Reload all"
      msgstr "Alle neuladen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1281
      msgid "Add external directory"
      msgstr "Externes Verzeichnis hinzufügen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1291
      #: ../treebrowser/src/treebrowser.c:1281
      msgid "Expand all"
      msgstr "Alle ausklappen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1298
      msgid "Collapse to project root"
      msgstr "Zusammenfalten bis Projektwurzel"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1309
      msgid "Follow active editor"
      msgstr "Aktiven Editor folgen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1355
      msgid "Open a project to start using the plugin"
      msgstr "Ein Projekt zum Starten des Plugins öffnen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1364
      msgid "Expand All"
      msgstr "Alle ausklappen"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1373
      msgid "Find in Files..."
      msgstr "In Dateien finden..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1382
      msgid "Find File..."
      msgstr "Datei suchen..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1391
      msgid "Find Symbol..."
      msgstr "Symbol finden..."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1404
      msgid "Remove External Directory"
      msgstr "Externes Verzeichnis entfernen"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "Debu_g"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr "_Setup"
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "Aktuelles _Programm"
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr "Starten / _Fortsetzen"
      
      # Noch keine Idee hierzu --Dominic
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr "Bis zum _Cursor ausführen"
      
      # Noch keine Idee hierzu --Dominic
      # Ich auch nicht -- frlan
      #: ../scope/data/scope.glade.h:6
      msgid "Run to _Source"
      msgstr "Bis zum Quellpunkt au_sführen"
      
      # noch keine Idee  --Dominic
      # Vielleicht besser :) --frlan
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr "E_intreten"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr "Ü_berspringen"
      
      # noch keine Idee  --Dominic
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr "A_ussteigen"
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr "_Abbrechen"
      
      #: ../scope/data/scope.glade.h:11
      msgid "Toggle _Breakpoint"
      msgstr "Haltepunkte _umschalten"
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr "_GDB-Kommando"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "_Weitere"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr "_Terminal anzeigen"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr "_Markierungen zurücksetzen"
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr "_Dateien aufräumen"
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr "_Feed"
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "_Fenster"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr "_Automatisches Zeigen"
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr "Automatisches _Verstecken"
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr "Bei _Fehler anzeigen"
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr "_Unsortiert"
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr "_Quellen anzeigen"
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr "S_ynchronisieren"
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr "_Interrupt"
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr "Signal _senden"
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr "Auswahl _bei"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr "_läuft"
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr "_unterbrochen"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr "_Beendet"
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr "_Verfolgen"
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr "_Spalten"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr "_Gruppe zeigen"
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr "_Kern anzeigen "
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr "Haltepunkt _hinzufügen"
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr "_Beobachtungspunkt hinzufügen"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr "Beim Ausführen _anwenden"
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr "@Entry a_nzeigen"
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr "Adresse anze_igen"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr "_Bearbeiten"
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr "_Beobachten"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr "_Erkunden"
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr "_8-bit-Modus"
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "_Vorgabe"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr "_7 bit"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr "_Lokalisierung"
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      msgid "_Show .names"
      msgstr ".names _anzeigen"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr "L_esen"
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr "_Gruppieren über"
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr "_Springen zu"
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "_Anwenden"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr "_Ausklappen"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr "_Natürlich"
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr "_Dezimale"
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr "_Hex"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr "_Octal"
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "_Binär"
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr "_Raw"
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr "_Evaluieren/Modifizieren"
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr "_Ausdruck ansehen"
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr "_Variable untersuchen"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr "Zweige"
      
      #: ../scope/data/scope.glade.h:69
      msgid "Stack"
      msgstr "Ausführungsstapel (Stack)"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr "Lokal"
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr "Beobachtungspunkte"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "Speicher"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr "Befehl für gdb:"
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr "Von _UTF-8 nach Lokale umwandeln"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr "_Thread"
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr "_Gruppe"
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr "_Rahmen"
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr "Programmeinstellungen"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr "Ausführbares _Programm:"
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr "A_rgumente"
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr "U_mgebung:"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr "_Arbeitsverzeichnis:"
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr "Skript _laden:"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr "Automatisch Programm _ausführen/GDB beenden"
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr "_Ohne Unterbrechung"
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr "_Temporärer Haltepunkte beim Laden bei:"
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr "Alle _Halte-, Beobachtungspunkte etc. löschen"
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr "Programm"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr "Öffnen auf"
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr "g_db laden"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr "P_rogramm starten"
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr "Alle _Ansichten aktualisieren"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr "Schaltfläche"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr "Standard 8-bit Text-Modus:"
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr "_7-bit \\nnn"
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr "Anzeige"
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr "_Mitglied"
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr "und"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr "_Argument"
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr "Namen"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr "Werte"
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr "_Beim Anwenden erweitern"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr "_Zeigen"
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr "Kinder"
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr "Inspizieren"
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr "=li_brary-Meldungen anzeigen"
      
      #: ../scope/data/scope.glade.h:107
      msgid "Show _tooltips"
      msgstr "_Tooltips anzeigen."
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr "Andere"
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "_Import"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr "Ausdruck für Zuweisung angeben"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr "Inspizieren"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "Objekt"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr "Rahmen:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr "Beim Ausführen _anwenden"
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "Ausklappen"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr "Start:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr "Anzahl:"
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr "Nach _Anwendung ausklappen"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr "Terminal"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr "Register"
      
      #: ../scope/src/break.c:97
      msgid "breakpoint"
      msgstr "Haltepunkt"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "Haltepunkt"
      
      #: ../scope/src/break.c:99
      #, fuzzy
      msgid "tracepoint"
      msgstr "Haltepunkte"
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr "schneller Ablaufverfolgungspunkt"
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr "Beobachtungspunkt schreiben"
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr "Auf Beobachtungspunkt zugreifen"
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr "Beobachtungspunkt auslesen"
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr "CLI"
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr ""
      
      #: ../scope/src/break.c:142
      msgid "Run to Cursor"
      msgstr "Bis zum Cursor ausführen"
      
      # c-format
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      "Es existieren zwei oder mehr Haltepunkte bei %s:%d.\n"
      "Benutzen Sie die Liste der Haltepunkte um den exakten zu entfernen."
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ", %s"
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr "func %s"
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr "Haltepunkt hinzufügen"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr "Beobachtungspunkt hinzufügen"
      
      #: ../scope/src/conterm.c:109
      #, fuzzy
      msgid "Feed Terminal"
      msgstr "In Terminal ausführen"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:545 ../scope/src/scope.c:546
      msgid "Scope: %s."
      msgstr "Scope: %s"
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr "Keine Haltepunkte - Hängend"
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr "GDB wurde unerwartet beendet. Status: %d"
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr "Programm abgebrochen"
      
      # c-format
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr "ungültige Daten"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr "außerhalb des Beobachtungsbereiches"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr "Speicher einlesen"
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr "Benachrichten"
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      #, fuzzy
      msgid "Watch expression"
      msgstr "Konnte Ausdruck nicht prüfen"
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr "Variable untersuchen"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr "Nicht definierter GDB-Fehler."
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Ordner auswählen"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Datei auswählen"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr "Scope: Konfigurationsdatei erstellt"
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, fuzzy, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr "Konnte die Datei »%s« nicht laden: %s"
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      "%s: %s.\n"
      "\n"
      "Fortsetzen?"
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr "Scope Debugger"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr "Relativ einfaches Frontend zu GDB."
      
      #: ../scope/src/scope.c:61
      #, fuzzy
      msgid "Setup program"
      msgstr ""
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr "Starten / Fortsetzen"
      
      # Noch keine Idee hierzu --Dominic
      #: ../scope/src/scope.c:64
      #, fuzzy
      msgid "Run to source"
      msgstr "Bis zum Cursor ausführen"
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr "Abbrechen"
      
      #: ../scope/src/scope.c:69
      msgid "Toggle breakpoint"
      msgstr "Haltepunkt umschalten"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr "GDB-Kommando"
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr "Terminal anzeigen"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "Beschäftigt"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "Fertig"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr "Hängt"
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr "Zusammenfügen"
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr "Laden"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      #, fuzzy
      msgid "Breaks"
      msgstr "Haltepunkte"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Console"
      msgstr "Konsole:"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Debug Console"
      msgstr "Konsole:"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      #, fuzzy
      msgid "Thread group "
      msgstr "Thread %i"
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr " beendet"
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr " mit Fehlercode %s"
      
      #: ../scope/src/thread.c:749
      #, fuzzy
      msgid "Send Signal"
      msgstr "Per E-Mail senden"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr "Eingabe Signal #1:"
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr "Prozess töten"
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr "Rückgabewert eingeben: "
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "läuft"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "unterbrochen"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr "%s: %s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr "Scope: Fehler beim Lesen (%s)"
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "…"
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "_Senden"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "_Beschäftigt"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr "GDB-Kommando:"
      
      #: ../spellcheck/src/speller.c:179
      msgid "Try: "
      msgstr "Vorschlag: "
      
      #: ../spellcheck/src/speller.c:264
      msgid "Checking"
      msgstr "Prüfe"
      
      #: ../spellcheck/src/speller.c:277
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Prüfe Datei »%s« (Zeilen %d bis %d mit »%s«):"
      
      #: ../spellcheck/src/speller.c:287
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Prüfe Datei »%s« (mit »%s«):"
      
      #: ../spellcheck/src/speller.c:308
      msgid "The checked text is spelled correctly."
      msgstr "Der geprüfte Text ist fehlerfrei."
      
      #: ../spellcheck/src/speller.c:318
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Die Enchant-Bibliothek konnte nicht initialisiert werden (%s)."
      
      #: ../spellcheck/src/speller.c:319
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      "unbekannter Fehler (möglicherweise ist die ausgewählte Sprache nicht "
      "verfügbar)."
      
      #: ../spellcheck/src/scplugin.c:46
      msgid "Spell Check"
      msgstr "Rechtschreibprüfung"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Checks the spelling of the current document."
      msgstr "Prüft die Rechtschreibung im aktuellen Dokument."
      
      #: ../spellcheck/src/scplugin.c:218
      msgid "Run Spell Check"
      msgstr "Rechtschreibprüfung ausführen"
      
      #: ../spellcheck/src/scplugin.c:221
      msgid "Toggle Check While Typing"
      msgstr "Rechtschreibung beim Tippen überprüfen ein-/ausschalten"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:232
      msgid "Select Directory"
      msgstr "Verzeichnis auswählen"
      
      #: ../spellcheck/src/scplugin.c:284
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Symbol in der Werkzeugleiste zum Umschalten der Rechtschreibprüfung"
      
      #: ../spellcheck/src/scplugin.c:288
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Eintrag im Editormenü mit Korrekturvorschlägen"
      
      #: ../spellcheck/src/scplugin.c:293
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Vorschläge als Untermenü im Kontextmenü anzeigen."
      
      #: ../spellcheck/src/scplugin.c:308
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Falsch geschriebene Wörter und Vorschläge im Meldungsfenster anzeigen"
      
      #: ../spellcheck/src/scplugin.c:318
      msgid "Interface"
      msgstr "Interface"
      
      #: ../spellcheck/src/scplugin.c:326
      msgid "Check spelling while typing"
      msgstr "Beim Tippen Rechtschreibung überprüfen"
      
      #: ../spellcheck/src/scplugin.c:329
      msgid "Check spelling when opening a document"
      msgstr "Rechtschreibung beim Dokument-Öffnen kontrollieren"
      
      #: ../spellcheck/src/scplugin.c:331
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr "Wenn diese Option aktiviert ist, prüft das Plugin die Rechtschreibung eines Dokumentes direkt nach dem Öffnen in Geany. Zusätzlich wird ein Neuladen eine erneute Überprüfung auslösen."
      
      #: ../spellcheck/src/scplugin.c:335
      msgid "Language to use for the spell check:"
      msgstr "Zu verwendende Sprache für die Prüfung:"
      
      #: ../spellcheck/src/scplugin.c:347
      msgid "_Directory to look for dictionary files:"
      msgstr "_Verzeichnis mit Übersetzungsdateien:"
      
      #: ../spellcheck/src/scplugin.c:354
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Liest zusätzliche Wörterbücher aus diesem Verzeichnis. (Funktioniert zur "
      "Zeit nur mit myspell-Wörterbüchern)."
      
      #: ../spellcheck/src/scplugin.c:385
      msgid "Behavior"
      msgstr "Verhalten"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "»Rechtschreibung beim Tippen überprüfen« ist nun eingeschaltet"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "»Rechtschreibung beim Tippen überprüfen« ist nun ausgeschaltet"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Mehr ..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(keine Vorschläge)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "»%s« zum Wörterbuch hinzufügen"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Alle ignorieren"
      
      # Mit dem Umbruch kann man an dieser Stelle ggf. ja nochmal spielen
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "Der Ausdruck ist zu lang, um Vorschläge\n"
      "im Editormenü anzeigen zu können."
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Rechtschreibung prüfen"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Vorgabe (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      "»Rechtschreibung beim Tippen überprüfen« ein-/ausschalten (Aktuelle Sprache: "
      "%s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Rechtschreibvorschläge"
      
      #: ../shiftcolumn/src/shiftcolumn.c:41
      msgid "Shift Column"
      msgstr "Auswahl verschieben"
      
      #: ../shiftcolumn/src/shiftcolumn.c:42
      msgid "Shift a selection left and right"
      msgstr "Verschiebt eine Auswahl nach links oder rechts."
      
      #: ../shiftcolumn/src/shiftcolumn.c:369 ../shiftcolumn/src/shiftcolumn.c:389
      msgid "Shift Left"
      msgstr "Auswahl nach links verschieben"
      
      #: ../shiftcolumn/src/shiftcolumn.c:376 ../shiftcolumn/src/shiftcolumn.c:391
      msgid "Shift Right"
      msgstr "Auswahl nach rechts verschieben"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Tableconvert"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr "Überträgt Liste in Tabellen für verschiedene Dateitypen"
      
      #: ../tableconvert/src/tableconvert.c:41
      msgid "LaTeX"
      msgstr "LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:58
      msgid "HTML"
      msgstr "HTML"
      
      #: ../tableconvert/src/tableconvert.c:78
      msgid "SQL"
      msgstr "SQL"
      
      #: ../tableconvert/src/tableconvert.c:95
      msgid "DokuWiki"
      msgstr "DokuWiki"
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:296
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Etwas ist beim Untersuchen der Auswahl schiefgelaufen. Abbruch."
      
      #: ../tableconvert/src/tableconvert.c:328
      msgid "Convert selection to table"
      msgstr "Auswahl in Tabelle umwandeln"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "In _Tabelle umwandeln"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "Wandelt die aktuell markierte Liste in eine Tabelle"
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr "_Mehr TableConvert"
      
      #: ../treebrowser/src/treebrowser.c:126
      msgid "TreeBrowser"
      msgstr "Baumnavigator"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      "Ein Plugin zum Navigieren durch den Verzeichnisbaum auf dem Dateisystem."
      
      #: ../treebrowser/src/treebrowser.c:432
      #, c-format
      msgid "%s: no such directory."
      msgstr "Das Verzeichnis »%s« existiert nicht"
      
      #: ../treebrowser/src/treebrowser.c:535 ../treebrowser/src/treebrowser.c:570
      #: ../treebrowser/src/treebrowser.c:668
      msgid "(Empty)"
      msgstr "(leer)"
      
      #: ../treebrowser/src/treebrowser.c:971
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Konnte das eingestellte externe Werkzeug »%s« nicht ausführen (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1042
      msgid "NewDirectory"
      msgstr "Neues Verzeichnis"
      
      #: ../treebrowser/src/treebrowser.c:1044
      msgid "NewFile"
      msgstr "Neue Datei"
      
      #: ../treebrowser/src/treebrowser.c:1049
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "Zieldatei »%s« existiert bereits.\n"
      "Möchten Sie diese wirklich mit einer leeren Datei ersetzen?"
      
      #: ../treebrowser/src/treebrowser.c:1095
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Soll »%s« wirklich gelöscht werden?"
      
      #: ../treebrowser/src/treebrowser.c:1207 ../treebrowser/src/treebrowser.c:1738
      msgid "Go up"
      msgstr "Aufwärts"
      
      #: ../treebrowser/src/treebrowser.c:1211 ../treebrowser/src/treebrowser.c:1753
      msgid "Set path from document"
      msgstr "Pfad des Dokumentes übernehmen"
      
      #: ../treebrowser/src/treebrowser.c:1215
      msgid "_Open externally"
      msgstr "_Extern öffnen"
      
      #: ../treebrowser/src/treebrowser.c:1220
      msgid "Open Terminal"
      msgstr "In Terminal ausführen"
      
      #: ../treebrowser/src/treebrowser.c:1224
      msgid "Set as root"
      msgstr "Als Wurzel festlegen"
      
      #: ../treebrowser/src/treebrowser.c:1229 ../treebrowser/src/treebrowser.c:1743
      #: ../treebrowser/src/treebrowser.c:2138
      msgid "Refresh"
      msgstr "Auffrischen"
      
      #: ../treebrowser/src/treebrowser.c:1233
      msgid "_Find in Files"
      msgstr "In Dateien _finden"
      
      #: ../treebrowser/src/treebrowser.c:1241
      msgid "Create new directory"
      msgstr "Neues Verzeichnis anlegen"
      
      #: ../treebrowser/src/treebrowser.c:1245
      msgid "Create new file"
      msgstr "Neue Datei erstellen"
      
      #: ../treebrowser/src/treebrowser.c:1249
      msgid "Rename"
      msgstr "Umbenennen"
      
      #: ../treebrowser/src/treebrowser.c:1254
      msgid "Delete"
      msgstr "Löschen"
      
      #: ../treebrowser/src/treebrowser.c:1262
      #, c-format
      msgid "Close: %s"
      msgstr "»%s« schließen"
      
      #: ../treebrowser/src/treebrowser.c:1267
      #, c-format
      msgid "Close Child Documents "
      msgstr "Kinderdokumente schließen"
      
      #: ../treebrowser/src/treebrowser.c:1272
      msgid "_Copy full path to clipboard"
      msgstr "_Vollständigen Pfad in die Zwischenablage kopieren"
      
      #: ../treebrowser/src/treebrowser.c:1285
      msgid "Collapse all"
      msgstr "Alle einklappen"
      
      #: ../treebrowser/src/treebrowser.c:1292 ../treebrowser/src/treebrowser.c:2047
      msgid "Show bookmarks"
      msgstr "Lesezeichen anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:1297 ../treebrowser/src/treebrowser.c:1996
      msgid "Show hidden files"
      msgstr "Versteckte Dateien anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:1302
      msgid "Show toolbars"
      msgstr "Werkzeugleisten anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:1621
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "Zieldatei »%s« existiert bereits. Möchten Sie diese wirklich ersetzen?"
      
      #: ../treebrowser/src/treebrowser.c:1748
      msgid "Home"
      msgstr "Ausgabe"
      
      #: ../treebrowser/src/treebrowser.c:1758
      msgid "Track path"
      msgstr "Pfad aufzeichnen"
      
      #: ../treebrowser/src/treebrowser.c:1763
      msgid "Hide bars"
      msgstr "Leisten verbergen"
      
      #: ../treebrowser/src/treebrowser.c:1773
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr "Filter (*.c;*.h;*.cpp). Die Nutzung von »!« invertiert das Ergebnis."
      
      #: ../treebrowser/src/treebrowser.c:1781
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Adressleiste. Zum Beispiel »/projects/my-project«"
      
      #: ../treebrowser/src/treebrowser.c:1806
      msgid "Tree Browser"
      msgstr "Baumnavigator"
      
      #: ../treebrowser/src/treebrowser.c:1949
      msgid "External open command"
      msgstr "Externer Öffnen-Befehl"
      
      #: ../treebrowser/src/treebrowser.c:1954
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "Der Befehl, der ausgeführt wird, wenn »Öffnen mit« ausgewählt wird. Es "
      "können %f und %d als Platzhalter verwendet werden.\n"
      "%f wird mit dem Dateinamen ersetzt, der den kompletten Pfad beinhaltet.\n"
      "%d wird mit dem Pfad des Verzeichnisses der aktuellen Datei ersetzt."
      
      #: ../treebrowser/src/treebrowser.c:1967
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      "Das Terminal, welches für das Kommando »Terminal öffnen« genutzt werden "
      "soll. Z. B. »xterm«."
      
      #: ../treebrowser/src/treebrowser.c:1973
      msgid "Toolbar"
      msgstr "Werkzeugleiste:"
      
      #: ../treebrowser/src/treebrowser.c:1975
      msgid "Hidden"
      msgstr "Versteckt"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Top"
      msgstr "Oben"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Bottom"
      msgstr "Unten"
      
      #: ../treebrowser/src/treebrowser.c:1982
      msgid "If position is changed, the option require plugin restart."
      msgstr "Bei einer Veränderung der Position muss das Plugin neu geladen werden."
      
      #: ../treebrowser/src/treebrowser.c:1986
      msgid "Show icons"
      msgstr "Symbole anzeigen:"
      
      #: ../treebrowser/src/treebrowser.c:1988
      msgid "None"
      msgstr "Keines"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "Base"
      msgstr "Basis"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Content-type"
      msgstr "Inhaltsart"
      
      #: ../treebrowser/src/treebrowser.c:2001
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      "Unter Windows versteckt dies nur Dateien, die mit einem ».« (Punkt) "
      "beginnen. "
      
      #: ../treebrowser/src/treebrowser.c:2003
      msgid "Hide object files"
      msgstr "Objektdateien verbergen"
      
      #: ../treebrowser/src/treebrowser.c:2008
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Keine generierten Objektdateien anzeigen. Dies bezieht *.o, *.obj. *.so, *."
      "dll, *.a, *.lib mit ein."
      
      #: ../treebrowser/src/treebrowser.c:2010
      msgid "Reverse filter"
      msgstr "Filter zurücksetzen"
      
      #: ../treebrowser/src/treebrowser.c:2015
      msgid "Follow current document"
      msgstr "Dem aktuellen Dokument folgen"
      
      #: ../treebrowser/src/treebrowser.c:2020
      msgid "Single click, open document and focus it"
      msgstr "Einzelklick öffnet Dokument und fokussiert es"
      
      #: ../treebrowser/src/treebrowser.c:2025
      msgid "Double click open directory"
      msgstr "Doppelklick öffnet ein Verzeichnis"
      
      #: ../treebrowser/src/treebrowser.c:2030
      msgid "On delete file, close it if is opened"
      msgstr "Datei schließen, wenn sie gelöscht wird"
      
      #: ../treebrowser/src/treebrowser.c:2035
      msgid "Focus editor on file open"
      msgstr "Fokus auf Editor legen beim Öffnen von Dateien"
      
      #: ../treebrowser/src/treebrowser.c:2040
      msgid "Show tree lines"
      msgstr "Leere Zeilen anzeigen"
      
      #: ../treebrowser/src/treebrowser.c:2052
      msgid "Open new files"
      msgstr "Neue Dateien öffnen"
      
      #: ../treebrowser/src/treebrowser.c:2128
      msgid "Focus File List"
      msgstr "Dateiliste fokussieren"
      
      #: ../treebrowser/src/treebrowser.c:2130
      msgid "Focus Path Entry"
      msgstr "Pfadeintrag fokussieren"
      
      #: ../treebrowser/src/treebrowser.c:2132
      msgid "Rename Object"
      msgstr "Objekt umbenennen"
      
      #: ../treebrowser/src/treebrowser.c:2134
      msgid "Create New File"
      msgstr "Neue Datei erstellen"
      
      #: ../treebrowser/src/treebrowser.c:2136
      msgid "Create New Directory"
      msgstr "Neues Verzeichnis erstellen"
      
      #: ../updatechecker/src/updatechecker.c:40
      msgid "Updatechecker"
      msgstr "Updatechecker"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Checks whether there are updates for Geany available"
      msgstr "Prüft, ob Updates für Geany bereit stehen."
      
      #: ../updatechecker/src/updatechecker.c:194
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Es ist eine aktuellere Version verfügbar: %s"
      
      #: ../updatechecker/src/updatechecker.c:202
      msgid "No newer Geany version available."
      msgstr "Keine aktuellere Version von Geany gefunden."
      
      #: ../updatechecker/src/updatechecker.c:217
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      "Konnte keine Versionsprüfung durchführen.\n"
      "Fehlernummer: %d \n"
      "Fehlernachricht: »%s«"
      
      #: ../updatechecker/src/updatechecker.c:289
      msgid "Run updatecheck on startup"
      msgstr "Beim Start auf Aktualisierungen prüfen"
      
      #: ../updatechecker/src/updatechecker.c:332
      msgid "Check for Updates"
      msgstr "Auf mögliche Aktualisierungen prüfen"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "Meldungsfenster"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "Seitenleiste"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr "eigenes Fenster"
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "keine"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr "bei Verbindung"
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "normal"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "Werkzeug"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      msgid "Bookmark this website"
      msgstr "Lesezeichen für Webseite anlegen"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Vergrößerung"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr "Dokument _einpassen"
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr "Seitenausrichtung umschalten"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Zurück"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "Weiter"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "Laden abbrechen"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Aktuelle Seite neu laden"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr "Webseiteninformationen und -Einstellungen"
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr "Webinspektor"
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr "Webinspektor umschalten"
      
      #: ../webhelper/src/gwh-plugin.c:49
      msgid "Web helper"
      msgstr "Web-Helfer"
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      "Zeigt eine Vorschau für eine Webseite an, die jedes Mal beim Speichern neu "
      "geladen wird. Es bietet dabei analytische Unterstützung sowie ein "
      "Debuggingwerkzeug (Webinspektor) und basiert dabei auf Webkit. "
      
      #: ../webhelper/src/gwh-plugin.c:140
      msgid "Web view"
      msgstr "Webansicht"
      
      #: ../webhelper/src/gwh-plugin.c:185
      msgid "Web preview"
      msgstr "Webvorschau"
      
      #: ../webhelper/src/gwh-plugin.c:264
      msgid "Reload upon document saving"
      msgstr "Beim Speichern des Dokumentes neu laden"
      
      #: ../webhelper/src/gwh-plugin.c:316
      msgid "Browser auto reload"
      msgstr "Browser automatisches neuladen"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      "Gibt an, ob der verwendete Browser sich automatisch aktualisiert, wenn eine "
      "Datei gespeichert wird"
      
      #: ../webhelper/src/gwh-plugin.c:322
      msgid "Browser last URI"
      msgstr "Letztes URI des Browsers"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Last URI visited by the browser"
      msgstr "Letzte vom Browser besuchte URI"
      
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "List of bookmarks"
      msgstr "Liste mit Lesezeichen anzeigen"
      
      #: ../webhelper/src/gwh-plugin.c:334
      msgid "Browser orientation"
      msgstr "Seitenausrichtung:"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Orientation of the browser widget"
      msgstr "Ausrichtung des Browserelements"
      
      #: ../webhelper/src/gwh-plugin.c:341
      msgid "Browser position"
      msgstr "Browserposition"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Position des Browserfensters innerhalb von Geany"
      
      #: ../webhelper/src/gwh-plugin.c:348
      msgid "Browser separate window geometry"
      msgstr "Geometrie des Browserfensters"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Last geometry of the separated browser's window"
      msgstr "Letzte Geometrie des separaten Browserfensters"
      
      #: ../webhelper/src/gwh-plugin.c:354
      msgid "Inspector window geometry"
      msgstr "Inspektors Fenstergeometrie"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Last geometry of the inspector window"
      msgstr "Letzte Geometrie des Inspektor-Fensters"
      
      #: ../webhelper/src/gwh-plugin.c:360
      msgid "Inspector detached"
      msgstr "Inspektors abgelöst"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      "Definiert, ob der Inspektor in einem eigenen Fenster oder mit dem Browser "
      "verbunden angezeigt werden soll."
      
      #: ../webhelper/src/gwh-plugin.c:366
      msgid "Secondary windows skip task bar"
      msgstr "Weitere Fenster nicht in der Taskleiste zeigen"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr "Bestimmt, ob weitere Fenster in der Taskleiste zu sehen sein sollen. "
      
      #: ../webhelper/src/gwh-plugin.c:372
      msgid "Secondary windows are transient"
      msgstr "Weitere Fenster transient machen"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      "Legt fest, ob weitere Fenster transiente Kinder des Hauptfensters sind."
      
      #: ../webhelper/src/gwh-plugin.c:378
      msgid "Secondary windows type"
      msgstr "Typ der weiteren Fenster"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "The type of the secondary windows"
      msgstr "Der Typ der weiteren Fenster"
      
      #: ../webhelper/src/gwh-plugin.c:455
      msgid "Toggle Web Inspector"
      msgstr "Webinspektor umschalten"
      
      #: ../webhelper/src/gwh-plugin.c:460
      msgid "Show/Hide Web View's Window"
      msgstr "Zeigt/versteckt das WebView-Fenster"
      
      #: ../webhelper/src/gwh-plugin.c:463
      msgid "Toggle bookmark for the current website"
      msgstr "Lesezeichen für die aktuelle Webseite umschalten"
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:529
      msgid "Browser"
      msgstr "Browser"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:541
      msgid "Windows"
      msgstr "Fenster"
      
      #: ../xmlsnippets/src/plugin.c:44
      msgid "XML Snippets"
      msgstr "XML-Schnipsel"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr "Autovervollständigt XML/HTML-Tags unter Verwendung von Schnipseln."
      
      #~ msgid "Failed to import manager module"
      #~ msgstr "Konnte manager-Modul nicht importieren"
      
      #~ msgid "Failed to retrieve PluginManager from manager module"
      #~ msgstr "Konnte den PluginManager aus dem manager-Modul nicht laden"
      
      #~ msgid "System plugin directory not found."
      #~ msgstr "Systemweites Plugin-Verzeichnis konnte nicht gefunden werden"
      
      #~ msgid "Unable to instantiate new PluginManager"
      #~ msgstr "Konnte keine neue Instanz der Plugin-Verwaltung anlegen."
      
      #~ msgid "Unable to get show_all() method on plugin manager"
      #~ msgstr "Konnte die Methode show_all() der Plugin-Verwaltung nicht finden."
      
      #~ msgid "Unable to create Python plugins directory: %s: %s"
      #~ msgstr "Konnte das Python-Plugin-Verzeichnis nicht anlegen: %s: %s"
      
      #~ msgid "Python Plugin Manager"
      #~ msgstr "Python-Plugin-Verwaltung"
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "GeanyLaTeX bietet verbesserten LaTeX-Support für Geany"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "Fehler beim Auswählen der Sprache für die Rechtschreibprüfung. Bitte "
      #~ "überprüfen Sie Ihre Konfiguration. Fehlermeldung: %s"
      
      #~ msgid ""
      #~ "Unable to paste the code on codepad.org\n"
      #~ "Retry or select another pastebin."
      #~ msgstr ""
      #~ "Kann den Code nicht auf codepad.org ablegen.\n"
      #~ "Versuchen Sie es erneut oder wählen Sie eine andere Ablagestelle aus."
      
      #~ msgid ""
      #~ "Unable to paste the code. Check your connection and retry.\n"
      #~ "Error code: %d\n"
      #~ msgstr ""
      #~ "Kann den Code nicht ablegen. Überprüfen Sie Ihre Verbindung und versuchen "
      #~ "Sie es erneut.\n"
      #~ "Fehlercode: %d\n"
      
      #~ msgid "Find Project Tag..."
      #~ msgstr "Tag im Projekt finden..."
      
      #~ msgid "Find project tag"
      #~ msgstr "Tag im Projekt finden"
      
      #~ msgid "Generate tags for all project files:"
      #~ msgstr "Tags für alle Projektdateien erstellen"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "Ein kleines Plugin zum Verwandeln von Listen in Tabellen."
      
      #~ msgid "\tOnly for Bash"
      #~ msgstr "\t nur bei Shell-Skripten"
      
      #~ msgid "GProject"
      #~ msgstr "GProject"
      
      #~ msgid "Glob-pattern-based project management plugin for Geany."
      #~ msgstr ""
      #~ "Auf dem Global-Muster basierendes Projektmanagement-Plugin für Geany."
      
      #~ msgid ""
      #~ "Space separated list of patterns that are used to identify source files."
      #~ msgstr ""
      #~ "Leerzeichengetrennte Liste mit Mustern, die genutzt werden, um "
      #~ "Quelldateien zu identifizieren."
      
      #~ msgid ""
      #~ "Note: set the patterns of files belonging to the project under the "
      #~ "Project tab."
      #~ msgstr ""
      #~ "Anmerkung: Die Muster der Dateien, die zu einem Projekt gehören, können "
      #~ "im Projekttab gesetzt werden."
      
      #~ msgid "No update available"
      #~ msgstr "Es ist keine Aktualisierung verfügbar"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Dieses Plugin hilft dabei, zwischen verschiedenen Quelltext-Dateien zu "
      #~ "navigieren.\n"
      #~ "Im Moment unterstützt es:\n"
      #~ "- Umschalten zwischen einer .cpp-Datei und der dazu passenden .H-Datei\n"
      #~ "- [Eine Datei über Ihren Namen öffnen -> TODO]"
      
      #~ msgid "Goto file"
      #~ msgstr "Gehe zu Datei"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Aus dem %s plugin)"
      
      #~ msgid "Plugins"
      #~ msgstr "Erweiterungen"
      
      #~ msgid "Seach for:"
      #~ msgstr "Suchen nach:"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "Haltepunkt #%s in %s() bei %s:%s hinzugefügt\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "Haltepunkt #%s bei %s:%s hinzugefügt\n"
      geany-plugins-1.27/po/gl.po0000644000175000017500000061611412671261352016111 0ustar00frlanfrlan00000000000000# Galician translations for PACKAGE package.
      # Copyright (C) 2009-2010 THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the PACKAGE package.
      # Jose Manuel Castroagudin , 2009-2010
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2010-06-06 06:26+0100\n"
      "Last-Translator: José Manuel Castroagudín Silva \n"
      "Language-Team: Galician\n"
      "Language: \n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Liña baleira)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "Elimina_r marcador"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "Núm."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Contidos"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Marcadores"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "Act_ualizar"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "_Ocultar a xanela de mensaxes"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Ficheiro"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Liña"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Tipo"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Tarefa"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Tarefas"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Contexto"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "Etiquetado XML"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Nome da etiqueta a inserir:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Abrir URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Copiar URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      #, fuzzy
      msgid "Enclose Characters"
      msgstr "Caracteres de frecha"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      #, fuzzy
      msgid "Cancel"
      msgstr "Codificación:"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:279
      #, fuzzy
      msgid "Opening Character"
      msgstr "I_nserir un carácter especial"
      
      #: ../addons/src/ao_wrapwords.c:286
      #, fuzzy
      msgid "Closing Character"
      msgstr "Caracteres de frecha"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Pec_har os outros documentos"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "_Pechar todos"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Mostrar a lista de documentos"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, fuzzy, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Copiar o camiño completo"
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      #, fuzzy
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Verifica a ortografía do documento actual."
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Engadidos"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Varios pequenos engadidos para Geany."
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "Enfocar na lista de marcadores"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "Enfocar na lista de tarefas"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "Actualizar a lista de tarefas"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr "Executar o etiquetado XML"
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "Non foi posíbel crear o directorio de configuración do plugin."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      "Mostrar un elemento da barra de ferramentas para mostrar unha lista de "
      "documentos abertos actualmente"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:472
      #, fuzzy
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Configure a codificación para o seu novo documento"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:504
      #, fuzzy
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Mostrar un elemento de menú para \"Abrir URI\" no menú do editor"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "Mostrar tarefas dispoñíbeis na xanela de mensaxes"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Se se deben mosntrar tarefas de todos os documentos abertos na lista, ou só "
      "as do documento actual."
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      "Especifique unha lista de elementos de busca separados por punto e coma."
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr "Elementos de busca:"
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "Mostrar unha icona de estado na área de notificación"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Mostrar marcadores definidos (liñas marcadas) na barra lateral"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      "Marcar todas as ocorrencias dunha palabra cando se faga dobre click nela"
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr "Eliminar as liñas baleiras do final"
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr "Etiquetado XML para a selección"
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "Non configurar ningunha codificación"
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Orientación do papel:"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Selección extra"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep selection when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Navegación polo código"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Intercambiar entre a cabeceira e a implementación"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr "Extensións de implementacións"
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr "Extensións de cabeceiras"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Predeterminado"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, fuzzy, c-format
      msgid "%s not found, create it?"
      msgstr "Non se atopou %s. Desexa crealo?"
      
      #: ../commander/src/commander-plugin.c:43
      #, fuzzy
      msgid "Commander"
      msgstr "Orde 0:"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      #, fuzzy
      msgid "Show Command Panel"
      msgstr "Nome da orde:"
      
      #: ../debugger/src/plugin.c:56
      #, fuzzy
      msgid "Debugger"
      msgstr "Depurar"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Depurar"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      #, fuzzy
      msgid "Name"
      msgstr "Nome:"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:252
      #, fuzzy
      msgid "Target:"
      msgstr "grande"
      
      #: ../debugger/src/tpage.c:255
      #, fuzzy
      msgid "Browse"
      msgstr "Examinar..."
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      #, fuzzy
      msgid "Debugger:"
      msgstr "Depurar"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      #, fuzzy
      msgid "Command Line Arguments"
      msgstr "Nome da orde:"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      #, fuzzy
      msgid "Environment Variables"
      msgstr "Contornos"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      #, fuzzy
      msgid "Delete variable?"
      msgstr "Variábeis locais"
      
      #: ../debugger/src/bptree.c:676
      #, fuzzy
      msgid "Location"
      msgstr "Localización:"
      
      #: ../debugger/src/bptree.c:685
      #, fuzzy
      msgid "Condition"
      msgstr "Edición"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr ""
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "O programa recibiu o sinal:"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, fuzzy, c-format
      msgid "Program exited with code \"%i\""
      msgstr "O programa rematou co código %d [%s]\n"
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr ""
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Enderezo"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      #, fuzzy
      msgid "Function"
      msgstr "Argumentos da función"
      
      #: ../debugger/src/tabs.c:132
      #, fuzzy
      msgid "Target"
      msgstr "grande"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Puntos de interrupción"
      
      #: ../debugger/src/tabs.c:138
      #, fuzzy
      msgid "Watch"
      msgstr "Puntos de vixilancia"
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      #, fuzzy
      msgid "Call Stack"
      msgstr "_Disposición"
      
      #: ../debugger/src/tabs.c:147
      #, fuzzy
      msgid "Debug Terminal"
      msgstr "Executar nun terminal"
      
      #: ../debugger/src/tabs.c:150
      #, fuzzy
      msgid "Debugger Messages"
      msgstr "Depurar"
      
      #: ../debugger/src/keys.c:49
      #, fuzzy
      msgid "Run / Continue"
      msgstr "Contando..."
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      #, fuzzy
      msgid "Restart"
      msgstr "Iniciando"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      #, fuzzy
      msgid "Step into"
      msgstr "Só en %s: %s\n"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      #, fuzzy
      msgid "Step out"
      msgstr "Só en %s: %s\n"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Run to cursor"
      msgstr "A conectar a %s"
      
      #: ../debugger/src/keys.c:56
      #, fuzzy
      msgid "Add / Remove breakpoint"
      msgstr "Engadir ou eliminar as codificacións do terminal"
      
      #: ../debugger/src/keys.c:57
      #, fuzzy
      msgid "Jump to the current instruction"
      msgstr "Completar a función actualmente en execución."
      
      #: ../debugger/src/watch_model.c:220
      #, fuzzy
      msgid "Can't evaluate expression"
      msgstr "Expresión regular non válida: %s"
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      #, fuzzy
      msgid "Run"
      msgstr "_Executar"
      
      #: ../debugger/src/btnpanel.c:132
      #, fuzzy
      msgid "Settings"
      msgstr "Iniciando"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:154
      #, fuzzy
      msgid "Continue"
      msgstr "Contando..."
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      #, fuzzy
      msgid "Documentation"
      msgstr "Tipo de documentación"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:397
      #, fuzzy
      msgid "Manual Pages"
      msgstr "Manual"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      #, fuzzy
      msgid "Search"
      msgstr "Elementos de busca:"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, fuzzy, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Inserir comentario de documentación"
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, fuzzy, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, fuzzy, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, fuzzy, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      #, fuzzy
      msgid "Toggle documentation tab"
      msgstr "Tipo de documentación"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      #, fuzzy
      msgid "Book:"
      msgstr "Libro"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Libro"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      #, fuzzy
      msgid "Page"
      msgstr "Páxinas"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      #, fuzzy
      msgid "Macro"
      msgstr "Editar o punto de vixilancia"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:620
      #, fuzzy
      msgid "Search in:"
      msgstr "Elementos de busca:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_Ficheiro"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      #, fuzzy
      msgid "_Edit"
      msgstr "Editor"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr ""
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      #, fuzzy
      msgid "Find Next"
      msgstr "Engadir ficheiro"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      #, fuzzy
      msgid "Find Previous"
      msgstr "Procurar en todo o proxecto "
      
      #: ../devhelp/devhelp/dh-window.c:791
      #, fuzzy
      msgid "Go to the previous page"
      msgstr "Volver ó diálogo anterior"
      
      #: ../devhelp/devhelp/dh-window.c:794
      #, fuzzy
      msgid "Go to the next page"
      msgstr "Pasar á liña seguinte"
      
      #: ../devhelp/devhelp/dh-window.c:797
      #, fuzzy
      msgid "_Contents Tab"
      msgstr "Contidos"
      
      #: ../devhelp/devhelp/dh-window.c:800
      #, fuzzy
      msgid "_Search Tab"
      msgstr "Elementos de busca:"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:810
      #, fuzzy
      msgid "_Normal Size"
      msgstr "Tamaño normal"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr ""
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      #, fuzzy
      msgid "Larger"
      msgstr "Grande"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      #, fuzzy
      msgid "Smaller"
      msgstr "pequena"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1100
      #, fuzzy
      msgid "Preferences…"
      msgstr "Preferencias"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      #, fuzzy
      msgid "Empty Page"
      msgstr "(Liña baleira)"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:149
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: non hai tal ficheiro ou directorio"
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "Elementos de busca:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      #, fuzzy
      msgid "prefix"
      msgstr "_Prefixo base"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "Carta"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "Símbolos de relación"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "Xeral"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Engadir ficheiro"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "Engadir ficheiro"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "doc"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Invocar o visor de documentación no símbolo actual."
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "Non foi posíbel analizar a saída da ordes"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Poñer a saída no búfer"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Orde 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Orde 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w substituirase pola palabra actual\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr "Documentar a palabra actual"
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Selección extra"
      
      #: ../geanyextrasel/src/extrasel.c:34
      #, fuzzy
      msgid "Column mode, select to line / brace / anchor."
      msgstr "Modo de columna, seleccionar ata a liña ou chave correspondente."
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "Selección e_xtra"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr "Modo de _columna"
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr "Modo de columna"
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr "Seleccionar ata a _liña"
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr "Seleccionar ata a liña"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr "Seleccionar ata a _chave correspondente"
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr "Seleccionar ata a chave correspondente"
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      #, fuzzy
      msgid "Select to _Anchor"
      msgstr "Seleccionar ata a _liña"
      
      #: ../geanyextrasel/src/extrasel.c:547
      #, fuzzy
      msgid "Select to anchor"
      msgstr "Seleccionar ata a liña"
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "Valor booleano"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "Valor booleano non válido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "Modelo non válido: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "Nome da posición"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "Posición non válida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "Nome da política"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "Política non válida \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "Tipo"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "Tipo non válido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "Nome de configuración non válido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Tipo descoñecido \"%s\". Un erro de dixitación?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "Identificador do tipo de documentación"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "Tipo de documentación"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "Expresión regular non válida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "A descrición do contorno non é válida: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "nome de sección"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "Sección duplicada \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "O nome de sección non é válido \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "A entrada está baleira"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "Aviso do analizador: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "Erro do analizador: %s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Etiqueta non válida"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      "Non se atopou un ficheiro de configuración para o tipo de ficheiro da "
      "lnguaxe \"%s\": %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      "Produciuse un erro ao cargar o tipo de ficheiro \"%s\" dende o ficheiro \"%s"
      "\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "Xerador de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr "Xera documentación básica a partir do código fonte"
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      "Non foi posíbel atopar un ficheiro de configuración para o tipo de ficheiro "
      "\"%s\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, fuzzy, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      "Produciuse un erro ao cargar o tipo de ficheiro \"%s\" dende o ficheiro \"%s"
      "\": %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr "Inserir comentario de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr "_Documentar o símbolo actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr "Xerar documentación para o símbolo actual."
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr "Document_ar todos os símbolos"
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Xerar documentación para todos os símbolos do documento actual"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "_Recargar os ficheiros de configuración"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "Forzar a recarga dos ficheiros de configuración"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "_Editar a configuración actual da linguaxe"
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr ""
      "Abrir o ficheiro de configuración da linguaxe actual para a súa edición"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Abrir o _manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Abrir o manual nun navegador"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "Xerador de _documentación"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "Xeral"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "Gardar o ficheiro ante_s de xerar a documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Indica se o documento actual debería gardarse en disco antes de xerar a "
      "documentación. Este é un detalle técnico, pero necesítase actualmente para "
      "ter unha lista de etiquetas actualizada. Se deshabilita esta opción e "
      "solicita a xeración de documentación nun documento modificado, o "
      "comportamento pode resultar confuso, xa que os comentarios xeraranse para o "
      "último estado gardado do documento e non para o estado actual."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr "Sangrar a documentación _inserida"
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Indica se a documentación inserida debería sangrarse para axustala ó "
      "sangrado que haxa na posición da inserción."
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Tipo de documentación"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "Escolla o tipo de documentación a usar con cada tipo de ficheiro, A linguaxe "
      "\"Todos\" no alto da lista úsase para escoller o tipo de documentación "
      "predeterminado, usado para todas as linguaxes que non teñen un configurado."
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr "Contorno global"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "O ficheiro \"%s\" existe pero non é un ficheiro normal"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: non hai tal ficheiro ou directorio"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "Produciuse un erro ao redimensionar o fluxo de saída da memoria"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      "A expresión regular que analiza os argumentos non atopou coincidencias (a "
      "lista de argumentos era: \"%s\")"
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "Produciuse un erro ao engadir un contorno global, omítese: %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "Produciuse un erro ao construír comentario: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "O tipo de documentación \"%s\" non existe para a linguaxe \"%s\"."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      "Ningunha configuración aplica para o símbolo \"%s\" do tipo \"%s\" na liña "
      "%lu."
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "Ningunha etiqueta válida na liñá %d."
      
      #: ../geanygendoc/src/ggd.c:582
      #, fuzzy
      msgid "No tags in the document"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Opción descoñecida"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      "Opción ou proxy non válidos: Ben a propiedade de proxy, ben o tipo de "
      "opción, é incompatíbel."
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "Tipo de valor para a entrada de ficheiro clave descoñecido %s::%s"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr "Produciuse un erro ao obter a entrada de clave de ficheiro %s::%s: %s"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Linguaxe"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      #, fuzzy
      msgid "_Change associated documentation type"
      msgstr "Sangrar a documentación _inserida"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      #, fuzzy
      msgid "_Disassociate documentation type"
      msgstr "Tipo de documentación"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Todo"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      "Tipo de documentación predefinido para linguaxes que non teñan un definido"
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "Inserir números"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "Inserir ou encher columnas con números."
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Contando..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Preparando..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Inserindo..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "Para base 11 ou superior"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "_Comezo:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "_Paso:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Base:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Letras:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "Máis _alto"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "Máis _baixo"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "_Prefixo base"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 para octal, 0x para hex, + para decimal positivo"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Recheo:"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Esp_azo"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "_Cero"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "Inserir _números"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Contornos"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Formatado"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Estrutura do documento"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Listas"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Matemáticas"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Inserir contorno"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Contorno:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "Non se puido determinar onde inserir o paquete: %s\n"
      "Intente inserir o paquete manualmente"
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr "Non se puido determinar onde inserir o paquete: %s"
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Autor"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Capítulo"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Edición"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Institución"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Diario"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Mes"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Nota"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Número"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organización"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Páxinas"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Serie"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Título"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Volume"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Ano"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Enderezo do editor"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "Nome(s) do(s) autor(es), separados por  'e' se hai máis de un"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "Título do libro, se só se cita parte del"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Número de capítulo"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "Edición do libro (tal como \"primeira\" ou \"segunda\")"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      #, fuzzy
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "Nome(s) do(s) editor(es), separados por 'and' se hai máis dun"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Información adicional variada"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "Patrocinador da conferencia"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Nome do editor"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Título do traballo"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Enderezo de internet"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Número do volume"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr "Executar o asistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "Marca o texto seleccionado como cursiva"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "Marca o texto seleccionado como negra"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "Subliñar o texto seleccionado"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centrado"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Orientado ao lado esqueredo"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Orientado ao lado dereito"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "Usar KOMA script de xeito predeterminado"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "Mostrar a barra de ferramentas do plugin a maiores"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "Inserir etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "Nome de etiqueta:"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "Inserir orde"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "Nome da orde:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "Inserir referencia"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "Nome da referencia:"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "Referencia e_stándar"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "Referencia de _páxina"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr "Eng_adir ambos"
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "Máis"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "Nome do paquete:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1267
      #, fuzzy
      msgid "Insert BibTeX Reference"
      msgstr "Inserir referencia"
      
      #: ../geanylatex/src/geanylatex.c:1280
      #, fuzzy
      msgid "BibTeX reference name:"
      msgstr "Nome da referencia:"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "Estimado señor ou señora"
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr "Reciba un cordial saúdo"
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "Asistente de LaTeX"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Modelo:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "Predeterminado"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "Escolla o tipo de documento que quere escribir"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Artigo"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Informe"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Carta"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Presentación"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Codificación:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "Configure a codificación para o seu novo documento"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      #, fuzzy
      msgid "Font size"
      msgstr "Tamaño da tipografía:"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr ""
      "Configure o tamaño da tipografía predeterminado para o seu novo documento"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Autor:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Configura o valor para a orde \\author. En moitos casos isto debería ser o "
      "seu nome"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Data:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Título:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "Configura o título do seu novo documento."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "Tamaño do papel:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "Escolla o formato do papel para o documento novo creado"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "Orientación do papel:"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr "Escolla a orientación do papel para o documento novo creado"
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr "Usar clases de KOMA-script se é posíbel"
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "Usar o modo de borrador"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "Executar o asistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "Inserir orde"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr "Activar ou desactivar a substitución de entrada"
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Substituír caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr "Formatar a selección en negra"
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr "Formatar a selección en cursiva"
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr "Formatar a selección en letra de máquina de escribir"
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "Formatar a selección centrada"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr "Formatar a selección aliñándoa á dereita"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr "Inserir lista de descricións"
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr "Inserir unha lista de elementos"
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr "Inserir unha lista numerada"
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2005
      #, fuzzy
      msgid "Insert BibTeX reference dialog"
      msgstr "Inserir referencia"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX é un plugin para mellorar a compatibilidade de Geany con LaTeX.\n"
      "\n"
      "Por favor, informe de todos os erros ou peticións de características a un "
      "dos autores."
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr ""
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "_Asistente de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Inicia un asistente para crear facilmente documentos LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "I_nserir un carácter especial"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "Axuda para usar algunhas letras e signos non moi comúns"
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "Inserir _referencia"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "Inserir _etiqueta"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "Axuda ao inserir etiquetas a un documento"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "Inserir _contorno"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr "Axuda ao inserir un contorno a un documento"
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "Inserir p_aquete"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Formato"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "Tamaño da tip_ografía"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "_Substitución de caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr "Substituí_r en masa caracteres especiais"
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      "Substituí_r os caracteres especiais seleccionados por substitutos de TeX"
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "_Orde para inserir"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2281
      #, fuzzy
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      #, fuzzy
      msgid "Insert B_ibTeX reference"
      msgstr "Inserir _referencia"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      #, fuzzy
      msgid "_BibTeX entries"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/letters.c:40
      #, fuzzy
      msgid "LaTeX letters"
      msgstr "Letras gregas"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Letras gregas"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Diéreses do alemán"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Miscelánea"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Caracteres de frecha"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "Símbolos de relación"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Operación binaria"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Cursiva"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Subliñado"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Máquina de escribir"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "Tipo de letra inclinada"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Énfase"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "diminuta"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr "Tamaño \"script\""
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr "Tamaño das notas ao pe"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "pequena"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "Tamaño normal"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "grande"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "Grande"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "Grande"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "enorme"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "Enorme"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "Páxina de códigos IBM 850"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "Páxina de códigos IBM 852"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "Non configurar ningunha codificación"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr "Creación de textos de proba con Geany"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Xerador de Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "Introduza a lonxitude do texto Lipsum aquí"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr "Inclúa pseudo-texto no seu código"
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "Inserir texto Lipsum"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      " esperábase o tipo \"%s\" para o argumento #%d\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      " esperábase o tipo \"%s\" ou \"%s\" para o argumento #%d\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      " táboa non válida no argumento #%d:\n"
      " esperábase o tipo \"%s\" para o elemento #%d\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Script Lua"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Escriba e execute scripts Lua para ordes personalizadas."
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Complemento de script Lua"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Erro no script de Lua:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Esgotouse o tempo para o script"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Un script Lua semella tardar demasiado en completarse.\n"
      "Quere continuar esperando?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Superouse o tempo máximo para un script."
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(o obxecto do erro non é unha cadea)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Produciuse un erro descoñecido dentro dun script."
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Memoria esgotada."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "Produciuse un erro ao abrir o ficheiro de script"
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Produciuse un erro ao cargar o ficheiro do script."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Construíndo o menú dende '%s'\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "Nada que configurar!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "Pode crear o script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "para engadilo ao seu propio diálogo de configuración."
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Abrir ficheiro"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Seleccionar ficheiro"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Examinar..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Seleccionar a cor"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Seleccionar..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Seleccionar tipo de letra"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Seleccionar..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función navigate():\n"
      "modo de navegación descoñecido \"%s\" para o argumento #1.\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      "A orde da API \"%s\" non está implementada.\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      "non hai argumentos suficientes para a orde \"%s\".\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      "orde descoñecida \"%s\" para o argumento #1.\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      " táboa non válida no argumento #%d:\n"
      " marca descoñecida \"%s\" para o elemento #%d\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "O ficheiro xa existe"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Quere sobrescribilo?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "confirmar"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Gardar ficheiro"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función pickfile():\n"
      "produciuse un erro ao analizar a cadea de filtro no argumento #3.\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      "esperábase a cadea \"open\" ou \"save\" para o argumento #1.\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: Non se puido cargar a biblioteca de apoio %s!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: Produciuse un erro ao inicializar a biblioteca de apoio %s!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      "%s: Non coincide a versión da biblioteca de apoio: %s para %s (debería ser "
      "%s)!\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      "%s: Non coincide a ABI da biblioteca de apoio: %d para %s (debería ser %d)!\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: Non se puido atopar a biblioteca de apoio %s!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "O complemento %s non foi cargado adecuadamente.\n"
      "Comprobe a súa instalación."
      
      #: ../geanylua/glspi_app.c:21
      #, fuzzy, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2008 "
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s():\n"
      "non se atopou o widget \"%s\" para o argumento #1.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "Produciuse un erro no módulo \"%s\" na función %s() no argumento #2:\n"
      "o widget \"%s\" non ten ningún sinal chamado \"%s\".\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      #, fuzzy
      msgid "Cut to Clipboard"
      msgstr "Copiar o camiño completo"
      
      #: ../geanymacro/src/geanymacro.c:56
      #, fuzzy
      msgid "Copy to Clipboard"
      msgstr "Copiar o camiño completo"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:59
      #, fuzzy
      msgid "Copy current line to Clipboard"
      msgstr "Copiar o camiño completo"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:67
      #, fuzzy
      msgid "Delete to beginning of line"
      msgstr "Seleccionar ata a liña"
      
      #: ../geanymacro/src/geanymacro.c:68
      #, fuzzy
      msgid "Delete to end of line"
      msgstr "Seleccionar ata a liña"
      
      #: ../geanymacro/src/geanymacro.c:69
      #, fuzzy
      msgid "Delete current line"
      msgstr "Seleccionar ata a liña"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:88
      #, fuzzy
      msgid "Move Cursor to last line of document"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:91
      #, fuzzy
      msgid "Move Cursor to first visible character"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      #, fuzzy
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:100
      #, fuzzy
      msgid "Extend Selection down a line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:101
      #, fuzzy
      msgid "Extend Selection up a line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:102
      #, fuzzy
      msgid "Extend Selection Left a line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:103
      #, fuzzy
      msgid "Extend Selection Right a line"
      msgstr "Formatar a selección aliñándoa á dereita"
      
      #: ../geanymacro/src/geanymacro.c:104
      #, fuzzy
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:105
      #, fuzzy
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:106
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:107
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:108
      #, fuzzy
      msgid "Extend Selection to start of line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:109
      #, fuzzy
      msgid "Extend Selection to end of line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:110
      #, fuzzy
      msgid "Extend Selection to start of document"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:111
      #, fuzzy
      msgid "Extend Selection to end of document"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../geanymacro/src/geanymacro.c:112
      #, fuzzy
      msgid "Extend Selection up one Page"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:113
      #, fuzzy
      msgid "Extend Selection down one Page"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:114
      #, fuzzy
      msgid "Extend Selection to fist visible character"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:115
      #, fuzzy
      msgid "Extend Selection to last visible character"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      #, fuzzy
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      #, fuzzy
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../geanymacro/src/geanymacro.c:121
      #, fuzzy
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Mostrar tarefas de todos os documentos"
      
      #: ../geanymacro/src/geanymacro.c:123
      #, fuzzy
      msgid "Extend Rectangular Selection down a line"
      msgstr "Formatar a selección aliñándoa á dereita"
      
      #: ../geanymacro/src/geanymacro.c:124
      #, fuzzy
      msgid "Extend Rectangular Selection up a line"
      msgstr "Formatar a selección aliñándoa á dereita"
      
      #: ../geanymacro/src/geanymacro.c:125
      #, fuzzy
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Formatar a selección aliñándoa á dereita"
      
      #: ../geanymacro/src/geanymacro.c:126
      #, fuzzy
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Formatar a selección aliñándoa á dereita"
      
      #: ../geanymacro/src/geanymacro.c:127
      #, fuzzy
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:128
      #, fuzzy
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:129
      #, fuzzy
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:130
      #, fuzzy
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      #, fuzzy
      msgid "Cancel Selection"
      msgstr "Selección extra"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:138
      #, fuzzy
      msgid "Newline"
      msgstr "Subliñado"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      #, fuzzy
      msgid "Change selected text to lowercase"
      msgstr "Marca o texto seleccionado como cursiva"
      
      #: ../geanymacro/src/geanymacro.c:144
      #, fuzzy
      msgid "Change selected text to uppercase"
      msgstr "Marca o texto seleccionado como negra"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      #, fuzzy
      msgid "Search for next \"\""
      msgstr "Elementos de busca:"
      
      #: ../geanymacro/src/geanymacro.c:151
      #, fuzzy
      msgid "Search for previous \"\""
      msgstr "Elementos de busca:"
      
      #: ../geanymacro/src/geanymacro.c:152
      #, fuzzy
      msgid "Set start of search to beginning of selection"
      msgstr "Seleccionar ata a liña"
      
      #: ../geanymacro/src/geanymacro.c:181
      #, fuzzy
      msgid "Macros"
      msgstr "Editar o punto de vixilancia"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:369
      #, fuzzy
      msgid "No text in clipboard!"
      msgstr "Copiar o camiño completo"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1085
      #, fuzzy
      msgid "Macro Name:"
      msgstr "Nome:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      #, fuzzy
      msgid "Search Options:"
      msgstr "Elementos de busca:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      #, fuzzy
      msgid "_Cancel"
      msgstr "Codificación:"
      
      #: ../geanymacro/src/geanymacro.c:1403
      #, fuzzy
      msgid "Search Forwards"
      msgstr "Elementos de busca:"
      
      #: ../geanymacro/src/geanymacro.c:1404
      #, fuzzy
      msgid "Search Backwards"
      msgstr "Elementos de busca:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      #, fuzzy
      msgid "Search for contents of clipboard"
      msgstr "Copiar o camiño completo"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      #, fuzzy
      msgid "Search for:"
      msgstr "Elementos de busca:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      #, fuzzy
      msgid "Search is case sensitive"
      msgstr "Elementos de busca:"
      
      #: ../geanymacro/src/geanymacro.c:1447
      #, fuzzy
      msgid "Search for whole word"
      msgstr "Elementos de busca:"
      
      #: ../geanymacro/src/geanymacro.c:1452
      #, fuzzy
      msgid "Search for start of word"
      msgstr "Elementos de busca:"
      
      #: ../geanymacro/src/geanymacro.c:1457
      #, fuzzy
      msgid "Search text is regular expression"
      msgstr "Expresión regular non válida: %s"
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      #, fuzzy
      msgid "Text:"
      msgstr "Contexto"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, fuzzy, c-format
      msgid "Edit: %s"
      msgstr "Editar o punto de vixilancia"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      #, fuzzy
      msgid "_Delete"
      msgstr "Borrar"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      #, fuzzy
      msgid "Edit Macros"
      msgstr "Editar o punto de vixilancia"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr ""
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr ""
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:460
      #, fuzzy
      msgid "Display a information about the mini-script plugin"
      msgstr "Mostrar información adicional sobre o elemento seleccionado."
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      #, fuzzy
      msgid "selection"
      msgstr "Seleccionar tipo de letra"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      #, fuzzy
      msgid "document"
      msgstr "Enviar o docu_mento por correo"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:527
      #, fuzzy
      msgid "New Doc."
      msgstr "Proxecto novo"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      #, fuzzy
      msgid "script configuration"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../geanyminiscript/src/gms.c:58
      #, fuzzy
      msgid "Mini Script"
      msgstr "Script Lua"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      #, fuzzy
      msgid "_Ignore"
      msgstr "Ignorar Todo"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      #, fuzzy
      msgid "Move to start of line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      #, fuzzy
      msgid "Move to End of line"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      #, fuzzy
      msgid "couldn't create tempfile"
      msgstr "Crear un ficheiro novo"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      #, fuzzy
      msgid "Error from"
      msgstr "Erro:"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:152
      #, fuzzy
      msgid "Please select any recipients"
      msgstr "Borrar o punto de vixilancia seleccionado?"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:162
      #, fuzzy
      msgid "Select recipients"
      msgstr "Seleccionar directorio"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:232
      #, fuzzy
      msgid "Select signer"
      msgstr "Seleccionar ficheiro"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr ""
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "descoñecido"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:68
      #, fuzzy
      msgid "never"
      msgstr "_Reverter"
      
      #: ../geanypg/src/verify_aux.c:69
      #, fuzzy
      msgid "marginal"
      msgstr "_Orixinal"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr ""
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      #, fuzzy
      msgid "Unknown\n"
      msgstr "descoñecido"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      #, fuzzy
      msgid "Unknown"
      msgstr "descoñecido"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_cb.c:27
      #, fuzzy
      msgid "Open a signature file"
      msgstr "Abrir ficheiro"
      
      #: ../geanyprj/src/geanyprj.c:38
      #, fuzzy
      msgid "Alternative project support."
      msgstr "Apoio alternativo a proxectos."
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Preferencias do proxecto"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Proxecto novo"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "C_rear"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Nome:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Localización:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Escolla a localización do proxecto"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Ruta base:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Directorio base de todos os ficheiros que constitúen o proxecto. Pode ser "
      "unha ruta nova, ou unha árbore de directorios existente. Pode usar rutas "
      "relativas ó nome de ficheiro do proxecto."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Seleccionar a ruta base do proxecto"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Xerar unha lista de ficheiros ao cargar"
      
      #: ../geanyprj/src/menu.c:172
      #, fuzzy
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Engadir ficheiros que coincidan co tipo de proxecto ao cargar o proxecto. "
      "Non poderá engadir ou quitar ficheiros manualmente se marca esta opción, xa "
      "que as súas modificacións perderanse na próxima carga do proxecto."
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Tipo:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Xa existe o ficheiro de proxecto \"%s\""
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Proxecto"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Eliminar o proxecto"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Engadir ficheiro"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Preferencias"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Procurar en todo o proxecto "
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Eliminar ficheiro"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "_Ocultar a barra lateral"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Proxecto"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Abriuse o proxecto \"%s\"."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      #, fuzzy
      msgid "GeanyPy"
      msgstr "GeanyGDB"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, fuzzy, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      #, fuzzy
      msgid "System plugin directory not found."
      msgstr "Non se atopou o directorio temporal de tty!\n"
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, fuzzy, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Un pequeno plugin para enviar o ficheiro actual como un adxunto mediante o "
      "cliente de correo favorito do usuario."
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "Enderezo do destinatario"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "Introduza o enderezo de correo-e do destinatario:"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "Non se atopou o marcador de posición do ficheiro. A orde executada pode ter "
      "fallado."
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "Non se atopou o marcador de posición do enderezo do destinatario. A orde "
      "executada pode ter fallado."
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Non foi posíbel executar o cliente de correo. Revise a súa configuración."
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "Por favor, defina primeiro un cliente de correo ."
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "Débese gardar o ficheiro antes de envialo."
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "Correo"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "Enviar por correo"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "Camiño e opcións para o cliente de correo:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      #, fuzzy
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Nota: \n"
      "\t\\%f substituirase polo seu ficheiro.\n"
      "\t\\%r substituirase polo enderezo de correo do destinatario.\n"
      "\t\\%b substituirase polo nome base (basename) dun ficheiro\n"
      "\tExemplos:\n"
      "\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
      "\tmutt -s \"Enviando '\\%b'\" -a \"\\%f\" \"\\%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      #, fuzzy
      msgid "Show toolbar icon"
      msgstr "Mostrar as indicacións."
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr ""
      "Mostra unha icona na barra de ferramentas para enviar o ficheiro máis "
      "facilmente."
      
      #: ../geanysendmail/src/geanysendmail.c:336
      #, fuzzy
      msgid "Use dialog for entering email address of recipients"
      msgstr "Usar un diálogo para introducir o enderezo de correo dos destinatarios"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "Enviar o ficheiro por correo"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "Enviar o docu_mento por correo"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Envía o ficheiro aberto como un anexo sen comprimir mediante calquera "
      "cliente de correo que estea no seu $PATH"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "Unha interface para diferentes sistemas de control de versións"
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "Non se realizaron cambios"
      
      #: ../geanyvc/src/geanyvc.c:738
      #, fuzzy
      msgid "No history available"
      msgstr "Non hai historial dispoñíbel"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Está seguro de que desexa reverter: %s?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Está seguro de que quere engadir: %s?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Está seguro de que quere eliminar: %s?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "Está seguro de que desexa actualizar?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Estado"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Ruta"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "(_De)Seleccionar tódolos ficheiros"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1565
      #, fuzzy
      msgid "Nothing to commit."
      msgstr "Non hai nada que "
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "Produciuse un erro ao iniciar a corrección ortográfica: %s"
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Se esta opción está activada, cada separador dun documento novo creado polo "
      "complemento de control de versións marcarase como cambiado. Aínda que esta "
      "opción ñe útil nalgúns casos, pode causar un gran número de diálogos do tipo "
      "\"Quere gardar... ?\"."
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      "Confirmar a adición de novos ficheiros a un sistema de control de versións"
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Mostra un diálogo de confirmación ao engadir un ficheiro novo (creado) a un "
      "sistema de control de versións."
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "Uar un visor de diff externo"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "Usar un visor externo de diff para diffs de ficheiros."
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "Mostrar entradas de control de versións no menú do editor"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      "Mostra entradas para as funcións de control de versións dentro do menú do "
      "editor"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "Habilitar CVS"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "Habilitar GIT"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "Habilitar SVN"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "Habilitar SVK"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Habilitar Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Habilitar Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "Idioma para a revisión ortográfica"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "Fader un diff a partir do ficheiro activo actualmente"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "_Reverter"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      "Restaurar o ficheiro limpo da copia de traballo (desfacer edicións locais)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr "_Blame"
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr "Mostra os cambios feitos nun ficheiro por revisión e autor."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "_Historial (rexistro)"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "Mostra o rexistro do ficheiro actual"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "_Orixinal"
      
      #: ../geanyvc/src/geanyvc.c:2107
      #, fuzzy
      msgid "Shows the original of the current file"
      msgstr "Mostra a versión orixinal do ficheiro actual"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "Eng_adir ao control de versións"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Engadir o ficheiro ao repositorio."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "Elimina_r do control de versións"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Eliminar ficheiro do repositorio."
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "_Directorio"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "Facer un diff a partir do directorio do ficheiro activo actual"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      "Restaurar os ficheiros orixinais no directorio actual (desfacer as edicións "
      "locais)."
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "Mostra o rexistro do directorio actual"
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "Directorio _base"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr "Facer un diff a partir do directorio máis alto do control de versións"
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "REverter todas as edicións locais."
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr "Mostra o rexistro do directorio máis alto do control de versións"
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Mostrar o diff do ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Mostrar o diff do directorio"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "Mostrar un diff do directorio base"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Mostrar estado"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "Reverter un único ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "Reverter o directorio"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "Reverter o directorio base"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Actualizar o ficheiro"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "C_V"
      
      #: ../geanyvc/src/geanyvc.c:2318
      #, fuzzy
      msgid "_Version Control"
      msgstr "Eng_adir ao control de versións"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "E_stado"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Mostrar estado."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Actualizar dende o repositorio remoto."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "Non se atopa o directorio %s.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "Posición non válida \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr ""
      "Non foi posíbel atopar un ficheiro de configuración para o tipo de ficheiro "
      "\"%s\": %s"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "Produciuse un erro ao abrir o ficheiro de script"
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:771
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "Seleccionar ficheiro"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "Eliminar ficheiro"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, fuzzy, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr ""
      "Non foi posíbel atopar un ficheiro de configuración para o tipo de ficheiro "
      "\"%s\": %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Volver ó diálogo anterior"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Pasar á liña seguinte"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, fuzzy, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "O complemento %s non foi cargado adecuadamente.\n"
      "Comprobe a súa instalación."
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Eliminar ficheiro"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Eliminar ficheiro"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Operación binaria"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "Operación binaria"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      #, fuzzy
      msgid "Position:"
      msgstr "Edición"
      
      #: ../markdown/src/conf.c:573
      #, fuzzy
      msgid "Sidebar"
      msgstr "_Ocultar a barra lateral"
      
      #: ../markdown/src/conf.c:581
      #, fuzzy
      msgid "Message Window"
      msgstr "_Ocultar a xanela de mensaxes"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:663
      #, fuzzy
      msgid "Select Template File"
      msgstr "Seleccionar ata a liña"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "_Ocultar a xanela de mensaxes"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "_Ocultar a barra lateral"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "Abrir terminal"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "Abrir URI"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "Procurar en todo o proxecto "
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Mostrar estado"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "Executar nun terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Produciuse un erro ao cargar a configuración: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, fuzzy, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "Terminado"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "Executar nun terminal"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Produciuse un erro ao construír comentario: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "Executar nun terminal"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "Nome da posición"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "Mostrar as indicacións."
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      #, fuzzy
      msgid "Options"
      msgstr "_Opcións"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      #, fuzzy
      msgid "Outline Color:"
      msgstr "Seleccionar a cor"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      #, fuzzy
      msgid "Go to previous string"
      msgstr "Volver ó diálogo anterior"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      #, fuzzy
      msgid "Go to next string"
      msgstr "Pasar á liña seguinte"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      #, fuzzy
      msgid "Toggle current translation fuzziness"
      msgstr "Tipo de documentación"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      #, fuzzy
      msgid "Show statistics of the current document"
      msgstr "Verifica a ortografía do documento actual."
      
      #: ../pohelper/data/menus.ui.h:25
      #, fuzzy
      msgid "_Show stats"
      msgstr "Mostrar estado"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      #, fuzzy
      msgid "Translated:"
      msgstr "Modelo:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      #, fuzzy
      msgid "Unable to parse the content as XML."
      msgstr "Produciuse un erro ao gardar a configuración: %s"
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      #, fuzzy
      msgid "Comments"
      msgstr "Contidos"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:205
      #, fuzzy
      msgid "Empty nodes"
      msgstr "(Liña baleira)"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:235
      #, fuzzy
      msgid "Indentation"
      msgstr "Presentación"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Preferencias do proxecto"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      #, fuzzy
      msgid "Find in project files"
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      #, fuzzy
      msgid "Find project file"
      msgstr "Ocultar ficheiros obxecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Ocultar ficheiros obxecto"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      #, fuzzy
      msgid "Header patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      #, fuzzy
      msgid "Ignored file patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      #, fuzzy
      msgid "Ignored directory patterns:"
      msgstr "Extensións de cabeceiras"
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "Núm."
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      #, fuzzy
      msgid "Find File"
      msgstr "Engadir ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      #, fuzzy
      msgid "Search inside:"
      msgstr "Elementos de busca:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "Crear un directorio novo"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Seleccionar directorio"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "Engadidos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Engadir ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      #, fuzzy
      msgid "Reload all"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "Reverter o directorio"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      #, fuzzy
      msgid "Expand All"
      msgstr "Expandir todos"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Procurar en todo o proxecto "
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "Engadir ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Engadir ficheiro"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "Reverter o directorio"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "Depura_r"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      #, fuzzy
      msgid "Recent _Programs"
      msgstr "sen programa"
      
      #: ../scope/data/scope.glade.h:4
      #, fuzzy
      msgid "_Run/Continue"
      msgstr "Contando..."
      
      #: ../scope/data/scope.glade.h:5
      #, fuzzy
      msgid "Run to _Cursor"
      msgstr "A conectar a %s"
      
      #: ../scope/data/scope.glade.h:6
      #, fuzzy
      msgid "Run to _Source"
      msgstr "A conectar a %s"
      
      #: ../scope/data/scope.glade.h:7
      #, fuzzy
      msgid "Step _Into"
      msgstr "Só en %s: %s\n"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:9
      #, fuzzy
      msgid "Step O_ut"
      msgstr "Só en %s: %s\n"
      
      #: ../scope/data/scope.glade.h:10
      #, fuzzy
      msgid "_Terminate"
      msgstr "Terminado"
      
      #: ../scope/data/scope.glade.h:11
      #, fuzzy
      msgid "Toggle _Breakpoint"
      msgstr "Puntos de interrupción"
      
      #: ../scope/data/scope.glade.h:12
      #, fuzzy
      msgid "_GDB Command"
      msgstr "Orde 0:"
      
      #: ../scope/data/scope.glade.h:13
      #, fuzzy
      msgid "_More"
      msgstr "Máis"
      
      #: ../scope/data/scope.glade.h:14
      #, fuzzy
      msgid "_Show Terminal"
      msgstr "Abrir terminal"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:27
      #, fuzzy
      msgid "S_elect on"
      msgstr "Seleccionar tipo de letra"
      
      #: ../scope/data/scope.glade.h:28
      #, fuzzy
      msgid "_Running"
      msgstr "Executando"
      
      #: ../scope/data/scope.glade.h:29
      #, fuzzy
      msgid "_Stopped"
      msgstr "Detido"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:32
      #, fuzzy
      msgid "_Columns"
      msgstr "Modo de _columna"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      #, fuzzy
      msgid "Show _Core"
      msgstr "Mostrar barras"
      
      #: ../scope/data/scope.glade.h:35
      #, fuzzy
      msgid "Add _Break"
      msgstr "Engadir punto de ruptura"
      
      #: ../scope/data/scope.glade.h:36
      #, fuzzy
      msgid "Add _Watch"
      msgstr "Puntos de vixilancia"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      #, fuzzy
      msgid "Show _Address"
      msgstr "Enderezo"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:41
      #, fuzzy
      msgid "_Watch"
      msgstr "Puntos de vixilancia"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:44
      #, fuzzy
      msgid "_Default"
      msgstr "Predeterminado"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:47
      #, fuzzy
      msgid "_UTF-8"
      msgstr "UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      #, fuzzy
      msgid "_Show .names"
      msgstr "Mostrar iconas."
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:57
      #, fuzzy
      msgid "_Expand"
      msgstr "Expandir todos"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      #, fuzzy
      msgid "_Inspect Variable"
      msgstr "Contornos"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:69
      #, fuzzy
      msgid "Stack"
      msgstr "_Disposición"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:71
      #, fuzzy
      msgid "Watches"
      msgstr "Puntos de vixilancia"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:73
      #, fuzzy
      msgid "Enter gdb command:"
      msgstr "Inserir orde"
      
      #: ../scope/data/scope.glade.h:74
      #, fuzzy
      msgid "Convert _UTF-8 to locale"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:77
      #, fuzzy
      msgid "_Frame"
      msgstr "Información do marco"
      
      #: ../scope/data/scope.glade.h:78
      #, fuzzy
      msgid "Setup Program"
      msgstr "sen programa"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:81
      #, fuzzy
      msgid "En_vironment:"
      msgstr "Contorno:"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      #, fuzzy
      msgid "_Load script:"
      msgstr "Scripts _Lua"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program"
      msgstr "sen programa"
      
      #: ../scope/data/scope.glade.h:89
      #, fuzzy
      msgid "Open on"
      msgstr "Abrir URI"
      
      #: ../scope/data/scope.glade.h:90
      #, fuzzy
      msgid "g_db load"
      msgstr "_Desactivar"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      #, fuzzy
      msgid "Update all _views"
      msgstr "Actualizar a lista de tarefas"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:97
      #, fuzzy
      msgid "_member"
      msgstr "Número"
      
      #: ../scope/data/scope.glade.h:98
      #, fuzzy
      msgid "and"
      msgstr "Tipo de letra inclinada"
      
      #: ../scope/data/scope.glade.h:99
      #, fuzzy
      msgid "_argument"
      msgstr "Enviar o docu_mento por correo"
      
      #: ../scope/data/scope.glade.h:100
      #, fuzzy
      msgid "names"
      msgstr "Renomear"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:102
      #, fuzzy
      msgid "E_xpand on apply"
      msgstr "Expandir todos"
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      #, fuzzy
      msgid "Show _tooltips"
      msgstr "Mostrar as indicacións."
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:110
      #, fuzzy
      msgid "_Import"
      msgstr "Informe"
      
      #: ../scope/data/scope.glade.h:111
      #, fuzzy
      msgid "Enter assignment expression:"
      msgstr "Expresión regular non válida: %s"
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:113
      #, fuzzy
      msgid "Object:"
      msgstr "Información do obxecto"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:116
      #, fuzzy
      msgid "Frame:"
      msgstr "Nome:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      #, fuzzy
      msgid "Expand"
      msgstr "Expandir todos"
      
      #: ../scope/data/scope.glade.h:120
      #, fuzzy
      msgid "Start:"
      msgstr "_Comezo:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      #, fuzzy
      msgid "_Expand on apply"
      msgstr "Expandir todos"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program Terminal"
      msgstr "Executar nun terminal"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      #, fuzzy
      msgid "breakpoint"
      msgstr "Puntos de interrupción"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "Editar o punto de ruptura"
      
      #: ../scope/src/break.c:99
      #, fuzzy
      msgid "tracepoint"
      msgstr "punto de vixilancia"
      
      #: ../scope/src/break.c:100
      #, fuzzy
      msgid "fast tracepoint"
      msgstr "punto de vixilancia"
      
      #: ../scope/src/break.c:101
      #, fuzzy
      msgid "write watchpoint"
      msgstr "Editar o punto de vixilancia"
      
      #: ../scope/src/break.c:104
      #, fuzzy
      msgid "access watchpoint"
      msgstr "punto de vixilancia"
      
      #: ../scope/src/break.c:106
      #, fuzzy
      msgid "read watchpoint"
      msgstr "Editar o punto de vixilancia"
      
      #: ../scope/src/break.c:108
      #, fuzzy
      msgid "catchpoint"
      msgstr "punto de vixilancia"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      #, fuzzy
      msgid "on load"
      msgstr "_Desactivar"
      
      #: ../scope/src/break.c:142
      #, fuzzy
      msgid "Run to Cursor"
      msgstr "A conectar a %s"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      #, fuzzy
      msgid "Add Breakpoint"
      msgstr "Engadir punto de ruptura"
      
      #: ../scope/src/break.c:1322
      #, fuzzy
      msgid "Add Watchpoint"
      msgstr "Engadir punto de vixilancia"
      
      #: ../scope/src/conterm.c:109
      #, fuzzy
      msgid "Feed Terminal"
      msgstr "Abrir terminal"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, fuzzy, c-format
      msgid "Scope: %s."
      msgstr "Pechar: %s"
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      #, fuzzy
      msgid "Program terminated."
      msgstr "Terminado"
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr ""
      
      #: ../scope/src/inspect.c:66
      #, fuzzy
      msgid "..."
      msgstr "Máis..."
      
      #: ../scope/src/inspect.c:339
      #, fuzzy
      msgid "invalid data"
      msgstr "Etiqueta non válida"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      #, fuzzy
      msgid "out of scope"
      msgstr "O punto de vixilancia #%s está fora de ámbito"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr ""
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      #, fuzzy
      msgid "Watch expression"
      msgstr "Expresión regular non válida: %s"
      
      #: ../scope/src/menu.c:483
      #, fuzzy
      msgid "Inspect variable"
      msgstr "Variábeis locais"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select Folder"
      msgstr "Seleccionar a cor"
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select File"
      msgstr "Seleccionar ficheiro"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      #, fuzzy
      msgid "Scope: created configuration file."
      msgstr "Forzar a recarga dos ficheiros de configuración"
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, fuzzy, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr ""
      "Produciuse un erro ao cargar o tipo de ficheiro \"%s\" dende o ficheiro \"%s"
      "\": %s"
      
      #: ../scope/src/program.c:383
      #, fuzzy, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr "Contando..."
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      #, fuzzy
      msgid "Scope Debugger"
      msgstr "Depurar"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      #, fuzzy
      msgid "Setup program"
      msgstr "sen programa"
      
      #: ../scope/src/scope.c:62
      #, fuzzy
      msgid "Run/continue"
      msgstr "Contando..."
      
      #: ../scope/src/scope.c:64
      #, fuzzy
      msgid "Run to source"
      msgstr "A conectar a %s"
      
      #: ../scope/src/scope.c:68
      #, fuzzy
      msgid "Terminate"
      msgstr "Terminado"
      
      #: ../scope/src/scope.c:69
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "punto de interrupción"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      #, fuzzy
      msgid "GDB command"
      msgstr "Inserir orde"
      
      #: ../scope/src/scope.c:72
      #, fuzzy
      msgid "Show terminal"
      msgstr "Executar nun terminal"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      #, fuzzy
      msgid "Load"
      msgstr "_Carga"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      #, fuzzy
      msgid "Breaks"
      msgstr "Puntos de interrupción"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Console"
      msgstr "Consola:"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Debug Console"
      msgstr "Consola:"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr ""
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      #, fuzzy
      msgid "Send Signal"
      msgstr "Enviar por correo"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr ""
      
      #: ../scope/src/thread.c:892
      #, fuzzy
      msgid "Running"
      msgstr "Executando"
      
      #: ../scope/src/thread.c:893
      #, fuzzy
      msgid "Stopped"
      msgstr "Detido"
      
      #: ../scope/src/utils.c:37
      #, fuzzy, c-format
      msgid "%s: %s."
      msgstr "%s:%u:%u: %s"
      
      #: ../scope/src/utils.c:45
      #, fuzzy, c-format
      msgid "%s: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr ""
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr ""
      
      #: ../scope/src/views.c:558
      #, fuzzy
      msgid "GDB Command"
      msgstr "Orde 0:"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "Probe:"
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "Verificando..."
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Verificando o ficheiro\"%s\" (liñas %d a %d, usando %s):"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Verificando o ficheiro \"%s\" (usando %s):"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "O texto verificado non ten erros ortográficos"
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Non se puido iniciar a biblioteca Enchant (%s)."
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      "Produciuse un erro descoñecido (poida que o idioma escollido non estea "
      "dispoñíbel)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "Verificación ortográfica"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Verifica a ortografía do documento actual."
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "Executar a verificación ortográfica"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "Intercambiar a verificación mentres se escribe"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Seleccionar directorio"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr ""
      "Mostrar un elemento na barra de ferramentas para intercambiar a verificación "
      "ortográfica"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      "Mostrar un elemento no menú do editor para mostrar suxestións ortográficas"
      
      #: ../spellcheck/src/scplugin.c:294
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Mostrar un elemento de menú para \"Abrir URI\" no menú do editor"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Imprimir os erros ortográficos e suxestións na xanela de mensaxes"
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Verificar a ortografía mentres se escribe"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Verificar a ortografía mentres se escribe"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "Idioma a empregar na comprobación ortográfica:"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "_Directorio no que buscar ficheiros de diccionario:"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Ler ficheiros de diccionario adicionais neste directorio. Polo de agora, "
      "isto só funciona con diccionarios myspell"
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "A verificación ortográfica mentres se escribe está agora habilitada"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "A verificación ortográfica mentres se escribe está agora deshabilitada"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Máis..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(Non hai recomendacións)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Engadir \"%s\" ó Diccionario"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Ignorar Todo"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "O termo de busca é demasiado longo para fornecer\n"
      "suxestións ortográficas no menú do editor."
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Efectuar a verificación ortográfica"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Predeterminado (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      "Intercambiar a verificación ortográfica mentres se escribe (o idioma actual "
      "é: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Recomendacións de Ortografía"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "DEsprazar columna"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "Desprazar unha selección á dereita e á esquerda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "DEsprazar á esquerda"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "Desprazar á dereita"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:329
      #, fuzzy
      msgid "Convert selection to table"
      msgstr "Formatar a selección aliñándoa á esquerda"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr ""
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:127
      #, fuzzy
      msgid "TreeBrowser"
      msgstr "Explorador en árbore"
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:433
      #, fuzzy, c-format
      msgid "%s: no such directory."
      msgstr "%s: non hai tal ficheiro ou directorio"
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      #, fuzzy
      msgid "(Empty)"
      msgstr "Baleiro"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Non foi posíbel executar a orde externa configurada '%s' (%s)"
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "NovoDirectorio"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "NovoFicheiro"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Está seguro de que desexa borrar '%s' ?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Subir"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Definir camiño a partir de documento"
      
      #: ../treebrowser/src/treebrowser.c:1216
      #, fuzzy
      msgid "_Open externally"
      msgstr "Abrir externamente"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Abrir terminal"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Definir como raíz"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Actualizar"
      
      #: ../treebrowser/src/treebrowser.c:1234
      #, fuzzy
      msgid "_Find in Files"
      msgstr "Procurar en todo o proxecto "
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Crear un directorio novo"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Crear un ficheiro novo"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Borrar"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Pechar: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, fuzzy, c-format
      msgid "Close Child Documents "
      msgstr "Pec_har os outros documentos"
      
      #: ../treebrowser/src/treebrowser.c:1273
      #, fuzzy
      msgid "_Copy full path to clipboard"
      msgstr "Copiar o camiño completo"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Contraer todos"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Mostrar os ficheiros ocultos"
      
      #: ../treebrowser/src/treebrowser.c:1303
      #, fuzzy
      msgid "Show toolbars"
      msgstr "Mostrar barras"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Inicio"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr "RExistrar camiño"
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "Ocultar barras"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      "Filtrar (*.c;*.h;*.cpp), e se quere filtrar temporalmente usando o '!' "
      "inverso. Por exemplo pode probar o seguinte: '!;*.c;*.h;*.cpp'"
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barra de enderezo, por exemplo '/proxectos/o-meu-proxecto'"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr "Explorador en árbore"
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Orde externa para abrir"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "A orde a executar ao usar \"Abrir con\". Pode empregaros comodíns %f and "
      "%d.\n"
      "%f substituirase polo nome do ficheiro incluíndo o camiño completo\n"
      "%d substiruirase polo camiño ao ficheiro seleccionado, sen o nome de ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1983
      #, fuzzy
      msgid "If position is changed, the option require plugin restart."
      msgstr "Mostrar barras no alto (require o reinicio do complemento)"
      
      #: ../treebrowser/src/treebrowser.c:1987
      #, fuzzy
      msgid "Show icons"
      msgstr "Mostrar iconas."
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1990
      #, fuzzy
      msgid "Base"
      msgstr "_Base:"
      
      #: ../treebrowser/src/treebrowser.c:1991
      #, fuzzy
      msgid "Content-type"
      msgstr "Contidos"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      "En windows, isto simplemente oculta os ficheiros que leven por prefixo un "
      "punto ('.')"
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Ocultar ficheiros obxecto"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Non mostrar ficheiros obxecto no navegador de ficheiros. Isto inclúe *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "Inverter o filtro"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "Seguir o documento actual"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr "Un só click abre o documento e enfñocase nel"
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Premer dúas veces para abrir directorio"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "Ao borrar un ficheiro, pechalo se está aberto"
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "Mostrar as liñas da árbore"
      
      #: ../treebrowser/src/treebrowser.c:2053
      #, fuzzy
      msgid "Open new files"
      msgstr "Abrir ficheiro"
      
      #: ../treebrowser/src/treebrowser.c:2129
      #, fuzzy
      msgid "Focus File List"
      msgstr "Enfocar na lista de tarefas"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2133
      #, fuzzy
      msgid "Rename Object"
      msgstr "Renomear"
      
      #: ../treebrowser/src/treebrowser.c:2135
      #, fuzzy
      msgid "Create New File"
      msgstr "Crear un ficheiro novo"
      
      #: ../treebrowser/src/treebrowser.c:2137
      #, fuzzy
      msgid "Create New Directory"
      msgstr "Crear un directorio novo"
      
      #: ../updatechecker/src/updatechecker.c:41
      #, fuzzy
      msgid "Updatechecker"
      msgstr "Act_ualizar"
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:15
      #, fuzzy
      msgid "message-window"
      msgstr "_Ocultar a xanela de mensaxes"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      #, fuzzy
      msgid "sidebar"
      msgstr "_Ocultar a barra lateral"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:48
      #, fuzzy
      msgid "normal"
      msgstr "Tamaño normal"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr ""
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "Enfocar na lista de marcadores"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      #, fuzzy
      msgid "Flip panes orientation"
      msgstr "Orientación do papel:"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:958
      #, fuzzy
      msgid "Cancel loading"
      msgstr "Codificación:"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Mostrar marcadores"
      
      #: ../webhelper/src/gwh-plugin.c:335
      #, fuzzy
      msgid "Browser orientation"
      msgstr "Orientación do papel:"
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      #, fuzzy
      msgid "Browser"
      msgstr "Explorador en árbore"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Program received a signal"
      #~ msgstr "O programa recibiu o sinal:"
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "Plugin para proporcionar maior compatibilidade con LaTeX"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "Produciuse un erro ao configurar o idioma para a verificación "
      #~ "ortográfica. Verifique a súa configuración. A mensaxe de erro foi: %s"
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Procurar en todo o proxecto "
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "Ocultar ficheiros obxecto"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Este plugin engade características que facilitan a navegación entre "
      #~ "ficheiros fonte.\n"
      #~ "Polo de agora, implementa:\n"
      #~ "- Cambiar entre un ficheiro .cpp e o seu correspondente ficheiro .h\n"
      #~ "- [Abrir un ficheiro tecleando o seu nome -> PENDENTE]"
      
      #~ msgid "Goto file"
      #~ msgstr "Ir ao ficheiro"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Dende o plugin %s)"
      
      #, fuzzy
      #~ msgid "GProject"
      #~ msgstr "Proxecto"
      
      #, fuzzy
      #~ msgid "No update available"
      #~ msgstr "Non hai historial dispoñíbel"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "Engadiuse un punto de interrupción #%s en %s() en %s:%s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "Engadiuse un punto de interrupción #%s en %s:%s\n"
      
      #~ msgid "Added write watchpoint #%s for %s\n"
      #~ msgstr "Engadiuse un punto de vixilancia de escritura #%s para %s\n"
      
      #~ msgid "Added read/write watchpoint #%s for %s\n"
      #~ msgstr "Engadiuse un punto de vixilancia de lectura/escritura #%s para %s\n"
      
      #~ msgid "Added read watchpoint #%s for %s\n"
      #~ msgstr "Engadiuse un punto de vixilancia de lectura #%s para %s\n"
      
      #~ msgid "Watch/breakpoint deleted.\n"
      #~ msgstr "Punto de vixilancia/ruptura borrado.\n"
      
      #~ msgid "Failed to toggle breakpoint -\n"
      #~ msgstr "Produciuse un erro ao intercambiar o punto de ruptura -\n"
      
      #~ msgid "Watch/breakpoint toggled.\n"
      #~ msgstr "Intercambiouse o punto de vixilancia/ruptura.\n"
      
      #~ msgid "Watch/breakpoint modified.\n"
      #~ msgstr "Modificouse o punto de vixilancia/ruptura.\n"
      
      #~ msgid "Failed to retrieve source search path setting from GDB."
      #~ msgstr ""
      #~ "Non foi posíbel recuperar a configuración da ruta de busca no código "
      #~ "fonte desde GDB."
      
      #~ msgid "Failed to retrieve executable search path setting from GDB."
      #~ msgstr ""
      #~ "Non foi posíbel recuperar a configuración da ruta de busca no executábel "
      #~ "desde GDB."
      
      #~ msgid "Failed to retrieve working directory setting from GDB."
      #~ msgstr ""
      #~ "Non foi posíbel recuperar a configuración do directorio de traballo desde "
      #~ "GDB."
      
      #~ msgid "Field list too long, not all items can be displayed.\n"
      #~ msgstr ""
      #~ "A lista de campos é demasiado longa. Non se pode mostrar todos os "
      #~ "elementos.\n"
      
      #~ msgid "Error starting target process!\n"
      #~ msgstr "Produciuse un erro ao iniciar o proceso destino!\n"
      
      #~ msgid ""
      #~ "This executable does not appear to contain the required debugging "
      #~ "information."
      #~ msgstr ""
      #~ "Parece que este executábel non contén a información requirida para a "
      #~ "depuración."
      
      #~ msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
      #~ msgstr "O programa recibiu o sinal %s (%s) en %s na función %s() en %s:%s"
      
      #~ msgid "Program exited on signal %s (%s).\n"
      #~ msgstr "O programa rematou co sinal %s (%s).\n"
      
      #~ msgid "Unknown signal"
      #~ msgstr "Sinal descoñecido"
      
      #~ msgid "Program exited with code %d [%s]\n"
      #~ msgstr "O programa rematou co código %d [%s]\n"
      
      #~ msgid "(unknown)"
      #~ msgstr "(descoñecido)"
      
      #~ msgid "Program exited normally.\n"
      #~ msgstr "O programa finalizou con normalidade.\n"
      
      #~ msgid "tty temporary directory not specified!\n"
      #~ msgstr "Non se especificou o directorio temporal de tty!\n"
      
      #~ msgid "tty helper program not specified!\n"
      #~ msgstr "Non se especificou o programa de axuda de tty!\n"
      
      #~ msgid "tty helper program not found!\n"
      #~ msgstr "Non se atopou  o programa de axuda de tty!\n"
      
      #~ msgid "Attaching to terminal %s\n"
      #~ msgstr "Anexando ao terminal %s \n"
      
      #~ msgid "Timeout waiting for TTY name.\n"
      #~ msgstr "Esgotouse o tempo de espera polo nome de TTY.\n"
      
      #~ msgid "GDB exited (pid=%d)\n"
      #~ msgstr "GDB rematou (pid=%d)\n"
      
      #~ msgid "Target process exited. (pid=%d; %s%s)\n"
      #~ msgstr "O proceso destino rematou. (pid=%d; %s%s)\n"
      
      #~ msgid "code="
      #~ msgstr "Código="
      
      #~ msgid "reason:"
      #~ msgstr "Razón:"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "Rematando o programa destino.\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "Matando o programa destino.\n"
      
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "Rematou o tempo de espera polo proceso destino.\n"
      
      #~ msgid "Using a bigger hammer!\n"
      #~ msgstr "Usaremos un martelo máis grande!\n"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "Esperando a que remate o proceso destino.\n"
      
      #~ msgid "Killing GDB (pid=%d)\n"
      #~ msgstr "Matando GDB (pid=%d)\n"
      
      #~ msgid "Timeout trying to kill GDB.\n"
      #~ msgstr "Rematou o tempo de espera tentando matar GDB.\n"
      
      #~ msgid "Shutting down GDB\n"
      #~ msgstr "Pechando o GDB\n"
      
      #~ msgid "Waiting for GDB to exit.\n"
      #~ msgstr "Esperando a que remate GDB.\n"
      
      #~ msgid "Timeout waiting for GDB to exit.\n"
      #~ msgstr "Rematou o tempo de espera para que GDB rematara.\n"
      
      #~ msgid "Starting gdb (pid=%d)\n"
      #~ msgstr "Iniciando gdb (pid=%d)\n"
      
      #~ msgid "Started target process. (pid=%d)\n"
      #~ msgstr "Iniciouse o proceso destino. (pid=%d)\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "Non hai ningún %s seleccionado"
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "Borrar o punto de vixilancia seleccionado?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "Borrar o punto de ruptura seleccionado?"
      
      #~ msgid "Enabled"
      #~ msgstr "Activado"
      
      #, fuzzy
      #~ msgid " times."
      #~ msgstr "veces."
      
      #, fuzzy
      #~ msgid " is true."
      #~ msgstr " é verdadeiro/certo."
      
      #~ msgid "Watchpoints"
      #~ msgstr "Puntos de vixilancia"
      
      #~ msgid "Environment settings"
      #~ msgstr "Configuración do contorno"
      
      #~ msgid ""
      #~ "\n"
      #~ " Command-line arguments passed to target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Argumentos da liña de ordes pasados ao programa destino:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ " Ruta de busca para ficheiros fonte:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Working directory for target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Directorio de traballo para o programa destino:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ " Ruta de busca para executábeis:"
      
      #~ msgid "Keep debug window on top."
      #~ msgstr "_anter a xanela de depuración en primeiro plano."
      
      #~ msgid "Show icons."
      #~ msgstr "Mostrar iconas."
      
      #~ msgid "Font for source code listings:"
      #~ msgstr "Tipografía para os listados de código fonte:"
      
      #~ msgid "Terminal program:"
      #~ msgstr "Programa emulador de terminal:"
      
      #~ msgid "_Examine"
      #~ msgstr "_Examinar"
      
      #~ msgid "Elements"
      #~ msgstr "Elementos"
      
      #~ msgid "Fields"
      #~ msgstr "Campos"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "Volver ó diálogo anterior"
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "Mostrar información adicional sobre o elemento seleccionado."
      
      #~ msgid ""
      #~ "\n"
      #~ "Frame #%s in %s() at %s:%s\n"
      #~ msgstr ""
      #~ "\n"
      #~ "Cadro #%s en %s() en %s:%s\n"
      
      #~ msgid "Function arguments"
      #~ msgstr "Argumentos da función"
      
      #~ msgid "Local variables"
      #~ msgstr "Variábeis locais"
      
      #~ msgid "Return to stack list dialog."
      #~ msgstr "Voltar ao diálogo da lista da pila."
      
      #~ msgid "Stack trace"
      #~ msgstr "Traza da pila"
      
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "Mostrar información adicional sobre o marco seleccionado."
      
      #~ msgid "Clea_r"
      #~ msgstr "Limpa_r"
      
      #~ msgid "Filename: "
      #~ msgstr "Nome de ficheiro: "
      
      #~ msgid "Variable to watch:"
      #~ msgstr "Variábel para vixiar:"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "Número de liña ou nome de función:"
      
      #~ msgid "(no program)"
      #~ msgstr "(sen programa)"
      
      #~ msgid "loaded"
      #~ msgstr "Cargado"
      
      #~ msgid "starting"
      #~ msgstr "Iniciando"
      
      #~ msgid "paused"
      #~ msgstr "En pausa"
      
      #~ msgid "Error:"
      #~ msgstr "Erro:"
      
      #~ msgid "Select executable to debug"
      #~ msgstr "Seleccione un executábel para depurar"
      
      #~ msgid "Debugging of object files is not supported."
      #~ msgstr "Non hai compatibilidade para a depuración de ficheiros obxecto."
      
      #~ msgid "You don't have permission to execute this file."
      #~ msgstr "Non ten permisos para executar este ficheiro."
      
      #~ msgid "Debugging of shared libraries is not supported."
      #~ msgstr ""
      #~ "Non hai compatibilidade para a depuración de bibliotecas compartidas"
      
      #~ msgid "Debugging of core files id not supported."
      #~ msgstr "Non hai compatibilidade para a depuración de ficheiros core."
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr "O ficheiro destino debe ser un executábel ELF de 32 bits x86"
      
      #~ msgid "You don't have permission to read this file."
      #~ msgstr "Non ten permisos para ler este ficheiro."
      
      #~ msgid "Execute target program inside a terminal window."
      #~ msgstr "Executar o programa destino dentro dunha xanela de terminal."
      
      #~ msgid "Ignore SIGPIPE"
      #~ msgstr "Ignorar SIGPIPE"
      
      #~ msgid ""
      #~ "Don't pause execution when target gets a SIGPIPE signal.\n"
      #~ "(Useful for certain networking applications.)"
      #~ msgstr ""
      #~ "Non deter a execución cando o obxectivo reciba un sinal SIGPIPE.\n"
      #~ "(Útil para certos aplicativos en rede.)"
      
      #~ msgid "Send a GDB command directly to the debugger."
      #~ msgstr "Enviar unha orde de GDB directamente ao depurador."
      
      #~ msgid "_Quit"
      #~ msgstr "_Saír"
      
      #~ msgid "Exit everything"
      #~ msgstr "Saír de todo"
      
      #~ msgid "GeanyGDB"
      #~ msgstr "GeanyGDB"
      
      #~ msgid "Integrated debugging with GDB."
      #~ msgstr "Depuración con GDB integrada."
      
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr "Non foi posíbel crear o directorio de configuración do plugin (%s)."
      
      #~ msgid "geanygdb: ttyhelper program not found."
      #~ msgstr "geanygdb: non se atopou o programa ttyhelper"
      
      #, fuzzy
      #~ msgid "Seach for:"
      #~ msgstr "Elementos de busca:"
      
      #, fuzzy
      #~ msgid "Error reading config file"
      #~ msgstr "Forzar a recarga dos ficheiros de configuración"
      
      #, fuzzy
      #~ msgid "Couldn't create tempfile"
      #~ msgstr "Crear un ficheiro novo"
      
      #~ msgid "Lionel Fuentes"
      #~ msgstr "Lionel Fuentes"
      
      #~ msgid "Yura Siamshka "
      #~ msgstr "Yura Siamshka "
      
      #~ msgid ":  "
      #~ msgstr ":  "
      
      #~ msgid "Jeff Pohlmeyer, Dominic Hopf"
      #~ msgstr "Jeff Pohlmeyer, Dominic Hopf"
      
      #~ msgid ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      #~ msgstr ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      
      #~ msgid "Yura Siamashka "
      #~ msgstr "Yura Siamashka "
      
      #~ msgid "Conference"
      #~ msgstr "Conferencia"
      
      #~ msgid "Unpublished"
      #~ msgstr "Inédito"
      
      #~ msgid "Showing icon in toolbar"
      #~ msgstr "Mostrar unha icona na barra de ferramentas"
      
      #~ msgid "The Geany developer team"
      #~ msgstr "O equipo de desenvolvemento de Geany"
      
      #~ msgid "Treeview filebrowser plugin."
      #~ msgstr "Complemento de explorador de ficheiros con vista en árbore."
      
      #~ msgid "Directory '%s' not exists."
      #~ msgstr "O directorio '%s' non existe."
      
      #~ msgid "Default directory deep to fill"
      #~ msgstr "Profundidade de directorio a encher de xeito predeterminado"
      
      #~ msgid "How many folders will opened and store in tree"
      #~ msgstr "Cantos directorios se abrirán e gardarán na árbore"
      
      #~ msgid "On expand, refresh directory view"
      #~ msgstr "Ao expandir, recargar a vista do directorio"
      
      #~ msgid "Code Navigation plug-in configuration"
      #~ msgstr "Configuración do plugin de navegación polo código"
      
      #~ msgid "Load target program into debugger."
      #~ msgstr "Cargar o programa destino no depurador."
      
      #~ msgid "Kill the target program AND the debugger."
      #~ msgstr "Matar o programa destino E MÁIS o depurador."
      
      #~ msgid "Execute target program in debugger."
      #~ msgstr "Executar o programa destino no depurador."
      
      #, fuzzy
      #~ msgid "_Kill"
      #~ msgstr "E_liminar"
      
      #~ msgid "Kill the target program with SIGKILL."
      #~ msgstr "Matar o programa destino con SIGKILL."
      
      #~ msgid "Pause the target program with SIGINT."
      #~ msgstr "Deter o programa destino con SIGINT."
      
      #~ msgid "Continue executing target program."
      #~ msgstr "Continuar a execución do programa destino."
      
      #~ msgid "Step to the next line or function call."
      #~ msgstr "Pasar á seguinte liña ou chamada de función."
      
      #~ msgid "Execute the next machine instruction or function call."
      #~ msgstr "Executar a seguinte instrución máquina ou chamada de función."
      
      #, fuzzy
      #~ msgid "Ne_xt in"
      #~ msgstr "_Buscar seguinte"
      
      #~ msgid "Execute the next machine instruction."
      #~ msgstr "Executar a seguinte instrución máquina."
      
      #~ msgid "Run to specified source line."
      #~ msgstr "Executar ata a liña de código especificada."
      
      #, fuzzy
      #~ msgid "Add or remove watchpoints."
      #~ msgstr "Engadir ou eliminar as codificacións do terminal"
      
      #, fuzzy
      #~ msgid "_Finish"
      #~ msgstr "Rematar"
      
      #, fuzzy
      #~ msgid "_Return"
      #~ msgstr "Intro"
      
      #, fuzzy
      #~ msgid "En_viron"
      #~ msgstr "Re_alzar"
      
      #~ msgid "Set user interface options."
      #~ msgstr "Configurar opcións da interface de usuario."
      geany-plugins-1.27/po/ChangeLog0000644000175000017500000002235212671261352016714 0ustar00frlanfrlan000000000000002012-01-21  Frank Lanitz  
      
       * nl.po: Update of Dutch translation, provided by Peter Scholtens.
      
      
      2011-11-06  Frank Lanitz  
      
       * ja.po: Update of Japanese translation. Thanks to Masami Chikahiro.
      
      
      2011-10-30  Frank Lanitz  
      
       * Geany-Plugins 0.21.1.
      
      
      2011-10-23  Frank Lanitz  
      
       * Geany-Plugins 0.21.
      
      
      2011-10-22  Frank Lanitz  
      
       * de.po: Update of German translation.
       * es.po: Update of Spanish translation. Thanks to André Glória.
       * pt.po: Update of Portuguese translation. Thanks to Lucas Vieites.
      
      
      2011-10-20  Colomban Wendling  
      
       * fr.po: Small update of French translation.
      
      
      2011-10-19  Frank Lanitz  
      
       * de.po: Little update of German translation.
      
      
      2011-10-16  Frank Lanitz  
      
       * pt.po: Update of Portuguese translation. Thanks to André Glória.
      
      
      2011-10-14  Colomban Wendling  
      
       * fr.po: Update of French translation.
      
      
      2011-10-13  Frank Lanitz  
      
       * tr.po: Update of Turkish translation. Thanks to Gürkan Gür.
      
      
      2011-10-09  Frank Lanitz  
      
       * de.po: Small update of German translation.
      
      
      2011-10-03  Frank Lanitz  
      
       * *.po: Update of catalogs for string freeze in preparation of 0.21 release.
       * de.po: Update of German translation.
       * POTFILES.in: Adding another file for devhelp plugin to list of
                      translatable files.
      
      
      2011-10-02  Frank Lanitz  
      
       * nl.po: Update of Dutch translation. Thanks to Peter Scholtens
                and Hans Alves.
      
      
      2011-09-25  Frank Lanitz  
      
       * POTFILES.in: Update of file list for changes on Debugger-plugin.
      
      
      2011-09-15  Frank Lanitz  
      
       * nl.po: Update of Dutch translation. Thanks to Peter Scholtens
                and Hans Alves.
      
      
      2011-08-22  Frank Lanitz  
      
       * POTFILES.in: Added new files of debugger plugin.
      
      
      2011-08-15  Frank Lanitz  
      
       * de.po: Minimal update of German translation.
      
      
      2011-08-15 Hans Alves 
      
       * es.po Minor adjustment on translation.
       * added nl.po with dutch translation of geanypg
      
      
      2011-08-14 Hans Alves 
      
       * POTFILES.in changed geanypg/src/aux.c to geanypg/src/helper_functions.c
       * es.po: added spanish translation for geanypg
      
      
      2011-06-22  Frank Lanitz  
      
       * de.po: Minimal update of German translation.
       * POTFILES.in: Extend list of files a bit.
      
      
      2011-04-17  Frank Lanitz  
      
       * POTFILES.in: Add GeanyMacro and GeanyNumberedBookmarks to list of
                      translatable files.
      
      
      2011-03-07  Frank Lanitz  
      
       * POTFILES.in: Add devhelp plugin to list of translatable files.
      
      
      2011-03-05  Frank Lanitz  
      
       * POTFILES.in: Add geanyPG to list translatable files.
      
      
      2011-01-12  Frank Lanitz  
      
       * de.po: Minor adjustment on translation.
      
      
      2011-01-09  Frank Lanitz  
      
       * de.po: Update of German translation based on review by Dominic Hopf.
      
      
      2011-01-02  Frank Lanitz  
      
       * pt.po: Update of Portuguese translation. Thanks to André Glória.
       * de.po: Update of German translation.
      
      
      2010-12-29  Frank Lanitz  
      
       * es.po: Update of Spanish translation provided by Lucas Vieites. Thanks.
      
      
      2010-12-27  Frank Lanitz  
      
       * de.po: Update of German translation.
      
      
      2010-12-24  Frank Lanitz  
      
       * ja.po: Update of Japanese translation. Thanks to Masami Chikahiro.
      
      
      2010-12-19  Frank Lanitz  
      
       * *.po: Update of po files for string freeze of geany-plugins 0.20.
      
      
      2010-12-15  Frank Lanitz  
      
       * es.po: Update of Spanish translation provided by Lucas Vieites. Thanks.
       * tr.po: Update of Turkish translation. Thanks to Gürkan Gür.
      
      
      2010-11-21  Frank Lanitz  
      
       * de.po: Update of German translation for newly added GeanyLaTeX strings.
      
      
      2010-11-16  Frank Lanitz  
      
       * de.po: Minor update of German translation.
      
      
      2010-10-23  Frank Lanitz  
      
       * de.po: Minor update of German translation.
      
      
      2010-10-08  Frank Lanitz  
      
       * de.po: Update of German translation.
      
      
      2010-09-13  Frank Lanitz  
      
       * de.po: Update of German translation for BibTeX entries.
      
      
      2010-08-26  Frank Lanitz  
      
       * de.po: Minor update of German translation.
      
      
      2010-08-23  Frank Lanitz  
      
       * de.po: Update of German translation with new strings for Updatechecker
                plugin.
      
      
      2010-06-26  Frank Lanitz  
      
       * de.po: Fix some fuzzy strings.
      
      
      2010-06-13  Frank Lanitz  
      
       * Release of Geany-Plugins 0.19
      
      
      2010-06-12  Frank Lanitz  
      
       * de.po: Update of German translation.
      
      
      2010-06-07  Frank Lanitz  
      
       * ja.po: Update of Japanese translation. Thanks to Masami Chikahiro.
       * pt_BR.po: Update of Brasilian Portuguese translation. Thanks to
         Adrovane Marques Kade.
      
      
      2010-06-06  Frank Lanitz  
      
       * gl.po: Added Galician translation. Thanks to Jose Manuel Castroagudin
                for sending the patch.
      
      
      2010-06-03  Frank Lanitz  
      
       * de.po: Minor update of German translation
       * tr.po: Update of Turkish translation. Thanks to Türkan Gür.
      
      
      2010-06-01  Frank Lanitz  
      
       * pt.po: Update of Portuguese translation. Thanks to André Glória.
      
      
      2010-05-26  Frank Lanitz  
      
       * de.po: Update of german translation.
      
      
      2010-05-23  Frank Lanitz  
      
       * *.po, geany-plugins.pot:
         Update of translation files for geany-plugins 0.19 release.
      
      
      2010-04-14  Frank Lanitz  
      
       * POTFILES.in:
         Add treebrowser plugin to list of translatable files
      
      
      2009-10-30  Frank Lanitz  
      
       * LINGUAS, zh_CN.po: Add Chinese Simplified translations.
         Thanks to Xhacker Liu.
      
      
      2009-10-18  Frank Lanitz  
      
       * ca.po, LINGUAS: Added Catalan translation. Thanks to Toni Garcia-Navarro
         for providing.
       * tr.po: Update of Turkish translation. Thanks to Türkan Gür.
      
      
      2009-10-17  Frank Lanitz  
      
       * intl_stats.sh: Add i18n-stats script copied from Geany.
       * ja.po: Update of Japanese translation. Thanks to Masami Chikahiro.
       * pt_BR.po: Update of Brasilian Portuguese translation. Thanks to
         Adrovane Marques Kade.
       * pt_PT.po: Update of Portuguese translation. Thanks to André Glória.
       * pt.po/pt_PT.po: Rename Portuguese translation to just pt.po.
      
      
      2009-10-12  Frank Lanitz  
      
       * de.po: Update of German translation. Thanks to Dominic Hopf for
         reviewing and updating.
      
      
      2009-10-07  Frank Lanitz  
      
       * es.po: Update of Spanish translation mostly for addons plugin.
         Thanks to Lucas Vieites.
      
      
      2009-10-03  Frank Lanitz  
      
       * *.po, geany-plugins.pot:
         Update of translation files and catalog with current strings.
      
      
      2009-10-02  Frank Lanitz  
      
       * de.po: Update of German translation.
      
      
      2009-08-08  Frank Lanitz  
      
       * tr.po: Update of Turkish translation. Thanks to Türkan Gür.
      
      
      2009-07-26  Frank Lanitz  
      
       * pt_BR.po, LINGUAS:
         Added Brasilian Portuguese translation.
         (Thanks to Adrovane Marques Kade).
      
      
      2009-07-30  Masami Chikahiro  ,
      
       * ja.po:
         Update of Japanese translation.
      
      
      2009-07-26  Frank Lanitz  
      
       * ja.po, LINGUAS:
         Update of Japanese translation. Thanks to Chikahiro Masami.
      
      
      2009-07-19  Frank Lanitz  
      
       * ja.po, LINGUAS:
         Adding of Japanese translation. Thanks to Chikahiro Masami.
      
      
      2009-07-13  Frank Lanitz  
      
       * tr.po: Update of Turkish translation. Thanks to Türkan Gür.
      
      
      2009-07-07  Frank Lanitz  
      
       * tr.po: Update of Turkish translation. Thanks to Türkan Gür.
      
      
      2009-07-04  Frank Lanitz  
      
       * fr.po: Update of French translation. Thanks to Lionel Fuentes.
      
      
      2009-06-28  Frank Lanitz  
      
       * tr.po, LINGUAS:
         Add Turkish translation. Thanks to Gürkan Gür.
      
      
      2009-06-27  Frank Lanitz  
      
       * de.po: Minor update of German translation.
      
      
      2009-06-11  Enrico Tröger  
      
       * geany-plugins.pot, LINGUAS, *.po:
         Add ChangeLog.
         Fix headers of the existing translations.
         Merge all existing translations into the catalogues and update them.
         Fix wrong language code in the filename of the Danish translation.
      geany-plugins-1.27/po/fr.po0000644000175000017500000066412412671261352016122 0ustar00frlanfrlan00000000000000# French translation for geany-plugins
      # Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      # Burlot Pascal , 2009.
      # Lionel Fuentes , 2009
      # Colomban Wendling , 2011, 2013.
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2016-03-13 04:35+0100\n"
      "Last-Translator: Colomban Wendling \n"
      "Language-Team: French \n"
      "Language: fr\n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "Plural-Forms: s;\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Ligne vide)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "_Supprimer le marque-page"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "N°"
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "Contenu"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Marque-pages"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "Mettre à jo_ur"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "Cac_her la fenêtre de messages"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Fichier"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Ligne"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Type"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Tâche"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Tâches"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "Contexte :"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Nom du tag à insérer :"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, fuzzy, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "%s sera remplacé par la sélection actuelle.  Veuillez faire attention à votre "
      "sélection"
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Ouvrir une URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Copier une URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      msgid "Enclose Characters"
      msgstr "Caractères d'entourage"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr "Valider"
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "Annuler"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr "OK"
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr "Combinaison d'entourage %d"
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "Caractère ouvrant"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "Caractère fermant"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Fermer les _autres documents"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "_Fermer tout"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Montrer la liste des documents"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Le chemin « %s » a été copié dans le presse-papier."
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr "Copier le chemin du fichier"
      
      #: ../addons/src/ao_copyfilepath.c:122
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Copie le chemin du document courant dans le presse-papier"
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Additions"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Diverses petites additions pour Geany"
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "Donner le focus à la liste de marque-pages"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "Donner le focus à la liste de tâches"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "Mettre la liste de tâches à jour"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr "Lancer le taggage XML"
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "Le répertoire de configuration du plugin n'a pas pu être créé."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      "Afficher l'élément de barre d'outils pour afficher la liste des documents "
      "ouverts"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr "Trier les documents par _nom"
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr "Trier les documents de la liste par le nom du fichier"
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr "Trier les documents par ordre d'_apparition"
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Trier les documents dans l'ordre des onglets"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr "Trier les documents par ordre d'_apparition (inversé)"
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr "Trier les documents dans l'ordre des onglets (inversé)"
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "Montrer une commande « Ouvrir l'URI » dans le menu de l'éditeur"
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "Montrer les tâches disponibles dans la fenêtre des messages"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "Montrer les tâches de tous les documents"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      "Choisit s'il faut montrer les tâches de tous les documents ouverts ou "
      "seulement celles du document courant."
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr "Liste de mots à chercher, séparés par un point-virgule."
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr "Mots à rechercher :"
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "Montrer l'icône d'état dans la zone de notification"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "Afficher les marque-pages (lignes marquées) dans la barre latérale"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr "Marquer toutes les occurrences d'un mot lors d'un double-clic"
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr "Supprimer les lignes vides à la fin du document"
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr "Taggage XML de la sélection"
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr "Entourer la sélection avec des raccourcis configurables"
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr "Configurer les paires d'entourage"
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      "Entourer la sélection automatiquement (sans avoir à utiliser de raccourci)"
      
      #: ../autoclose/src/autoclose.c:50
      #, fuzzy
      msgid "Auto-close"
      msgstr "Fermeture automatique"
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr "Ferme automatiquement les parenthèses, accolades et autres"
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr "Fermeture automatique des guillemets et parenthèses"
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr "Parenthèses ( )"
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr "Fermer les parenthèses automatiquement \"(\" -> \"(|)\""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr "Accolades { }"
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr "Fermer les accolades automatiquement \"{\" -> \"{|}\""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr "Crochets [ ]"
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr "Fermer les crochets automatiquement \"[\" -> \"[|]\""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr "Chevrons < >"
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr "Fermer les chevrons automatiquement \"<\" -> \"<|>\""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr "\tSeulement pour HTML"
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr "Ne fermer les chevrons automatiquement que pour les documents HTML"
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr "Guillemets doubles \" \""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr "Fermer les guillemets doubles automatiquement \" -> \"|\""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr "Guillemets simples ' '"
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr "Fermer les guillemets simples automatiquement ' -> '|'"
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr "Fermer les backquote automatiquement ` -> `|`"
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr "\tSeulement pour les scripts Shell (Bash)"
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      "Ne fermer les chevrons automatiquement que dans les scripts Shell comme Bash"
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr "Améliorer la complétion des accolades"
      
      #: ../autoclose/src/autoclose.c:1058
      msgid "Indent when enclosing"
      msgstr "Indenter lors de l'entourage"
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      "Si vous sélectionnez du texte et pressez « { » ou « } », le plugin va "
      "entourer les lignes et créer un nouveau bloc indenté.\n"
      "Vous n'avez pas besoin de sélectionner le bloc très précisément : "
      "l'entourage se fera sur des lignes entières."
      
      #: ../autoclose/src/autoclose.c:1064
      msgid "Move cursor to beginning"
      msgstr "Déplacer le curseur au début"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      "Si vous sélectionnez « Indenter lors de l'entourage », déplacer le curseur "
      "au début peut être pratique : généralement lorsque vous créez un nouveau "
      "bloc vous devez ajouter une nouvelle instruction avant ce bloc."
      
      #: ../autoclose/src/autoclose.c:1068
      msgid "Improved auto-indentation"
      msgstr "Indentation automatique améliorée"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      "Indentation automatique améliorée pour les accolades : taper « { » suivi "
      "d'Entrée créera un nouveau bloc complet et indenté. Fonctionne séparément de "
      "la fermeture automatique des accolades."
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr "\tStyle Whitesmith"
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      "Ce style place l'accolade associée à une instruction de contrôle indentée "
      "sur la ligne suivante. Les instructions à l'intérieur des accolades sont "
      "indentées au même niveau que les accolades."
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr "Supprimer la paire avec retour arrière"
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr "Supprime la paire de caractère complète avec retour arrière."
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr "Supprimer les doubles complétions"
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      "Évite les complétions redondantes : si vous tapez « {} » vous obtenez « {} » "
      "et non « {}} »."
      
      #: ../autoclose/src/autoclose.c:1084
      msgid "Enclose selections"
      msgstr "Entourer la sélection"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      "Entourer automatiquement le texte sélectionné en tapant simplement l'un des "
      "caractères de la paire."
      
      #: ../autoclose/src/autoclose.c:1087
      msgid "Keep selection when enclosing"
      msgstr "Garder la sélection lors de l'entourage"
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr "Garder le texte précédemment sélectionné après l'entourage"
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr "Comportement dans les commentaires et les chaînes"
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr "Autoriser la fermeture automatique"
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      "Active la fermeture automatique aussi dans les chaînes et les commentaires."
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr "Entourer les sélections"
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr "Active l'entourage aussi dans les chaînes et les commentaires."
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr "Compléter automatiquement « ; » pour les fonctions"
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      "Fermeture automatique complète des fonctions (fonctionne seulement pour le C "
      "et C++) : tapez « sin( » et vous obtiendrez « sin(|); »."
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr "Maj+Retour Arrière supprime aussi l'accolade correspondante"
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      "Supprime les accolades de droite et de gauche avec Maj+Retour Arrière.\n"
      "Astuce : pour supprimer un bloc indenté complet, supprimez simplement l'une "
      "des accolades avec Maj+Retour Arrière."
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr "Aller au caractère d'entourage avec Tab"
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      "Sauter après les caractères de fermeture automatique avec la touche Tab."
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr "Marque automatiquement le mot sous le curseur"
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Navigateur de code"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr "Ajoute des fonctionnalités pour naviguer entre les fichiers sources."
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      "Les listes d'en-têtes et d'implémentations de Codenav devraient avoir eu la "
      "même longueur. La configuration par défaut sera utilisée."
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr "Basculer en-tête/implémentation"
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr "Vous pouvez spécifier plusieurs extensions séparées par des virgules."
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr "Extensions des sources"
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr "Extensions des en-têtes"
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      msgid "Reset to Default"
      msgstr "Remettre à zéro"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      "Êtes-vous sûr de vouloir supprimer tous les langages et restaurer les "
      "valeurs par défaut ?\n"
      "Cette action ne peut pas être annulée."
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr "Aller au fichier…"
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr "Aller au fichier"
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr "Entrez le fichier que vous voulez ouvrir :"
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "%s n'a pas été trouvé, faut-il le créer ?"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr "Commandeur"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      "Fournit un panneau de commandes pour un accès rapide aux actions, fichiers et "
      "plus encore"
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr "Afficher le panneau de commande"
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr "Débogueur"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr "Intégration de divers débogueurs."
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Déboguage"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "Nom"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "Valeur"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr "Choisir une cible"
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr "Cible :"
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr "Parcourir…"
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr "Débogueur :"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr "Arguments de la ligne de commande"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr "Variables d'environnement"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr "Supprimer la variable ?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Emplacement"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Condition"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr ""
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "ligne %i"
      
      #: ../debugger/src/dbm_gdb.c:523
      #, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Le programme a reçu le signal %s (%s)"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Le programme s'est terminé avec le code « %i »"
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr "Impossible d'exécuter le processus gdb"
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Chargement du fichier cible.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr "Erreur lors du chargement du fichier"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr "Erreur lors de la configuration de GDB"
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      "Impossible de créer le point d'arrêt à %s:%i\n"
      "Message du débogueur : %s"
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "Impossible de trouver un fichier source « %s »"
      
      #: ../debugger/src/stree.c:164
      #, fuzzy
      msgid "Active frame"
      msgstr "Page active"
      
      #: ../debugger/src/stree.c:164
      #, fuzzy
      msgid "Click an arrow to switch to a frame"
      msgstr "Cliquez les flèches pour changer de page"
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr "Thread %i"
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Adresse"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "Fonction"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "Cible"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Points d'arrêt"
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr "Pile d'appel"
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr "Terminal de déboguage"
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr "Messages du débogueur"
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr "Exécuter / continuer"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "Stopper"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "Redémarrer"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr "Exécuter jusqu'au curseur"
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr "Ajouter / enlever un point d'arrêt"
      
      #: ../debugger/src/keys.c:57
      msgid "Jump to the current instruction"
      msgstr "Sauter à l'instruction courante"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr "Impossible d'évaluer l'expression"
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr "Stoppez la session de déboguage pour éditer les fichiers sources"
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "Exécuter"
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "Configuration"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr "Mode deux panneaux"
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "Continuer"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr "Enregistrer la session de déboguage dans un projet"
      
      #: ../defineformat/src/defineformat.c:56
      #, fuzzy
      msgid "Define formatter"
      msgstr "Formateur de defines"
      
      #: ../defineformat/src/defineformat.c:57
      #, fuzzy
      msgid "Automatically align backslash in multi-line defines"
      msgstr "Aligne automatiquement les antislashs dans des defines multi-lignes"
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Documentation"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "Code"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Devhelp"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Pages de manuel"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Revenir une page en arrière"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Aller une page en avant"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Zoomer"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Dézoomer"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Rechercher"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr "DevHelp"
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      "Ajoute la possibilité de chercher de la documentation dans DevHelp, les "
      "pages de manuel et sur Google Code Search dans la visionneuse intégrée."
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "Impossible de créer le dossier de configuration « %s »"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Impossible d'obtenir la configuration par défaut : %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Impossible d'écrire la configuration par défaut : %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr "Activer tous les onglets"
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr "Rechercher le symbole courant dans DevHelp"
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr "Rechercher le symbole courant dans les pages de manuel"
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr "Devhelp — Assistant"
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Livre :"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Livre"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Page"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Mot clé"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr "Espace de nom « %s » invalide à la ligne %d, colonne %d"
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      "Les éléments \"title\", \"name\" et \"link\" sont requis à la ligne %d, "
      "colonne %d"
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      "Les éléments \"name\" et \"link\" sont requis dans  à la ligne %d, "
      "colonne %d"
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      "Les éléments \"name\" et \"link\" sont requis dans « %s » à la ligne %d, "
      "colonne %d"
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr "L'élément \"type\" est requis dans  à la ligne %d, colonne %d"
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr "Impossible de décompresser le livre « %s » : %s"
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr "Tous les livres"
      
      #: ../devhelp/devhelp/dh-search.c:620
      #, fuzzy
      msgid "Search in:"
      msgstr "Rechercher dans :"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr "Un navigateur d'aide aux développeurs pour GNOME"
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_Fichier"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "_Éditer"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "_Aide"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      #, fuzzy
      msgid "_New Window"
      msgstr "_Nouvelle fenêtre"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "Nouvel ongle_t"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "Im_primer…"
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Rechercher le suivant"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Rechercher le précédent"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "Aller à la page précédente"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Aller à la page suivante"
      
      #: ../devhelp/devhelp/dh-window.c:797
      #, fuzzy
      msgid "_Contents Tab"
      msgstr "Contenu"
      
      #: ../devhelp/devhelp/dh-window.c:800
      #, fuzzy
      msgid "_Search Tab"
      msgstr "Rechercher"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "Texte p_lus gros"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Agrandir la taille du texte"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "Texte plus _petit"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Réduire le taille du texte"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "Taille _normale"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Utiliser la taille de texte normale"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Quitter le mode plein écran"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "Afficher en plein écran"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Plus grand"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Plus petit"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "À propos de Devhelp"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Préférences…"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "Erreur à l'ouverture du lien."
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "Page vide"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Rechercher :"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Rechercher l'occurrence précédente"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Rechercher l'occurrence suivante"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "Sensible à la c_asse"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr "Basculer la recherche sensible à la casse"
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Génération et recherche dans les fichiers CTags pour les projets Geany"
      
      #: ../geanyctags/src/geanyctags.c:149
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s (dans le dossier : %s)"
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr "L'exécution du processus a échoué (%s)"
      
      #: ../geanyctags/src/geanyctags.c:517
      msgid "Find Tag"
      msgstr "Rechercher un symbole"
      
      #: ../geanyctags/src/geanyctags.c:528
      msgid "_Search for:"
      msgstr "R_echercher :"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr "_Type de correspondance :"
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr "exacte"
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "prefix"
      msgstr "préfixe"
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      msgid "pattern"
      msgstr "motif"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "Sensible à la c_asse"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      msgid "_Declaration"
      msgstr "_Déclaration"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr "Chercher la déclaration du symbole (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr "Chercher la définition du symbole (geanyctags)"
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      msgid "Generate tags"
      msgstr "Générer les tags"
      
      #: ../geanyctags/src/geanyctags.c:653
      msgid "Find tag..."
      msgstr "Rechercher un symbole…"
      
      #: ../geanyctags/src/geanyctags.c:658
      msgid "Find tag"
      msgstr "Rechercher un symbole"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "Appeler le visionneur de documentation sur le symbole courant"
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "Impossible d'analyser la sortie de la commande"
      
      #: ../geanydoc/src/geanydoc.c:357
      #, fuzzy
      msgid "Put output in buffer"
      msgstr "Placer la sortie dans le tampon"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Commande 0 :"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Commande 1 :"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w sera remplacé par le mot courant\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "Convertir la sélection"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "valeur booléenne"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "valeur booléenne « %s » invalide"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "modèle invalide : %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "position « %s » invalide"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "politique « %s » invalide"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr "politique de fusion"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr "politique de fusion « %s » invalide"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "type"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "type « %s » invalide"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Le type « %s » est inconnu, est-ce une erreur de frappe ?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr "identifiant de type de documentation"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "type de documentation"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr "expression régulière invalide : %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr "description d'environnement invalide : %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "nom de section"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr "section « %s » dupliquée"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "le nom de section « %s » est invalide"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "l'entrée est vide"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr "Avertissement de l'analyseur : %s:%u:%u : %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr "Erreur de l'analyseur : %s:%u:%u : %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Symbole invalide"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      "Impossible de trouver le fichier de configuration pour le langage « %s » : %s"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      "Impossible de charger le type de fichier « %s » depuis le fichier « %s » : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "Générateur de documentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr "Génère un squelette de documentation depuis le code source"
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Impossible de charger la configuration : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Impossible d'enregistrer la configuration : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      "Impossible de trouver le fichier de configuration correspondant au type de "
      "fichier « %s » : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      "# La configuration pour ce type de fichier n'existe pas encore.\n"
      "# Pour la créer, écrivez-la simplement dans ce fichier enregistrez-le.\n"
      "# Pour la description de la syntaxe de ce fichier, référez-vous au manuel.\n"
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "Impossible de charger le fichier « %s » : %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr "Insérer un commentaire de documentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr "_Documenter le symbole courant"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr "Générer la documentation pour le symbole courant"
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr "Documenter _tous les symboles"
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr "Générer la documentation pour tous les symboles du document courant"
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr "_Recharger les fichiers de configuration"
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "Forcer le rechargement des fichiers de configuration"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "Modifi_er la configuration du langage courant"
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr "Ouvrir le fichier de configuration du langage courant pour le modifier"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Ouvrir le _manuel"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Ouvrir le manuel dans un navigateur"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "Générateur de _documentation"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "Général"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "_Enregistrer le fichier avant de générer la documentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Choisit s'il faut enregistrer le document avant de générer la documentation. "
      "C'est un détail technique mais pour le moment nécessaire pour avoir une "
      "liste de symboles à jour. Si vous désactivez cette option et générez la "
      "documentation dans un document modifié, le comportement peut être surprenant "
      "car la documentation sera générée pour le dernier état enregistré du "
      "document et non l'état actuel."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr "_Indenter la documentation insérée"
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      "Choisit s'il faut indenter la documentation insérée pour correspondre à "
      "l'indentation de la position d'insertion"
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Type de documentation"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      "Choisit le type de documentation à utiliser avec chaque type de fichier. Le "
      "langage spécial « Tous » en haut de liste est utilisé pour définir le type "
      "de documentation par défaut, utilisé pour tous les langages n'en ayant pas "
      "de spécifique."
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr "Environnement global"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      "Ajouts et écrasements globaux de l'environnement. Cet environnement sera "
      "fusionné avec ceux spécifiques à chaque type de fichier."
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "Le fichier « %s » existe mais n'est pas un fichier régulier"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s : aucun fichier ou répertoire de ce type"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr "Impossible de redimensionner le flux de sortie en mémoire"
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      "L'expression régulière d'analyse des arguments n'a pas correspondu (la liste "
      "d'arguments était : « %s »)"
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr "Impossible d'ajouter l'environnement global, ignoré : %s"
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "Impossible de construire le commentaire : %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "Le type de documentation « %s » n'existe pas pour le langage « %s »."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      "Aucune configuration ne s'applique au symbole « %s » de type « %s » à la "
      "ligne %lu."
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "Aucun symbole valide à la ligne %d."
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr "Aucun symbole dans le document"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Option inconnue"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr "L'entrée %s::%s du fichier de clés a une valeur inconnue"
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr ""
      "Erreur lors de la récupération de l'entrée %s::%s depuis le fichier de "
      "clés : %s"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Langage"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr "_Changer le type de documentation associé"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr "_Désassocier le type de documentation"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Tous"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      "Type de documentation par défaut pour tous les langages pour lesquels aucun "
      "n'est défini"
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "Insérer des nombres"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr "Insère ou remplit des colonnes avec des nombres."
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Décompte…"
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Préparation…"
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Insertion…"
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr "Pour base 11 et supérieure"
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "_Début :"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "_Pas :"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Base :"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Lettres :"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "_Majuscules"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr "M_inuscules"
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr "_Préfixe de base"
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr "0 pour octal, 0x pour hexadécimal et + pour les entiers positifs"
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr "Alignement :"
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Esp_aces"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "_Zéros"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "Insérer des _nombres"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Environnements"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Formatage"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Structure de document"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Listes"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Math"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Insérer l'environnement"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Environnement :"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      "Impossible de déterminer où insérer le package : %s\n"
      "Essayez d'insérer le package manuellement"
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr "Impossible de déterminer où insérer le package : %s"
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Article (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Livre (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr "Livret (@Booklet)"
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Conférence (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Auteur"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Chapitre"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Édition"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Éditeur"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Institution"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Journal"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Clé"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Mois"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Note"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Nombre"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organisation"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Pages"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "École"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Séries"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Titre"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Volume"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Année"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "Noms du ou des auteurs, séparés par « et » s'il y en a plusieurs"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "Titre du livre, si seules des parties sont citées"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Numéro de chapitre"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "Édition du livre (comme « première » ou « seconde »)"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "Noms du ou des éditeurs, séparés par « et » s'il y en a plusieurs"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "Méthode de publication, si cette méthode n'est pas standard"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "Institution impliquée dans la publication"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "Journal ou magazine dans lequel l'article a été publié"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr "Champs cachés utilisés pour définir l'ordre des entrées"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr "Mois de publication ou de création si non publié"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Informations supplémentaires diverses"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "Numéro du journal, magasine ou rapport technique"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "Numéros de pages séparés par des virgules ou des double-tirets"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "École où la thèse a été écrite"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "Série de livres dans laquelle le livre a été publié"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Titre de l'article"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Type du rapport technique"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "Adresse internet"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Numéro du volume"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "Année de publication ou de création si non publié"
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr "Améliore la gestion de LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr "Lance l'assistant LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "Marque le texte sélectionné comme italique"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "Marque le texte sélectionné comme gras"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "Souligne le texte sélectionné"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Centré"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Aligné à gauche"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Aligné à droite"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "Utiliser le script KOMA par défaut"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "Afficher la barre d'outils supplémentaire du plugin"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr "Mettre une majuscule en début de phrase lors de la frappe"
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      "Ajouter une icône pour l'assistant dans la barre d'outils principale de Geany"
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      "Passer la sélection en minuscules lors du formatage de petites capitales "
      "(\\textsc{})"
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr "Ne pas s'en occuper depuis le plugin"
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr "Toujours effectuer la complétion automatique sur le LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr "Mode de complétion automatique"
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "Insérer un label"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "Nom du label :"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "Insérer une commande"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "Nom de la commande :"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "Insérer une référence"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "Nom de la référence"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "Référence _standard"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "Référence à une _page"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr "_Ajouter les deux"
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "Plus"
      
      #: ../geanylatex/src/geanylatex.c:1203
      #, fuzzy
      msgid "Add additional package"
      msgstr "Ajouter des packages additionnels"
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "Nom du package :"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr "Options du package :"
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr "Insérer une référence BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr "Nom de la référence BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr "Aucun modèle associé. Abandon"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "Assistant LaTeX"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Modèle :"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr "Définit le modèle qui doit être utilisé pour créer le document"
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "Par défaut"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr "Classe du document :"
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "Choisissez le genre de document que vous voulez écrire"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Article"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Rapport"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Lettre"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Présentation"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Encodage :"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "Définit l'encodage pour votre nouveau document"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr "Taille de la police"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr "Définit la taille par défaut de la police pour votre nouveau document"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Auteur :"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      "Définit la valeur de la commande \\author. Dans la plupart des cas ce "
      "devrait être votre nom"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Date :"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "Définit la valeur de la commande \\date dans l'en-tête de votre nouveau "
      "document. La laisser à \\today est une bonne solution si vous n'avez pas "
      "besoin d'un date précise."
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Titre :"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "Définit le titre de votre nouveau document."
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "Taille du papier :"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "Définit le format du papier pour votre nouveau document"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "Orientation du papier :"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr "Définit l'orientation du papier pour votre nouveau document"
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr "Utiliser les classes de script KOMA si possible"
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "Utilises les classes de script KOMA par Markus Kohm.\n"
      "Souvenez-vous : pour compiler votre document ces classes doivent être "
      "installées."
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "Utiliser le mode ébauche"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "Lancer l'assistant LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "Insérer \\label"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "Insérer \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "Insérer une coupure de ligne \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "Insérer une commande"
      
      #: ../geanylatex/src/geanylatex.c:1963
      #, fuzzy
      msgid "Turn input replacement on/off"
      msgstr "Activer/désactiver les remplacements lors de la frappe"
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Remplacer les caractères spéciaux"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr "Afficher le dialogue d'insertion d'environnement"
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "Insérer \\item"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr "Formater la sélection avec une police grasse"
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr "Formater la sélection avec une police italique"
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr "Formater la sélection avec une police à chasse fixe"
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "Centrer la sélection"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "Aligner la sélection à gauche"
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr "Aligner la sélection à droite"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr "Insérer une liste de description"
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr "Insérer une liste d'éléments"
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr "Insérer \\usepackage{}"
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX est un plugin qui améliore la gestion de LaTeX dans Geany.\n"
      "\n"
      "Merci de rapporter tous les bogues ou demandes d'améliorations aux auteurs."
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      "glatex_set_autocompletion_contextsize a été initialisé avec une valeur "
      "invalide ; la valeur par défaut a été utilisée à la place. Veuillez vérifier "
      "votre fichier de configuration."
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr ""
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "_Assistant LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "Lance un assistant pour créer aisément des documents LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "I_nsérer un caractère spécial"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "Facilite l'utilisation de lettres et de signes peu communs"
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "Insérer une _référence"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "Insérer un _label"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "Aide à insérer des labels dans un document"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "Insérer un _environnement"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr "Facilite l'insertion d'un environnement au document"
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "Insérer un p_ackage"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      "Un dialogue pour insérer \\usepackage{} dans l'en-tête du document courant"
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Format"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "Taille de la p_olice"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "Remplacement de caractères _spéciaux"
      
      #: ../geanylatex/src/geanylatex.c:2233
      #, fuzzy
      msgid "Bulk _Replace Special Characters"
      msgstr "_Remplacement en masse de caractères spéciaux"
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      "_Remplace les caractères spéciaux sélectionnés par des substitutions TeX"
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr "Basculer le remplacement des caractères _spéciaux"
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "Insérer une _commande"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr "Insérer une référence B_ibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr "Entrées _BibTeX"
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr "Lettres LaTeX"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Lettres grecques"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "Tréma Allemand"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Divers"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Flèches"
      
      #: ../geanylatex/src/letters.c:45
      #, fuzzy
      msgid "Relational"
      msgstr "Relationnel"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "Opération binaire"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Italique"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Gras"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Souligné"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "Chasse fixe"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "Petites majuscules"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "Oblique"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Emphase"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "Page de code IBM 850"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "Page de code IBM 852"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "Ne pas définir d'encodage"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr "Créer de faux-textes avec Geany"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Générateur de faux-texte"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "Entrez la longueur du faux-texte ici"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr "Ajoute du faux-texte à votre code"
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "Insérer un faux-texte"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      "le type \"%s\" était attendu pour l'argument n° %d\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      "les types \"%s\" ou \"%s\" étaient attendus pour l'argument n° %d\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      "tableau invalide pour l'argument n° %d :\n"
      "le type \"%s\" était attendu pour l'élément n° %d\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Lua Script"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Écrit et exécute des scripts Lua pour des commandes personnalisées."
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Plugin Lua Script"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Erreur du script Lua :"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Délai dépassé pour le script"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Un script Lua semble prendre beaucoup trop de temps pour s'exécuter.\n"
      "Voulez-vous continuer à attendre ?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Délai du script dépassé."
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(erreur : l'objet n'est pas une chaîne de caractères)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Erreur inconnue dans le script."
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Dépassement mémoire."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "Impossible d'ouvrir le script."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Erreur inconnue lors du chargement du script."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "Scripts _Lua"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "    ==>> %s: Construction du menu depuis '%s'\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "Rien à configurer !"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "Vous créez le script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "pour ajouter votre propre boîte de dialogue de configuration personnalisée."
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Ouvrir"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Sélectionner un fichier"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Parcourir…"
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Sélectionner une couleur"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Choisir…"
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Sélectionner une police"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Sélectionner…"
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction navigate() :\n"
      "mode de navigation \"%s\" inconnu pour l'argument n° 1.\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      "la commande \"%s\" de l'API n'est pas implémentée.\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      "pas assez d'arguments pour la commande \"%s\".\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      "commande \"%s\" donnée pour l'argument n° 1 inconnue.\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      " tableau invalide pour l'argument n° %d :\n"
      " drapeau \"%s\" inconnu pour l'élément n° %d\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "Le fichier existe"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Voulez-vous l'écraser ?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "Confirmer"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Enregistrer"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction pickfile() :\n"
      "impossible d'analyser la chaîne filtre en argument n° 3.\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      "la chaîne \"open\" ou \"save\" était attendue pour l'argument n° 1.\n"
      
      #: ../geanylua/geanylua.c:156
      #, fuzzy, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s : Impossible de charger la librairie de support %s!\n"
      
      #: ../geanylua/geanylua.c:168
      #, fuzzy, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s : Impossible d'initialiser la librairie de support %s!\n"
      
      #: ../geanylua/geanylua.c:173
      #, fuzzy, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr "%s : Erreur dans la version de la librairie de support : %s <=> %s\n"
      
      #: ../geanylua/geanylua.c:179
      #, fuzzy, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr "%s : Erreur dans la version de la librairie de support : %s <=> %s\n"
      
      #: ../geanylua/geanylua.c:208
      #, fuzzy, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s : Impossible de trouver la librairie de support !\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "Impossible de charger le plugin %s.\n"
      "Veuillez vérifier votre installation."
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "Erreur dans le module \"%s\" à la fonction %s() :\n"
      "le widget \"%s\" est introuvable pour l'argument n° 1.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "Erreur dans le module \"%s\" à l'argument n° 2 de la fonction %s() :\n"
      "le widget \"%s\" n'a pas de signal nommé \"%s\".\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Couper vers le presse-papier"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "Copier dans le presse-papier"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Coller depuis le presse-papier"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Couper la ligne courante vers le presse papier"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Copier la ligne courante dans le presse-papier"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "Supprimer le caractère à gauche"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "Supprimer le caractère à droite"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "Supprimer le caractère à gauche (mais pas de saut de ligne)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "Supprimer vers la gauche jusqu'au début du mot"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "Supprimer vers la droite jusqu'au début du mot"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "Supprimer vers la droite jusqu'à la fin du mot"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "Supprimer jusqu'au début de la ligne"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "Supprimer jusqu'à la fin de la ligne"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Supprimer la ligne courante"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "Faire défiler la vue d'une ligne vers le bas"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "Faire défiler la vue d'une ligne vers le haut"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr "Zoomer"
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr "Dézoomer"
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "Déplacer le curseur vers le bas"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "Déplacer le curseur vers le haut"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "Déplacer le curseur vers la gauche"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "Déplacer le curseur vers la droite"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "Déplacer le curseur vers la gauche jusqu'au début du mot"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "Déplacer le curseur vers la droite jusqu'au début du mot"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr "Déplacer le curseur vers la gauche jusqu'au début de la partie de mot"
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr "Déplacer le curseur vers la droite jusqu'au début de la partie de mot"
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "Placer le curseur au début de la ligne"
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "Placer le curseur à la fin de la ligne"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr "Placer le curseur sur la première ligne du document"
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr "Placer le curseur sur la dernière ligne du document"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "Déplacer le curseur d'une page vers le haut"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "Déplacer le curseur d'une page vers le bas"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr "Placer le curseur sur le premier caractère visible"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr "Placer le curseur sur le dernier caractère visible"
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      "Placer le curseur sur le premier caractère non-blanc de la ligne, ou sur le "
      "premier caractère si déjà sur le premier non-blanc"
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "Placer le curseur au début du paragraphe suivant"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr "Placer le curseur au début du paragraphe courant ou précédent"
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr "Déplacer le curseur vers la gauche jusqu'à la fin du mot"
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr "Déplacer le curseur vers la droite jusqu'à la fin du mot"
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr "Étendre la sélection d'une ligne vers le bas"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "Étendre la sélection d'une ligne vers le haut"
      
      # The original string is wrong
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "Étendre la sélection d'un caractère vers la gauche"
      
      # The original string is wrong
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "Étendre la sélection d'un caractère vers la droite"
      
      #: ../geanymacro/src/geanymacro.c:104
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Étendre la sélection vers la gauche jusqu'au début du mot"
      
      #: ../geanymacro/src/geanymacro.c:105
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Étendre la sélection vers la droite jusqu'au début du mot"
      
      #: ../geanymacro/src/geanymacro.c:106
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Étendre la sélection vers la gauche jusqu'au début de la partie de mot"
      
      #: ../geanymacro/src/geanymacro.c:107
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Étendre la sélection vers la droite jusqu'au début de la partie de mot"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "Étendre la sélection jusqu'au début de la ligne"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "Étendre la sélection jusqu'à la fin de la ligne"
      
      #: ../geanymacro/src/geanymacro.c:110
      msgid "Extend Selection to start of document"
      msgstr "Étendre la sélection jusqu'au début du document"
      
      #: ../geanymacro/src/geanymacro.c:111
      msgid "Extend Selection to end of document"
      msgstr "Étendre la sélection jusqu'à la fin du document"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "Étendre la sélection d'une page vers le haut"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "Étendre la sélection d'une page vers le bas"
      
      #: ../geanymacro/src/geanymacro.c:114
      msgid "Extend Selection to fist visible character"
      msgstr "Étendre la sélection jusqu'au premier caractère visible"
      
      #: ../geanymacro/src/geanymacro.c:115
      msgid "Extend Selection to last visible character"
      msgstr "Étendre la sélection jusqu'au dernier caractère visible"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      "Étendre la sélection jusqu'au premier caractère non-blanc de la ligne, ou "
      "jusqu'au premier caractère si déjà sur le premier non-blanc"
      
      #: ../geanymacro/src/geanymacro.c:118
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Étendre la sélection jusqu'au début du paragraphe suivant"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr "Étendre la sélection jusqu'au début du paragraphe courant ou précédent"
      
      #: ../geanymacro/src/geanymacro.c:120
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Étendre la sélection vers la gauche jusqu'à la fin du mot"
      
      #: ../geanymacro/src/geanymacro.c:121
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Étendre la sélection vers la droite jusqu'à la fin du mot"
      
      #: ../geanymacro/src/geanymacro.c:123
      msgid "Extend Rectangular Selection down a line"
      msgstr "Étendre la sélection rectangulaire d'une ligne vers le bas"
      
      #: ../geanymacro/src/geanymacro.c:124
      msgid "Extend Rectangular Selection up a line"
      msgstr "Étendre la sélection rectangulaire d'une ligne vers le haut"
      
      # The original text is wrong
      #: ../geanymacro/src/geanymacro.c:125
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Étendre la sélection rectangulaire d'un caractère vers la gauche"
      
      # The original text is wrong
      #: ../geanymacro/src/geanymacro.c:126
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Étendre la sélection d'un caractère vers la droite"
      
      #: ../geanymacro/src/geanymacro.c:127
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Étendre la sélection rectangulaire jusqu'au début de la ligne"
      
      #: ../geanymacro/src/geanymacro.c:128
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Étendre la sélection rectangulaire jusqu'à la fin de la ligne"
      
      #: ../geanymacro/src/geanymacro.c:129
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Étendre la sélection rectangulaire d'une page vers le haut"
      
      #: ../geanymacro/src/geanymacro.c:130
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Étendre la sélection rectangulaire d'une page vers le bas"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      "Étendre la sélection rectangulaire jusqu'au premier caractère non-blanc de "
      "la ligne, ou jusqu'au premier caractère si déjà sur le premier non-blanc"
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "Annuler la sélection"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr "Basculer le mode d'insertion/écrasement"
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Tab"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Nouvelle ligne"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr "Insérer/remplacer par «  »"
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr "Échanger la ligne courante avec celle du dessus"
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Qhanger la casse de la sélection en minuscules"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Changer la casse de la sélection en majuscules"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr "Dupliquer la ligne courante en dessous"
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr "Dupliquer la sélection. Si rien n'est sélectionné, duplique la ligne"
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr "Rechercher le précédent «  »"
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr "Rechercher le suivant «  »"
      
      #: ../geanymacro/src/geanymacro.c:152
      msgid "Set start of search to beginning of selection"
      msgstr "Définir le début de la recherche au début de la sélection"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Macros"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr "Macros pour Geany"
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr "Pas de texte dans le presse-papier !"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      "Message non reconnu\n"
      "%i %i %i"
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr "Enregistrer les macros à la fermeture de Geany"
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr "Demander avant de remplacer les macros existantes"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr "Aide de Geany Macros"
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      "Ce plugin fournit des macros pour Geany.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr "Ce plugin vous permet d'enregistrer et utiliser vos propres macros."
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      "Ce sont des séquences d'actions qui peuvent ensuite être répétées avec une "
      "simple combinaison de touches."
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      "Par exemple, si vous avez des centaines de lignes desquelles vous voulez "
      "supprimer les deux derniers caractères, vous pourriez simplement démarrer "
      "l'enregistrement, appuyer sur Fin, Espace Arrière, Espace Arrière, ligne "
      "suivante et arrêter l'enregistrement."
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      "Ensuite lancez simplement la macro et elle modifierait automatiquement la "
      "ligne courante et passerait à la suivante."
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      "Choisissez « Enregistrer une macro » du menu « Outils » pour faire "
      "apparaître une boîte de dialogue."
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      "Vous devez spécifier une combinaison de touches qui n'est pas utilisée et un "
      "nom pour la macro pour vous aider à l'identifier."
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr "Puis pressez Enregistrer."
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      "Ce que vous faites dans l'éditeur est alors enregistré jusqu'à ce que vous "
      "choisissiez « Arrêter l'enregistrement de la macro » du menu « Outils »."
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr "Presser simplement la combinaison de touches va relancer la macro."
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      "Pour modifier une macro existante, choisissez « Modifier la macro » du menu "
      "« Outils »."
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      "Vous pouvez sélectionner une macro et la supprimer ou la réenregistrer."
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      "Vous pouvez aussi cliquer sur le nom d'une macro pour le changer, ou changer "
      "la combinaison de touches."
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      "Choisir l'option « éditer » vous permet de voir chaque élément qui compose "
      "la macro."
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      "Vous pouvez sélectionner une commande différente pour chaque élément, les "
      "déplacer, en ajouter de nouveaux, les supprimer ou si ce sont des commandes "
      "d'insertion ou de remplacement, modifier le texte à insérer ou remplacer.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      "La seule chose dont il faut se souvenir est que les actions d'annulation et "
      "de restauration ne sont pas enregistrées et ne seront donc pas rejouées "
      "lorsque la macro sera relancée.\n"
      "\n"
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      "Vous pouvez changer le comportement du plugin en choisissant « Gestionnaire "
      "de plugin » du menu « Outils », sélectionnant ce plugin et cliquant sur "
      "« Préférences »."
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr "Vous pouvez changer :\n"
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      "Enregistrer les macros à la fermeture de Geany : Si ceci est sélectionné, "
      "Geany enregistrera toutes les macros enregistrées et les rechargera pour "
      "qu'elles puissent être réutilisées la prochaine fois que vous lancez Geany.  "
      "Sinon, elles seront perdues à la fermeture de Geany.\n"
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      "Demander avant de remplacer les macros existantes : Si ceci est sélectionné "
      "et que vous enregistrez une macro par dessus une autre, il vous sera demandé "
      "si vous voulez la remplacer et vous permettra de choisir un nom ou une "
      "combinaison de touches différentes.  Autrement, une macro sera simplement "
      "supprimée si elle a le même nom ou la même combinaison de touches."
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "Enregistrer une macro"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Enregistrer"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "Déclencheur de la macro :"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "Nom de la macro :"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Le nom de macro « %s »\n"
      "est déjà utilisé.\n"
      "Remplacer ?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Le déclencheur de macro « %s »\n"
      "est déjà utilisé.\n"
      "Remplacer ?"
      
      # FIXME: this isn't properly translatable
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Options de recherche :"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_OK"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr "_Annuler"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "Rechercher en avant"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Rechercher en arrière"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "Rechercher le contenu du presse-papier"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr "Rechercher :"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "Recherche sensible à la casse"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Rechercher un mot complet"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Rechercher en début de mot"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr "Utiliser les expressions régulières"
      
      # Is this what it means?
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr "Utiliser les expressions régulières POSIX"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr "Modifier le texte à insérer ou remplacer"
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Texte :"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr "Insérer ou remplacer par « %s »"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "Éditer : %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr "Événement"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "_Monter"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "_Descendre"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr "Nouveau _avant"
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr "Nouveau a_près"
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "_Supprimer"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "Modifier les macros"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "Nom de la macro"
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr "Raccourci"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr "_Réenregistrer"
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "Enregistrer une _macro"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "Arrêter l'enregistrement de la _macro"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "Modifi_er les macros"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      #, fuzzy
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "Ce plugin est un outil pour appliquer un script sur :\n"
      "   o la sélection de texte,\n"
      "   o le document courant,\n"
      "   o tous les documents de la session courante.\n"
      "\n"
      "Le type du script peut être : \n"
      "   o un script shell UNIX, \n"
      "   o un script PERL, \n"
      "   o un script PYTHON, \n"
      "   o une liste de commandes SED,\n"
      "   o un script AWK.\n"
      "\n"
      "AUTEUR\n"
      "   Écrit par Pascal BURLOT (Décembre 2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr "Chargement du mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr "Sauvegarde du Mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr "Filtre Mini-Script"
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr "Efface la fenêtre du mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr "Charge un fichier mini-script dans la fenêtre"
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr "Sauve le mini-script courant dans un fichier"
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr "Affiche des informations sur le plugin mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr "Sélectionne le type du mini-script"
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr "Entrée du filtre"
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr "Sélectionne l'entrée du mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "sélection"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "document"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "session"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr "sortie du filtre"
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr "Sélectionne la sortie du mini-script"
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "Doc. courant"
      
      #: ../geanyminiscript/src/gms_gui.c:527
      #, fuzzy
      msgid "New Doc."
      msgstr "Nouveau Document"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, un utilisateur de Geany"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr "_Mini-script"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr "Marque-pages numérotés pour Geany"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      "Impossible d'appliquer tous les marqueurs à « %s » car ils sont tous "
      "utilisés."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr "_Ok"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      "Le fichier « %s » a été modifié depuis la dernière fois qu'il a été "
      "enregistré par Geany.  Les positions des marqueurs peuvent ne pas être correctes "
      "et ne vont pas être chargées.\n"
      "Choisissez « ignorer » pour tenter de charger les marqueurs malgré tout."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr "_Ignorer"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr "Enregistrer l'état du pliage"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr "Centrer la vue après s'être rendu au marque-page"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to start of line"
      msgstr "Aller au début de la ligne"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr "Aller à la position enregistrée sur la ligne"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr "Aller à la position sur la ligne courante"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      msgid "Move to End of line"
      msgstr "Aller à la fin de la ligne"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr "Enregistrer la configuration des fichiers avec celle du programme"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr "Enregistrer la configuration du fichier dans un fichier avec suffixe"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr "Enregistrer les marque-pages normaux"
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr "Aide des marque-pages numérotés"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      "Ce plugin fournit des marque-pages numérotés pour Geany, ainsi que la "
      "possibilité d'enregistrer l'état du pliage et la position des marque-pages "
      "standards non-numérotés lors de l'enregistrement d'un fichier.\n"
      "\n"
      "Il vous permet d'utiliser jusqu'à 10 marque-pages numérotés. Pour définir un "
      "marque-page numéroté, pressez Ctrl+Maj+un chiffre de 0 à 9.  Vous verrez un "
      "marqueur apparaître à côté du numéro de ligne.  Si vous pressez Ctrl+Maj+un "
      "chiffre sur une ligne qui a déjà un marque-page numéroté il sera supprimé, "
      "sinon il sera déplacé vers la ligne courante s'il était sur une autre ligne "
      "ou créé s'il n'existait pas encore. Seul le marque page le plus récent sur "
      "une ligne sera affiché, mais vous pouvez en définir plusieurs par ligne. "
      "Pour vous rendre à un marque-page précédemment défini, pressez Ctrl+ un "
      "nombre de 0 à 9."
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr "Impossible d'appliquer les marqueurs car ils sont tous utilisés."
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "impossible de créer le fichier temporaire"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      "La clé avec l'ID utilisateur « %s » a la validité « %s ».\n"
      "\n"
      "ATTENTION : il n'est PAS sûr que cette clé appartienne bien à la personne "
      "nommée dans l'ID utilisateur.\n"
      "\n"
      "Êtes-vous *vraiment* sûr de vouloir quand-même utiliser cette clé ?"
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      "Aucun destinataire n'a été sélectionné,voulez-vous utiliser un chiffrement "
      "symétrique ?"
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr "Chiffrement GPG pour Geany"
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr "Version de libgpgme utilisée :"
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr "Erreur dans"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "Chiffrer"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "Signer"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr "Déchiffrer ou vérifier"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr "Vérifie une signature détachée"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Sélectionnez les destinataires"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Signer le message en tant que :"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Sélectionner les destinataires"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "Choisissez une clé avec laquelle signer :"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "Sélectionner le signataire"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "Impossible d'utiliser Pinentry."
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "Sortie imprévue de pinentry."
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Mot de passe"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr "Entrez la phrase de passe pour"
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "pinentry a retourné l'erreur"
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "Erreur de pinentry imprévue."
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      "Erreur : la saisie de phrase de passe sans utiliser gpg-agent n'est pas "
      "disponible pour Windows pour le moment."
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr "une clé avec empreinte"
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "inconnue"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "indéfinie"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "jamais"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "marginale"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "complète"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr "ultime"
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr "[mauvaise valeur de validité]"
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr " valide"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr " vert"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr " rouge"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr " révoquée"
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " clef expirée"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " signature expirée"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " clef manquante"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Inconnu\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, fuzzy, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      "statut ....: %s\n"
      "résumé ....:%s\n"
      "emprunte ..: %s\n"
      "créée .....: %sexpire ....: %svalidité ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Aucune]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Inconnu"
      
      #: ../geanypg/src/verify_aux.c:134
      #, fuzzy
      msgid "n/a"
      msgstr "n/d"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "mauvaise"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "correcte"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "oui"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "non"
      
      # Not translatable
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "Signature"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "Impossible de trouver les résultats de la vérification"
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "Erreur : impossible de trouver les résultats de la vérification"
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Ouvrir un fichier de signature"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "Gestion de projet alternative."
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr "Rechercher du texte dans un projet GeanyPRJ"
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr "Afficher la barre latérale"
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Préférences du projet"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Nouveau projet"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "C_réer"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "Nom :"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Emplacement :"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Choisir l'emplacement du projet"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Dossier de base :"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Dossier de base de tous les fichiers qui forment le projet. Ce peut être un "
      "nouveau dossier ou un dossier existant. Vous pouvez utiliser des chemins "
      "relatifs au fichier de projet."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Choisir le dossier de base du projet"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Générer la liste des fichiers au chargement"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Ajouter automatiquement les fichiers qui correspondent au type de projet "
      "lors du chargement du projet. Vous ne pouvez pas ajouter ou supprimer "
      "manuellement des fichiers si vous activez cette option puisque vos "
      "modifications seraient perdues au prochain chargement du projet"
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Type :"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Le fichier de projet « %s » existe déjà"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Projet"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Supprimer le projet"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Ajouter un fichier"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Préférences"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Trouver dans le projet"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Supprimer le fichier"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Cac_her la barre latérale"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Projet"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "Projet « %s » ouvert."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr "Support des plugins Python"
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Impossible de pré-charger la bibliothèque Python : %s"
      
      #: ../geanypy/src/geanypy-plugin.c:161
      #, fuzzy
      msgid "Failed to import manager module"
      msgstr "Impossible d'importer le module \"manager\""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      #, fuzzy
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr "Impossible d'obtenir le PluginManager du module \"manager\""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr "Dossier de plugins système introuvable."
      
      #: ../geanypy/src/geanypy-plugin.c:215
      #, fuzzy
      msgid "Unable to instantiate new PluginManager"
      msgstr "Impossible d'instancier un nouveau PluginManager"
      
      #: ../geanypy/src/geanypy-plugin.c:231
      #, fuzzy
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      "Impossible d'obtenir la méthode show_all() sur le gestionnaire de plugins"
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "Impossible de créer le dossier des plugins Python : %s : %s"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr "Gestionnaire de plugins Python"
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Envoie le fichier courant comme pièce jointe avec votre client mail favori"
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "Adresse du destinataire"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "Entrez l'adresse email du destinataire :"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      "Le remplacement du nom de fichier n'a pas été trouvé. La commande exécutée a "
      "peut-être échoué."
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      "Le remplacement de l'adresse du destinataire n'a pas été trouvé. La commande "
      "exécutée a peut-être échoué."
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      "Impossible d'exécuter le client mail, veuillez vérifier votre configuration."
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "Veuillez d'abord définir un client e-mail."
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "Le fichier doit d'abord être enregistré avant de l'envoyer."
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "E-Mail"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "Envoyer par email"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "Chemin et options du client mail :"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Note :\n"
      "\t%f sera remplacé par le chemin complet de fichier.\n"
      "\t%r sera remplacé par l'adresse e-mail du destinataire.\n"
      "\t%b sera remplacé par le nom de votre fichier.\n"
      "\tExemples :\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr "Afficher l'icône dans la barre d'outils"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr "Affiche une icône dans la barre d'outils pour faciliter l'envoi du fichier."
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr "Utilisez le dialogue pour entrer les adresses e-mail des destinataires"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "Envoyer le fichier par e-mail"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "Envoyer par _mail"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      "Envoie le fichier ouvert comme pièce jointe non-compressée avec n'importe "
      "quel client dans votre $PATH"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "Interface pour différents systèmes de gestion de versions"
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc : erreur de s_spawn_sync : %s"
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      "geanyvc : vcdiff_file_activated : Impossible de renommer « %s » en « %s »"
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "Aucune modification n'a été effectuée."
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr "Pas d'historique disponible"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Voulez-vous vraiment rétablir : %s ?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Voulez-vous vraiment ajouter : %s ?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Voulez-vous vraiment supprimer : %s ?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "Voulez-vous vraiment mettre à jour ?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      "Les différences résultantes ne peuvent être affichées car les changements "
      "sont trop importants et ralentiraient significativement l'interface.\n"
      "\n"
      "Pour afficher les différences, fermez ce dialogue et ouvrez le diff "
      "directement dans Geany en utilisant le menu GeanyVC (Dossier racine -> Diff)."
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "Commiter (O/N)"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Statut"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Chemin"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr "Ligne : %d Colonne : %d"
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "Commit"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "Sélectionner/_désélectionner tous les fichiers"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "Message de commit :"
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr "C_ommit"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "Rien à commiter."
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr ""
      "Erreur lors de l'initialisation de la vérification orthographique de "
      "GeanyVC : %s. Vérifiez votre configuration."
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "Marquer les documents créés par le plugin comme modifiés"
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "Si cette option est active, chaque nouveau document créé par le plugin sera "
      "marqué comme modifié. Même si cette option peut être utile dans certains "
      "cas, elle peut résulter en de nombreux et ennuyeux dialogues demandant si le "
      "document doit être enregistré."
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr "Confirmer l'ajout de nouveaux fichiers au VCS"
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      "Affiche un dialogue de confirmation lors de l'ajout d'un nouveau fichier au "
      "VCS"
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "Maximiser le dialogue de commit"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "Afficher le dialogue de commit maximisé."
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "Utiliser une visionneuse de diff externe"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "Utiliser une visionneuse externe pour afficher les diff de fichiers."
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "Montrer les commandes dans le menu de l'éditeur"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      "Afficher les entrées pour les fonctionnalités du VCS dans le menu de "
      "l'éditeur"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr "Attacher le menu à la barre de menu"
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      "Choisit si le menu du plugin est placé dans le menu « Outils » ou "
      "directement dans la barre de menus de Geany. Un redémarrage du plugin est "
      "nécessaire pour appliquer cette option."
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "Activer CVS"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "Activer Git"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "Activer SVN"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "Activer SVK"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Activer Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Activer Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "Langue de la vérification orthographique"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr "Actions du _VCS sur le fichier"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "Faire un diff depuis le fichier courant"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "_Rétablir"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "Restaurer la copie locale originale (annule les changements locaux)."
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr "_Blame"
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr ""
      "Affiche les changements effectués dans un fichier par révision et auteur."
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "_Historique (log)"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "Afficher l'historique du fichier courant"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "_Original"
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr "Affiche l'original du fichier courant"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "_Ajouter au gestionnaire de versions"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Ajouter le fichier au dépôt"
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "_Supprimer du gestionnaire de versions"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Supprimer le fichier du dépôt"
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "_Dossier"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "Faire un diff depuis le dossier contenant le fichier courant"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      "Restaurer la copie originale des fichiers dans le dossier courant (annule "
      "les changements locaux)."
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "Afficher l'historique du dossier courant"
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "Dossier _racine"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr "Faire un diff depuis le dossier racine du VCS"
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "Annuler les changements locaux."
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr "Afficher l'historique du dossier racine du VCS"
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr "Co_mmit du VCS"
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Afficher le diff du fichier"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Afficher le diff du dossier"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "Afficher le diff du dossier racine"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "Commiter les changements"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Afficher le statut"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "Rétablir un seul fichier"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "Rétablir le dossier"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "Rétablir le dossier racine"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Mettre le fichier à jour"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "Gestionnaire de _versions"
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr "Gestionnaire de _versions"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "_Statut"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Afficher le statut."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Mettre à jour depuis le dépôt distant."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "_Commit"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "Commiter les changements."
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr "Envoyer votre code sur votre pastebin préféré"
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, c-format
      msgid "Group \"%s\" not found."
      msgstr "Groupe « %s » introuvable."
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr "Le groupe « %s » n'a pas de clé « %s »."
      
      #: ../geniuspaste/src/geniuspaste.c:648
      msgid "Invalid pastebin service."
      msgstr "Service de pastebin invalide."
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      "Service de pastebin « %s » inconnu. Sélectionnez un service de pastebin "
      "existant dans les préférences ou créez la configuration de pastebin "
      "appropriée et réessayez."
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr "Je refuse de créer un paste vide"
      
      #: ../geniuspaste/src/geniuspaste.c:681
      msgid "Failed to paste the code"
      msgstr "Impossible de paster le code"
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      "Erreur lors de l'envoi du code vers le service de pastebin %s.\n"
      "Code d'erreur : %u (%s).\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr "Vérifiez votre connexion ou la configuration du pastebin et réessayez."
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      "Attendez que le service revienne en ligne et réessayez, ou réessayez avec un "
      "autre service de pastebin."
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      msgid "Check the pastebin configuration and retry."
      msgstr "Vérifiez la configuration du pastebin et réessayez."
      
      #: ../geniuspaste/src/geniuspaste.c:701
      msgid "Failed to obtain paste URL."
      msgstr "Impossible d'obtenir l'URL du paste."
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      "Le code a été envoyé avec succès à %s, mais une erreur est survenue lors de "
      "la recherche de son URL : %s\n"
      "\n"
      "%s"
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "Unexpected response from the pastebin service."
      msgstr "Réponse inattendue du service de pastebin."
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr "Code envoyé avec succès"
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      "Votre code est disponible à l'adresse suivante :%s"
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr "Aucun document n'est ouvert. Ouvrez-en un et réessayez.\n"
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr "Le champ du nom de l'auteur est vide !"
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr "Choisissez un pastebin :"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr "Entrez le nom de l'auteur :"
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr "Afficher votre paste dans un nouvel onglet de navigateur"
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr "_Envoyez-le !"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr "_Surveiller les changements du dépôt"
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      "Choisit s'il faut mettre le diff à jour automatiquement de façon à le garder "
      "à jour lorsque le dépôt Git change.  Ceci devrait généralement être activé "
      "pour une expérience utilisateur optimale."
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr "Lignes _ajoutées :"
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr "Lignes _modifiées :"
      
      #: ../git-changebar/data/prefs.ui.h:5
      msgid "_Removed lines:"
      msgstr "Lignes supp_rimées :"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr "Couleurs"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr "Barre de modifications Git"
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      "Surligne les modifications non committées dans les fichiers suivis avec Git"
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Impossible de charger le fichier de configuration : %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "Impossible de créer le dossier de configuration « %s » : %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Impossible d'enregistrer le fichier de configuration : %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      msgid "Go to the previous hunk"
      msgstr "Aller au hunk précédent"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      msgid "Go to the next hunk"
      msgstr "Aller au hunk suivant"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "Impossible de charger la définition d'interface, veuillez vérifier votre "
      "installation. L'erreur était : %s"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr "Supprimer les lignes en double, _triées"
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr "Supprimer les lignes en double, _ordonnées"
      
      #: ../lineoperations/src/lineoperations.c:71
      msgid "Remove _Unique Lines"
      msgstr "Supprimer les lignes _uniques"
      
      #: ../lineoperations/src/lineoperations.c:74
      msgid "Remove _Empty Lines"
      msgstr "Supprimer les lignes _vides"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr "Supprimer les lignes _blanches"
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr "Trier les lignes par ordre _croissant"
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr "Trier les lignes par ordre _décroissant"
      
      #: ../lineoperations/src/lineoperations.c:85
      msgid "_Line Operations"
      msgstr "Opérations sur les _lignes"
      
      #: ../lineoperations/src/lineoperations.c:127
      msgid "Line Operations"
      msgstr "Opérations sur les lignes"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      "Fournit diverses fonctions qui peuvent être appliquées à un document, comme "
      "la suppression de lignes en double, vides ou entièrement blanches, ou le tri "
      "des lignes."
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Position :"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Barre latérale"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "Fenêtre de messages"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Police :"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "Police du code :"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "Couleur d'arrière-plan :"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "Couleur d'avant-plan :"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr "Sélectionner un modèle"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr "Aperçu en temps-réel des fichiers Markdown"
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr "Aperçu Markdown"
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr "Le type du fichier courant n'est pas défini à Markdown."
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Impossible d'enregistrer le fichier de configuration « %s » : %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "Impossible de charger le fichier de configuration « %s » : %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      msgid "Move to message window"
      msgstr "Déplacer dans la fenêtre de messages"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      msgid "Move to sidebar"
      msgstr "Déplacer dans la barre latérale"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      msgid "Open Tab"
      msgstr "Nouvel onglet"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      msgid "Open Window"
      msgstr "Nouvelle fenêtre"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr "Onglet suivant"
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      msgid "Previous tab"
      msgstr "Onglet précédent"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      msgid "Show Tabs"
      msgstr "Afficher les onglets"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr "Impossible de lancer le terminal externe : %s"
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      msgid "Unable to locate default shell in configuration file"
      msgstr ""
      "Impossible de trouver le shell par défaut dans le fichier de configuration"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      msgid "New terminal"
      msgstr "Nouveau terminal"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr "Émulateur de terminal multi-onglet"
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Impossible d'écrire la configuration par défaut : %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "Impossible de lire la valeur de la clé « %s » : %s"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      msgid "Terminal"
      msgstr "Terminal"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      msgid "Close terminal"
      msgstr "Fermer le terminal"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, c-format
      msgid "Unable to run command: %s"
      msgstr "Impossible d'exécuter la commande : %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr "Fournit une vue d'ensemble du document courant"
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr "Basculer la visibilité"
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr "Basculer la position droite/gauche"
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr "Basculer l'inversion de l'overlay"
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr "Ligne %d, colonne %d, position %d"
      
      #: ../overview/overview/overviewui.c:289
      msgid "Show Overview"
      msgstr "Afficher la vue d'ensemble"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      "Combien zoomer la vue d'ensemble. Ceci devrait probablement être négatif si "
      "vous voulez que la barre latérale soit dézoomée."
      
      #: ../overview/data/prefs.ui.h:2
      #, fuzzy
      msgid "Zoom Level:"
      msgstr "Niveau de zoom :"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr "Largeur de la vue d'ensemble."
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr "Largeur :"
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      "Nombre de lignes à faire défiler en même temps lors du défilement de la vue "
      "d'ensemble"
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr "Lignes à faire défiler :"
      
      #: ../overview/data/prefs.ui.h:7
      msgid "Position on left"
      msgstr "Placer à gauche"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      "Placer la vue d'ensemble sur la gauche plutôt que la droite (nécessite Geany "
      "1.25 ou plus récent)."
      
      #: ../overview/data/prefs.ui.h:9
      msgid "Hide tooltip"
      msgstr "Cache l'infobulle"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      "Cacher l'infobulle qui est affichée lorsque la souris est au dessus de la vue "
      "d'ensemble et qui affiche les ligne, colonne et position."
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr "Cacher la barre de défilement de l'éditeur"
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      "Choisit s'il faut cacher la barre de défilement classique de l'éditeur "
      "lorsque la vue d'ensemble est visible."
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr "Désactiver l'overlay"
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      "Désactive l'overlay qui affiche la partie actuellement visible de l'éditeur "
      "par dessus la vue d'ensemble."
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      #, fuzzy
      msgid "Options"
      msgstr "Options"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr "Couleur et opacité de l'overlay dessiné par dessus la vue d'ensemble."
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr "Couleur :"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      "Couleur et opacité de la bordure dessinée autour de la partie visible dans "
      "la vue d'ensemble. Utilisez la même couleur que pour l'overlay pour "
      "désactiver la bordure."
      
      #: ../overview/data/prefs.ui.h:19
      msgid "Outline Color:"
      msgstr "Couleur de la bordure :"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr "Dessiner par dessus la partie visible"
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      "Quand activé, l'overlay sera dessiné sur la partie visible dans l'éditeur.  "
      "Sinon, il sera dessiné au dessus de la partie cachée, « révélant » la partie "
      "visible."
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr "Overlay"
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      "Trouve et met en évidence les balises HTML ouvrantes et fermantes "
      "correspondantes"
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr "Assistant de _traduction"
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr "Chaîne _précédente"
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr "Aller à la chaîne précédente"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr "Chaîne suiva_nte"
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr "Aller à la chaîne suivante"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr "Non-traduite pr_écédente"
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr "Aller à la chaîne non-traduite précédente"
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr "Non-traduite s_uivante"
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr "Aller à la chaîne non-traduite suivante"
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr "Appro_ximative précédente"
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr "Aller à la chaîne traduite approximativement précédente"
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr "Approximati_ve suivante"
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr "Aller à la chaîne traduite approximativement suivante"
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr "Non-traduite ou _approximative précédente"
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr "Aller à la chaîne non-traduite ou approximative précédente"
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr "Non-traduite ou approximative _suivante"
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr "Aller la chaîne non-traduite ou approximative suivante"
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      msgid "Toggle current translation fuzziness"
      msgstr "Basculer l'état approximatif de la chaîne courante"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr "Basculer l'état approxima_tif"
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr "Copier le _message dans la traduction"
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr "Copier la chaîne non-traduite originale dans la traduction"
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr "Reformater la chaîne de traduction courante"
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr "_Reformater la traduction"
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      msgid "Show statistics of the current document"
      msgstr "Afficher les statistiques du document courant"
      
      #: ../pohelper/data/menus.ui.h:25
      msgid "_Show stats"
      msgstr "Afficher les _statistiques"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      "Active ou désactive la mise-à-jour des en-têtes de traduction (auteur, date "
      "de révision, etc.) lors de l'enregistrement du fichier"
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr "Mettre à _jour les en-têtes lors de l'enregistrement"
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr "Statistiques de la traduction"
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr "Sélectionner une couleur pour les chaînes traduites"
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr "Sélectionner une couleur pour les chaînes traduites approximativement"
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr "Sélectionner une couleur pour les chaînes non-traduites"
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr "Traduites :"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr "Approximatives :"
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr "Non-traduites :"
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr "Assistant de traduction"
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr "Améliore la gestion des fichiers de traduction GetText."
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr "Traduites : %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr "Approximatives : %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr "Non-traduites : %.3g%%"
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr "%u (%.3g%%)"
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr "Copier la chaîne non-traduite originale dans la traduction"
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      "Impossible de trouver le widget « %s » dans la définition d'interface, "
      "veuillez vérifier votre installation."
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr "Formate un fichier XML pour le rendre lisible par des humains"
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Commentaires"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr "Mettre sur une ligne"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr "Inliner si possible"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Alignement"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr "Nœuds texte"
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "CDATA"
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr "Nœuds vides"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr "Concaténation ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr "Espace ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr "Expansion ( to )"
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Indentation"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Espace"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "Retour à la ligne"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      msgid "Project Organizer"
      msgstr "Organisateur de projet"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      "Arborescence de projet, indexation et recherche dans le projet et options de "
      "navigation additionnelles (anciennement GProject)"
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      msgid "Find in Project Files..."
      msgstr "Rechercher dans les fichiers du projet…"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr "Rechercher dans les fichiers du projet"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      msgid "Find Project File..."
      msgstr "Rechercher un fichier du projet…"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr "Rechercher un fichier du projet"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      msgid "Find Project Symbol..."
      msgstr "Rechercher un symbole du projet…"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      msgid "Find project symbol"
      msgstr "Rechercher un symbole du projet"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr "Basculer à l'en-tête/la source"
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr "Basculer à l'en-tête/la source"
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr "Ouvrir le fichier sélectionné (Organisateur de projet)"
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr "Motifs de sources :"
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      "Une liste séparée par des espaces de motifs utilisés pour identifier les "
      "fichiers source. Utilisée pour basculer entre l'en-tête et la source."
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr "Motifs d'en-têtes :"
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      "Une liste séparée par des espaces de motifs utilisés pour identifier les "
      "fichiers d'en-tête. Utilisée pour basculer entre l'en-tête et la source."
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid "Ignored file patterns:"
      msgstr "Motifs de dossiers ignorés :"
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      "Une liste séparée par des espaces de motifs utilisés pour identifier les "
      "fichiers à ne pas afficher dans l'arborescence du projet."
      
      #: ../projectorganizer/src/prjorg-project.c:611
      msgid "Ignored directory patterns:"
      msgstr "Motifs de dossiers ignorés :"
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      "Une liste séparée par des espaces de motifs utilisés pour identifier les "
      "dossiers à ignorer."
      
      #: ../projectorganizer/src/prjorg-project.c:623
      msgid "Index all project files:"
      msgstr "Indexer tous les fichiers du projet :"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr "Automatique (indexer s'il y a moins de 300 fichiers)"
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "Yes"
      msgstr "Oui"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      msgid "No"
      msgstr "Non"
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      "Génère la liste des symboles pour tous les fichiers du projet et non "
      "uniquement ceux ouverts. Peut être lent avec de gros projets."
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      "Note : les motifs ci-dessus n'ont d'impact que sur la barre latérale et ne "
      "sont pas utilisés dans le dialogue\n"
      "« Rechercher dans les fichiers ». Vous pouvez restreindre la liste des "
      "fichiers appartenant au projet en définissant\n"
      "les « Motifs de fichier » dans l'onglet « Projet » (ceux-ci sont aussi "
      "utilisés dans le dialogue « Rechercher dans\n"
      "les fichiers »)."
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr "Rechercher un fichier"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr "Rechercher dans :"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr "Rechercher dans le chemin complet"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      msgid "project or external directory"
      msgstr "projet ou dossier externe"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      msgid "Add External Directory"
      msgstr "Ajouter un dossier externe"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      msgid "Add"
      msgstr "Ajouter"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      msgid "Find Symbol"
      msgstr "Rechercher un symbole"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr "Type de correspondance :"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr "Définissez les motifs de fichiers dans « Projet → Propriétés »"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr "Tout recharger"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      msgid "Add external directory"
      msgstr "Ajouter un dossier externe…"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Tout étendre"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr "Plier jusqu'à la racine du projet"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr "Suivre l'éditeur actif"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr "Ouvrez un projet pour commencer à utiliser le plugin"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr "Tout déplier"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      msgid "Find in Files..."
      msgstr "Rechercher dans les fichiers…"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      msgid "Find File..."
      msgstr "Rechercher un fichier…"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      msgid "Find Symbol..."
      msgstr "Rechercher un symbole…"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      msgid "Remove External Directory"
      msgstr "Supprimer le dossier externe"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "Débo_guer"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "_Programmes récents"
      
      #: ../scope/data/scope.glade.h:4
      #, fuzzy
      msgid "_Run/Continue"
      msgstr "Exécute_r / continuer"
      
      #: ../scope/data/scope.glade.h:5
      #, fuzzy
      msgid "Run to _Cursor"
      msgstr "Exécuter jusqu'au _curseur"
      
      #: ../scope/data/scope.glade.h:6
      #, fuzzy
      msgid "Run to _Source"
      msgstr "Exécuter jusqu'à la _source"
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:11
      #, fuzzy
      msgid "Toggle _Breakpoint"
      msgstr "Basculer le point d'arrêt"
      
      #: ../scope/data/scope.glade.h:12
      #, fuzzy
      msgid "_GDB Command"
      msgstr "Commande _GDB"
      
      #: ../scope/data/scope.glade.h:13
      #, fuzzy
      msgid "_More"
      msgstr "_Plus"
      
      #: ../scope/data/scope.glade.h:14
      #, fuzzy
      msgid "_Show Terminal"
      msgstr "Afficher le _terminal"
      
      #: ../scope/data/scope.glade.h:15
      #, fuzzy
      msgid "_Reset Markers"
      msgstr "_Réinitialiser les marqueurs"
      
      #: ../scope/data/scope.glade.h:16
      #, fuzzy
      msgid "_Cleanup Files"
      msgstr "Nettoyer les fichiers"
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      #, fuzzy
      msgid "_Window"
      msgstr "_Fenêtre"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:24
      #, fuzzy
      msgid "S_ynchronize"
      msgstr "S_ynchroniser"
      
      #: ../scope/data/scope.glade.h:25
      #, fuzzy
      msgid "_Interrupt"
      msgstr "_Interrompre"
      
      #: ../scope/data/scope.glade.h:26
      #, fuzzy
      msgid "_Send Signal"
      msgstr "Envoyer un _signal"
      
      #: ../scope/data/scope.glade.h:27
      msgid "S_elect on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:29
      #, fuzzy
      msgid "_Stopped"
      msgstr "_Arrêté"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      #, fuzzy
      msgid "_Follow"
      msgstr "Suivre"
      
      #: ../scope/data/scope.glade.h:32
      #, fuzzy
      msgid "_Columns"
      msgstr "_Colonnes"
      
      #: ../scope/data/scope.glade.h:33
      #, fuzzy
      msgid "Show _Group"
      msgstr "Afficher le _groupe"
      
      #: ../scope/data/scope.glade.h:34
      msgid "Show _Core"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      #, fuzzy
      msgid "Show _Address"
      msgstr "Afficher l'adresse"
      
      #: ../scope/data/scope.glade.h:40
      #, fuzzy
      msgid "_Modify"
      msgstr "_Modifier"
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:42
      #, fuzzy
      msgid "_Inspect"
      msgstr "_Inspecter"
      
      #: ../scope/data/scope.glade.h:43
      #, fuzzy
      msgid "_8-bit mode"
      msgstr "mode _8 bits"
      
      #: ../scope/data/scope.glade.h:44
      #, fuzzy
      msgid "_Default"
      msgstr "Par _défaut"
      
      #: ../scope/data/scope.glade.h:45
      #, fuzzy
      msgid "_7 bit"
      msgstr "_7 bits"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      #, fuzzy
      msgid "_Show .names"
      msgstr "Afficher le statut"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      #, fuzzy
      msgid "_Apply"
      msgstr "_Appliquer"
      
      #: ../scope/data/scope.glade.h:57
      #, fuzzy
      msgid "_Expand"
      msgstr "_Étendre"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr "_Décimal"
      
      #: ../scope/data/scope.glade.h:61
      #, fuzzy
      msgid "_Hex"
      msgstr "_Hexadécimal"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr "_Octal"
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "_Binaire"
      
      #: ../scope/data/scope.glade.h:64
      #, fuzzy
      msgid "_Raw"
      msgstr "B_rut"
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      #, fuzzy
      msgid "_Inspect Variable"
      msgstr "_Inspecter les variables"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr "Threads"
      
      #: ../scope/data/scope.glade.h:69
      #, fuzzy
      msgid "Stack"
      msgstr "Pile"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:72
      #, fuzzy
      msgid "Memory"
      msgstr "Mémoire"
      
      #: ../scope/data/scope.glade.h:73
      #, fuzzy
      msgid "Enter gdb command:"
      msgstr "Insérer une commande GDB :"
      
      #: ../scope/data/scope.glade.h:74
      msgid "Convert _UTF-8 to locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr "_Thread"
      
      #: ../scope/data/scope.glade.h:76
      #, fuzzy
      msgid "_Group"
      msgstr "_Groupe"
      
      #: ../scope/data/scope.glade.h:77
      #, fuzzy
      msgid "_Frame"
      msgstr "Page"
      
      #: ../scope/data/scope.glade.h:78
      msgid "Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:79
      #, fuzzy
      msgid "_Executable:"
      msgstr "_Exécutable :"
      
      #: ../scope/data/scope.glade.h:80
      #, fuzzy
      msgid "_Arguments:"
      msgstr "_Arguments :"
      
      #: ../scope/data/scope.glade.h:81
      #, fuzzy
      msgid "En_vironment:"
      msgstr "En_vironnement :"
      
      #: ../scope/data/scope.glade.h:82
      #, fuzzy
      msgid "_Working dir:"
      msgstr "Dossier de travail :"
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      #, fuzzy
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      "Supprimer tous les points d'arrêt, watches (?), inspects (?) et registres (?)"
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program"
      msgstr "Programme"
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      #, fuzzy
      msgid "Update all _views"
      msgstr "Mettre à jour toutes les _vues"
      
      #: ../scope/data/scope.glade.h:93
      #, fuzzy
      msgid "Panel"
      msgstr "Panneau"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr "Mode de texte 8-bit par défaut :"
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:96
      #, fuzzy
      msgid "Display"
      msgstr "Affichage"
      
      #: ../scope/data/scope.glade.h:97
      #, fuzzy
      msgid "_member"
      msgstr "_membre"
      
      #: ../scope/data/scope.glade.h:98
      #, fuzzy
      msgid "and"
      msgstr "et"
      
      #: ../scope/data/scope.glade.h:99
      #, fuzzy
      msgid "_argument"
      msgstr "_argument"
      
      #: ../scope/data/scope.glade.h:100
      #, fuzzy
      msgid "names"
      msgstr "noms"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr "Valeurs"
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:103
      #, fuzzy
      msgid "S_how"
      msgstr "Affic_her"
      
      #: ../scope/data/scope.glade.h:104
      #, fuzzy
      msgid "children"
      msgstr "enfants"
      
      #: ../scope/data/scope.glade.h:105
      #, fuzzy
      msgid "Inspect"
      msgstr "Inspecter"
      
      #: ../scope/data/scope.glade.h:106
      #, fuzzy
      msgid "Show =li_brary messages"
      msgstr "Afficher les messages =li_brary"
      
      #: ../scope/data/scope.glade.h:107
      #, fuzzy
      msgid "Show _tooltips"
      msgstr "Afficher les infobulles"
      
      #: ../scope/data/scope.glade.h:108
      #, fuzzy
      msgid "Others"
      msgstr "Autres"
      
      #: ../scope/data/scope.glade.h:110
      #, fuzzy
      msgid "_Import"
      msgstr "_Importer"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:112
      #, fuzzy
      msgid "Inspect"
      msgstr "Inspecter"
      
      #: ../scope/data/scope.glade.h:113
      #, fuzzy
      msgid "Object:"
      msgstr "Objet :"
      
      #: ../scope/data/scope.glade.h:115
      #, fuzzy
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      #, fuzzy
      msgid "Frame:"
      msgstr "Page :"
      
      #: ../scope/data/scope.glade.h:117
      #, fuzzy
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      #, fuzzy
      msgid "Expand"
      msgstr "Tout déplier"
      
      #: ../scope/data/scope.glade.h:120
      #, fuzzy
      msgid "Start:"
      msgstr "_Début :"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program Terminal"
      msgstr "Terminal de déboguage"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr "Registres"
      
      #: ../scope/src/break.c:97
      #, fuzzy
      msgid "breakpoint"
      msgstr "points d'arrêt"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "points d'arrêt matériels"
      
      #: ../scope/src/break.c:99
      msgid "tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:100
      msgid "fast tracepoint"
      msgstr ""
      
      #: ../scope/src/break.c:101
      msgid "write watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:104
      msgid "access watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:106
      msgid "read watchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:108
      msgid "catchpoint"
      msgstr ""
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      msgid "on load"
      msgstr ""
      
      #: ../scope/src/break.c:142
      #, fuzzy
      msgid "Run to Cursor"
      msgstr "Exécuter jusqu'au curseur"
      
      #: ../scope/src/break.c:1013
      #, fuzzy, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      "Il y a deux points d'arrêt ou plus à %s:%d.\n"
      "\n"
      "Utilisez la liste de points d'arrêt pour supprimer le bon."
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      #, fuzzy
      msgid "Add Breakpoint"
      msgstr "Ajouter un point d'arrêt"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      #, fuzzy
      msgid "Enter char # (0..255):"
      msgstr "Entrez le n° de caractère (0 à 255) :"
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, fuzzy, c-format
      msgid "Scope: %s."
      msgstr "Portée : %s."
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr "GDB s'est terminé de façon inattendue avec le statut %d."
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr ""
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "…"
      
      #: ../scope/src/inspect.c:339
      #, fuzzy
      msgid "invalid data"
      msgstr "données invalides"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr ""
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr ""
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr ""
      
      #: ../scope/src/menu.c:483
      #, fuzzy
      msgid "Inspect variable"
      msgstr "Inspecter la variable"
      
      #: ../scope/src/parse.c:438
      #, fuzzy
      msgid "Undefined GDB error."
      msgstr "Erreur GDB indéfinie."
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select Folder"
      msgstr "Sélectionner un dossier"
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select File"
      msgstr "Sélectionner un fichier"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, fuzzy, c-format
      msgid "Scope: %s: %s."
      msgstr "Scope : %s : %s."
      
      #: ../scope/src/prefs.c:319
      #, fuzzy
      msgid "Scope: created configuration file."
      msgstr "Scope : fichier de configuration créé."
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, fuzzy, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr "Impossible de charger le fichier « %s » : %s"
      
      #: ../scope/src/program.c:383
      #, fuzzy, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      "%s : %s.\n"
      "\n"
      "Continuer ?"
      
      #: ../scope/src/program.c:419
      #, fuzzy
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr "Supprimer tous les points d'arrêt, watches (?), etc. ?"
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      #, fuzzy
      msgid "Scope Debugger"
      msgstr "Débogueur Scope"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr "Interface relativement simple pour GDB."
      
      #: ../scope/src/scope.c:61
      #, fuzzy
      msgid "Setup program"
      msgstr "Configurer le programme"
      
      #: ../scope/src/scope.c:62
      #, fuzzy
      msgid "Run/continue"
      msgstr "Exécuter / continuer"
      
      #: ../scope/src/scope.c:64
      #, fuzzy
      msgid "Run to source"
      msgstr "Exécuter jusqu'à la source"
      
      #: ../scope/src/scope.c:68
      #, fuzzy
      msgid "Terminate"
      msgstr "Terminer"
      
      #: ../scope/src/scope.c:69
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "Ajouter / enlever un point d'arrêt"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      #, fuzzy
      msgid "GDB command"
      msgstr "Commande de GDB"
      
      #: ../scope/src/scope.c:72
      #, fuzzy
      msgid "Show terminal"
      msgstr "Afficher le terminal"
      
      #: ../scope/src/scope.c:225
      #, fuzzy
      msgid "Busy"
      msgstr "Occupé"
      
      #: ../scope/src/scope.c:225
      #, fuzzy
      msgid "Ready"
      msgstr "Prêt"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      #, fuzzy
      msgid "Load"
      msgstr "Charger"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      #, fuzzy
      msgid "Breaks"
      msgstr "Points d'arrêt"
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "Console"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Debug Console"
      msgstr "Console de déboguage"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr ""
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      #, fuzzy
      msgid "Send Signal"
      msgstr "Envoyer un signal"
      
      #: ../scope/src/thread.c:749
      #, fuzzy
      msgid "Enter signal #:"
      msgstr "Saisissez le numéro de signal :"
      
      #: ../scope/src/thread.c:789
      #, fuzzy
      msgid "Terminate Process"
      msgstr "Terminer le processus"
      
      #: ../scope/src/thread.c:789
      #, fuzzy
      msgid "Enter exit code:"
      msgstr "Entrez le code de retour :"
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr ""
      
      #: ../scope/src/thread.c:893
      #, fuzzy
      msgid "Stopped"
      msgstr "Stoppé"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s : %s."
      
      #: ../scope/src/utils.c:45
      #, fuzzy, c-format
      msgid "%s: %s"
      msgstr "%s : %s"
      
      #: ../scope/src/utils.c:225
      #, fuzzy, c-format
      msgid "Scope: error reading [%s]."
      msgstr "Scope : erreur à la lecture [%s]."
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "…"
      
      #: ../scope/src/views.c:549
      #, fuzzy
      msgid "_Send"
      msgstr "_Envoyer"
      
      #: ../scope/src/views.c:549
      #, fuzzy
      msgid "_Busy"
      msgstr "_Occupé"
      
      #: ../scope/src/views.c:558
      #, fuzzy
      msgid "GDB Command"
      msgstr "Commande de GDB"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "Essayez : "
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "Vérification"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "Vérification du fichier « %s » (lignes %d à %d en utilisant %s) :"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "Vérification du fichier « %s » (en utilisant %s) :"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "Le texte vérifié est correctement orthographié."
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "La bibliothèque Enchant ne peut être initialisée (%s)."
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr ""
      "erreur inconnue (la langue sélectionnée n'est peut-être pas disponible)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "Vérification orthographique"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Vérifie l'orthographe du document courant."
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "Lancer la vérification orthographique"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "Basculer la vérification lors de la frappe"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Sélectionner un dossier"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr "Afficher le bouton dans la barre d'outils"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "Afficher les suggestions dans le menu de l'éditeur"
      
      #: ../spellcheck/src/scplugin.c:294
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "Afficher les suggestions dans un sous-menu du menu de l'éditeur"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "Afficher mots et suggestions dans la fenêtre de messages"
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr "Interface"
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Vérifier l'orthographe lors de la frappe"
      
      #: ../spellcheck/src/scplugin.c:330
      msgid "Check spelling when opening a document"
      msgstr "Vérifier l'orthographe à l'ouverture d'un document"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      "Cette option active la vérification des documents lors de leur ouverture dans "
      "Geany ou lorsqu'ils sont rechargés."
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "Langue à utiliser lors de la vérification orthographique :"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "_Dossier où chercher les fichiers de dictionnaire :"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      "Lire les dictionnaires additionnels depuis ce dossier. Pour le moment cela "
      "fonctionne uniquement pour les dictionnaires MySpell."
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr "Comportement"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr ""
      "La vérification orthographique lors de la frappe est maintenant activée"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr ""
      "La vérification orthographique lors de la frappe est maintenant désactivée"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Plus…"
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(Aucune suggestion)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Ajouter « %s » au dictionnaire"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Ignorer tout"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      "Le terme à rechercher est trop long pour afficher\n"
      "les suggestions dans le menu de l'éditeur."
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "Effectuer la vérification orthographique"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Par défaut (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr ""
      "Basculer la vérification orthographique lors de la frappe (langue courante : "
      "%s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "Suggestions d'orthographe"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "Déplacer une colonne"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "Déplacer une sélection vers la gauche ou la droite"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "Déplacer vers la gauche"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "Déplacer vers la droite"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Convertisseur en tableau"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr "Convertit des listes en tableaux"
      
      #: ../tableconvert/src/tableconvert.c:42
      msgid "LaTeX"
      msgstr "LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr "HTML"
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr "SQL"
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr "DokuWiki"
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Une erreur est survenue lors de l'analyse de la sélection.  Arrêt"
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr "Convertir la sélection en tableau"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "_Convertir en tableau"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "Convertit la liste marquée actuellement en tableau."
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr "Plus de conversions en _tableau"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      "Ajoute un navigateur de fichiers à Geany, permettant à l'utilisateur de "
      "naviguer dans les fichiers avec une arborescence de dossiers."
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s : aucun répertoire de ce type."
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(Vide)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Impossible d'exécuter la commande d'ouverture externe « %s » (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "NouveauDossier"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "NouveauFichier"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "Le fichier de destination « %s » existe, voulez-vous vraiment le remplacer "
      "par un fichier vide ?"
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Voulez-vous vraiment supprimer « %s » ?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Dossier parent"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Définir le chemin depuis le document"
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr "_Ouvrir dans un programme externe"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Ouvrir dans un terminal"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Définir comme racine"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Rafraîchir"
      
      #: ../treebrowser/src/treebrowser.c:1234
      msgid "_Find in Files"
      msgstr "Rechercher dans les _fichiers"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Créer un nouveau dossier"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Créer un nouveau fichier"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Renommer"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Supprimer"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Fermer « %s »"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr "Fermer les documents enfants"
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr "_Copier le chemin complet dans le presse-papier"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Tout replier"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Afficher les marque-pages"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Afficher les fichiers cachés"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr "Afficher les barres d'outils"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      "Le fichier de destination « %s » existe déjà, voulez-vous vraiment le "
      "remplacer ?"
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Dossier personnel"
      
      # Qu'est-ce que ça fait en pratique ?
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr "Suivre le chemin"
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "Cacher les barres d'outils"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Barre de chemin, par exemple « /projets/mon-projet »"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Commande du programme externe"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      "La commande à exécuter pour l'action « Ouvrir dans un programme externe »  "
      "Vous pouvez utiliser les marqueurs %f et %d.\n"
      "%f sera remplacé par le chemin complet du fichier\n"
      "%d sera remplacé par le chemin complet du dossier qui contient le fichier"
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr "Le terminal à utiliser avec la commande « Ouvrir dans un terminal »"
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "Barre d'outils"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "Cachée"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "Au dessus"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "En dessous"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr "Cette option nécessite un redémarrage du plugin."
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr "Afficher les icônes"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "Aucune"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr "Basiques"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr "Depuis le type de contenu"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      "Sous Windows cette option ne cache que les fichiers dont le nom commence par "
      "un « . » (un point)"
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Cacher les fichiers objets"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Ne pas afficher les objets auto-générés dans le navigateur de fichiers (*.o, "
      "*.obj. *.so, *.dll, *.a et *.lib entre autres)"
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr "Inverser le filtre"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr "Suivre le document courant"
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr "Un simple clic ouvre le document et lui donne le focus"
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Un double clic ouvre le dossier"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "Fermer les fichiers lorsqu'ils sont supprimés"
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr "Donner le focus à l'éditeur lors de l'ouverture d'un fichier"
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr "Afficher les guides d'arborescence"
      
      #: ../treebrowser/src/treebrowser.c:2053
      msgid "Open new files"
      msgstr "Ouvrir les nouveaux fichiers"
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "Aller à la liste de fichiers"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr "Aller au champ de chemin"
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr "Renommer l'objet"
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr "Créer un nouveau fichier"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr "Créer un nouveau dossier"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr "Recherche de mises à jour"
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr "Vérifie s'il y a des mises à jour disponibles pour Geany."
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Une version plus récente de Geany est disponible : %s"
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr "Il n'y a pas de version plus récente de Geany disponible"
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      "Impossible de vérifier la version.\n"
      "Code d'erreur : %d\n"
      "Message d'erreur : « %s »"
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr "Rechercher les mises à jour au lancement"
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr "Vérifier les mises à jour"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "fenêtre de messages"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "barre latérale"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr "fenêtre séparée"
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "aucune"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr "à la connexion"
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "normal"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "utilitaire"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s :"
      
      #: ../webhelper/src/gwh-browser.c:474
      msgid "Bookmark this website"
      msgstr "Marquer ce site"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Zoom"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr "Zoom du _contenu"
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr "Inverser l'orientation des panneaux"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Retour"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "Suivant"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "Arrêter le chargement"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Recharger la page courante"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr "Informations et options du site"
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr "Inspecteur web"
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr "Basculer l'inspecteur web"
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr "Assistant web"
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      "Affiche une page web de prévisualisation mise à jour lorsqu'un document est "
      "enregistré et fournit des outils d'analyse et de déboguage web (« Inspecteur "
      "web ») en utilisant WebKit."
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr "Vue web"
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr "Aperçu web"
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr "Recharger lorsqu'un document est enregistré"
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr "Rechargement automatique du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      "Choisit si le navigateur recharge la page affichée lorsqu'un document est "
      "enregistré"
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr "Dernière URI du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr "Dernière URI visitée par le navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:330
      msgid "List of bookmarks"
      msgstr "Liste des marque-pages"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr "Orientation du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr "Orientation du widget de navigation"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr "Position du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr "Position du widget de navigation dans l'interface de Geany"
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr "Géométrie de la fenêtre de navigation séparée"
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr "Dernière géométrie de la fenêtre de navigation séparée"
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr "Géométrie de la fenêtre d'inspection"
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr "Dernière géométrie de la fenêtre d'inspection"
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr "Inspecteur détaché"
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      "Choisit si l'inspecteur est affiché dans une fenêtre séparée ou attaché au "
      "navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr "Ne pas afficher les fenêtres secondaires dans la barre des tâches"
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      "Choisit s'il faut demander au gestionnaire de fenêtres de ne pas afficher "
      "les fenêtres secondaires dans la barre des tâches"
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr "Les fenêtres secondaires sont éphémères"
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      "Choisit si les fenêtres secondaires sont des enfants éphémères de leur parent"
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr "Type des fenêtres secondaires"
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr "Le type des fenêtres secondaires"
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr "Basculer l'inspecteur web"
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr "Afficher/cacher la fenêtre du navigateur"
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr "Ajouter/supprimer le marque-page du site courant"
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr "Navigateur"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr "Fenêtres"
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "Améliore la gestion de LaTeX"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "Erreur lors de la mise en place du langage pour la vérification "
      #~ "orthographique. Veuillez vérifier la configuration. Le message d'erreur "
      #~ "était : %s"
      
      #~ msgid ""
      #~ "Unable to paste the code on codepad.org\n"
      #~ "Retry or select another pastebin."
      #~ msgstr ""
      #~ "Impossible d'envoyer le code sur codepad.org\n"
      #~ "Réessayez avec un autre pastebin."
      
      #~ msgid ""
      #~ "Unable to paste the code. Check your connection and retry.\n"
      #~ "Error code: %d\n"
      #~ msgstr ""
      #~ "Impossible d'envoyer le code.  Vérifiez votre connexion et réessayez.\n"
      #~ "Le code d'erreur est : %d\n"
      
      #~ msgid "Find Project Tag..."
      #~ msgstr "Rechercher un symbole du projet…"
      
      #~ msgid "Find project tag"
      #~ msgstr "Rechercher un symbole du projet"
      
      #~ msgid "Generate tags for all project files:"
      #~ msgstr "Générer les tags pour tous les fichiers du projet :"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "Convertir des listes en tableaux"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "Ce plugin ajoute des fonctionnalités pour faciliter la navigation entre "
      #~ "les fichiers sources.\n"
      #~ "Pour le moment, il fournit :\n"
      #~ "- basculer d'un fichier .cpp au fichier .h correspondant\n"
      #~ "- [ouvrir un fichier en tapant son nom -> À FAIRE]"
      
      #~ msgid "Goto file"
      #~ msgstr "Aller au fichier"
      
      #, fuzzy
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(Du plugin %s)"
      
      #~ msgid "Glob-pattern-based project management plugin for Geany."
      #~ msgstr "Plugin de gestion de project pour Geany basé sur les pattern glob."
      
      #~ msgid ""
      #~ "Space separated list of patterns that are used to identify source files."
      #~ msgstr ""
      #~ "Une liste séparée par des espaces de patterns utilisées pour identifier "
      #~ "les fichiers source."
      
      #~ msgid ""
      #~ "Note: set the patterns of files belonging to the project under the "
      #~ "Project tab."
      #~ msgstr ""
      #~ "Note : définissez les patterns des fichiers faisant partie du projet dans "
      #~ "l'onglet Projet."
      
      #~ msgid "No update available"
      #~ msgstr "Aucune mise à jour n'est disponible"
      
      #, fuzzy
      #~ msgid "%s: error %lu."
      #~ msgstr "%s : erreur %lu."
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "Ajout d'un point d'arrêt #%s dans %s() à %s:%s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "Ajout d'un point d'arrêt #%s à %s:%s\n"
      
      #~ msgid "code="
      #~ msgstr "code="
      
      #~ msgid "reason:"
      #~ msgstr "raison :"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "Fermeture du programme cible.\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "Tue le programme cible.\n"
      
      #, fuzzy
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "Timeout alors que l'on attendait le processus cible"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "Attente de la fin du processus cible.\n"
      
      #~ msgid "Enabled"
      #~ msgstr "Activé"
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "Affiche des informations supplémentaires sur l'élément sélectionné"
      
      #~ msgid "Local variables"
      #~ msgstr "Variables locales"
      
      #, fuzzy
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "Affiche des informations supplémentaires sur la frame sélectionnée"
      
      #~ msgid "Google Code"
      #~ msgstr "Google Code"
      
      #~ msgid "Search for current tag in Google Code Search"
      #~ msgstr "Rechercher le symbole courant sur Google Code Search"
      
      #, fuzzy
      #~ msgid "Directory '%s' not exists."
      #~ msgstr "Répertoire %s introuvable !\n"
      
      #~ msgid "geany mini-script"
      #~ msgstr "mini-script pour geany"
      
      #~ msgid "GMS (Geany Mini-Script filter plugin)"
      #~ msgstr "GMS ( plugin Geany Mini-Script)"
      geany-plugins-1.27/po/tr.po0000644000175000017500000057540212671261352016140 0ustar00frlanfrlan00000000000000# Turkish translation for geany-plugins
      # Copyright (C) 2009 - 2014 THE PACKAGE'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the geany-plugins package.
      #
      # Gürkan Gür , 2009 - 2014
      #
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: \n"
      "Last-Translator: Gürkan Gür \n"
      "Language-Team: \n"
      "Language: \n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "X-Poedit-SourceCharset: utf-8\n"
      "Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(Boş Satır)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      msgid "_Remove Bookmark"
      msgstr "Ye_r İmini Kaldır"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "No."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "İçerik"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "Yer İmleri"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "G_üncelle"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr "Mesa_j Penceresini Gizle"
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      msgid "File"
      msgstr "Dosya"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr "Satır"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Tür"
      
      #: ../addons/src/ao_tasks.c:445
      msgid "Task"
      msgstr "Görev"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "Görevler"
      
      #: ../addons/src/ao_tasks.c:542
      msgid "Context:"
      msgstr "İçerik:"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr "XML etiketleme"
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr "Eklenecek etiket adı:"
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      "%s şimdiki seçiminizin yerine geçecek. Lütfen ne seçtiğinize dikkat edin."
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "Adres Aç"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "Adresi Kopyala"
      
      #: ../addons/src/ao_wrapwords.c:252
      #, fuzzy
      msgid "Enclose Characters"
      msgstr "Kapatma Karakteri"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      msgid "Cancel"
      msgstr "İptal"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:279
      msgid "Opening Character"
      msgstr "Açma Karakteri"
      
      #: ../addons/src/ao_wrapwords.c:286
      msgid "Closing Character"
      msgstr "Kapatma Karakteri"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "Di_ğer Dosyaları Kapat"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "Tümü_nü Kapat"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "Döküman Listesini Göster"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, fuzzy, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr "Tam yolu panoya _kopyala"
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      #, fuzzy
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "Mevcut belgenin imla denetimini yapar."
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "Eklentiler"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "Geany için birkaç ufak eklenti."
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "Yer İmleri Listesini Odakla"
      
      #: ../addons/src/addons.c:311
      msgid "Focus Tasks List"
      msgstr "Görev Listesini Odakla"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr "Görev lListesini Güncelle"
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "Eklenti düzenleme dizini oluşturulamadı."
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr ""
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr "Döküma_nları isme göre sırala"
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:472
      msgid "Sort the documents in the order of the document tabs"
      msgstr "Dökümanları döküman sekmelerinin düzeninde sırala"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:504
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr ""
      
      #: ../addons/src/addons.c:510
      msgid "Show available Tasks in the Messages Window"
      msgstr "Mesajlar penceresinde erişilebilir görevleri göster"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr "Tüm dökümanlardan görevleri göster"
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "Bildiri alanında durum simgesi göster"
      
      #: ../addons/src/addons.c:552
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr ""
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      #, fuzzy
      msgid "Indent when enclosing"
      msgstr "Hiçbir kodlama ayarlama"
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "İşaretçiyi satırın sonuna kaydır"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "Tarayıcı oryantasyonu"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "Seçimi iptal et"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "Seçimi bir seviye aşağıya ayarla"
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "Kod gezgini"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr ""
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      #, fuzzy
      msgid "Reset to Default"
      msgstr "Varsayılan"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, c-format
      msgid "%s not found, create it?"
      msgstr "%s bulunamadı, oluşturulsun mu?"
      
      #: ../commander/src/commander-plugin.c:43
      msgid "Commander"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      msgid "Show Command Panel"
      msgstr "Komut Panelini Göster"
      
      #: ../debugger/src/plugin.c:56
      msgid "Debugger"
      msgstr "Hata Ayıklayıcı"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      msgid "Debug"
      msgstr "Hata Ayıkla"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      msgid "Name"
      msgstr "İsim"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr "Değer"
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr "Hedef Dosyayı Seçin"
      
      #. target
      #: ../debugger/src/tpage.c:252
      msgid "Target:"
      msgstr "Hedef:"
      
      #: ../debugger/src/tpage.c:255
      msgid "Browse"
      msgstr "Gözat"
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      msgid "Debugger:"
      msgstr "Hata Ayıklayıcı:"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      msgid "Command Line Arguments"
      msgstr "Komut Satırı Argümanları"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      msgid "Environment Variables"
      msgstr "Çevre Değişkenleri"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      msgid "Delete variable?"
      msgstr "Değişkeni sil?"
      
      #: ../debugger/src/bptree.c:676
      msgid "Location"
      msgstr "Konum"
      
      #: ../debugger/src/bptree.c:685
      msgid "Condition"
      msgstr "Durum"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr "Sonuç sayısı"
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr "satır %i"
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "Program sinyal aldı:"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, c-format
      msgid "Program exited with code \"%i\""
      msgstr "Program \"%i\" kodu ile sonlandı"
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr "Gdb işlemi çalıştırılamadı"
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr "~\"Hedef dosya yükleniyor.\\n\""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr "Dosya yüklenirken hata"
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr "GDB ayarlanırken hata"
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr "Kaynak dosya \"%s\" bulunamadı"
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr ""
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Adres"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      msgid "Function"
      msgstr "İşlev"
      
      #: ../debugger/src/tabs.c:132
      msgid "Target"
      msgstr "Hedef"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "Aralıklar"
      
      #: ../debugger/src/tabs.c:138
      msgid "Watch"
      msgstr ""
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      msgid "Call Stack"
      msgstr ""
      
      #: ../debugger/src/tabs.c:147
      msgid "Debug Terminal"
      msgstr "Hata Ayıklama Terminali"
      
      #: ../debugger/src/tabs.c:150
      msgid "Debugger Messages"
      msgstr "Hata Ayıklayıcı Mesajları"
      
      #: ../debugger/src/keys.c:49
      msgid "Run / Continue"
      msgstr "Çalıştır/ Devam Et"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr "Dur"
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      msgid "Restart"
      msgstr "Yeniden Başlat"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      msgid "Step into"
      msgstr ""
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      msgid "Step out"
      msgstr ""
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      msgid "Run to cursor"
      msgstr ""
      
      #: ../debugger/src/keys.c:56
      msgid "Add / Remove breakpoint"
      msgstr "Kesme noktası ekle/çıkart"
      
      #: ../debugger/src/keys.c:57
      #, fuzzy
      msgid "Jump to the current instruction"
      msgstr "Yürütülen fonksiyonu tamamla."
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      msgid "Run"
      msgstr "Çalıştır"
      
      #: ../debugger/src/btnpanel.c:132
      msgid "Settings"
      msgstr "Ayarlar"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr "Çift panel modu"
      
      #: ../debugger/src/btnpanel.c:154
      msgid "Continue"
      msgstr "Devam"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      msgid "Documentation"
      msgstr "Belgelendirme"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr "Kod"
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr "Devhelp"
      
      #: ../devhelp/src/dhp-object.c:397
      msgid "Manual Pages"
      msgstr "Yardım Sayfaları"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr "Bir sayfa geri git"
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr "Bir sayfa ileri git"
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr "Yakınlaştır"
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr "Uzaklaştır"
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr "Ara"
      
      #: ../devhelp/src/dhp-object.c:1305
      #, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "Belgelerde '%s' için ara"
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr "Devhelp Eklentisi"
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr "'%s' adresinde ayar dizini oluşturulamadı"
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr "Öntanımlı seçenekler alınamadı: %s"
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr "Öntanımlı ayarlar yazılamadı: %s"
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr "Yan panelde içerik sekmesini aç/kapa"
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr "Yan panelde arama sekmesini aç/kapa"
      
      #: ../devhelp/src/dhp-plugin.c:176
      msgid "Toggle documentation tab"
      msgstr "Belgelendirme sekmesini aç/kapat"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr "Tüm sekmeleri etkinleştir"
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      msgid "Book:"
      msgstr "Kitap:"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "Kitap"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      msgid "Page"
      msgstr "Sayfa"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr "Anahtar kelime"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      msgid "Macro"
      msgstr "Makro"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr "Şurada ara:"
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr "50%"
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr "75%"
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr "100%"
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr "125%"
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr "150%"
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr "175%"
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr "200%"
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr "300%"
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr "400%"
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "_Dosya"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      msgid "_Edit"
      msgstr "Düz_enle"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr "_Bak"
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr "_Git"
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr "_Yardım"
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr "Ye_ni Pencere"
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr "_Yeni Sekme"
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr "Ya_zdır..."
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      msgid "Find Next"
      msgstr "Sonrakini Bul"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      msgid "Find Previous"
      msgstr "Öncekini Bul"
      
      #: ../devhelp/devhelp/dh-window.c:791
      msgid "Go to the previous page"
      msgstr "Önceki sayfaya git"
      
      #: ../devhelp/devhelp/dh-window.c:794
      msgid "Go to the next page"
      msgstr "Sonraki sayfaya git"
      
      #: ../devhelp/devhelp/dh-window.c:797
      msgid "_Contents Tab"
      msgstr "İ_çerik Sekmesi"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr "Arama _Sekmesi"
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr "B_üyük Yazı"
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr "Yazı boyutunu büyüt"
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr "Kü_çük Yazı"
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr "Yazı boyutunu küçült"
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr "_Normal Boyut"
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr "Normal yazı boyutunu kullan"
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr "Tam ekran modundan çık"
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr "Tam ekran olarak göster"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      msgid "Larger"
      msgstr "Daha Büyük"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr "Daha Küçük"
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr "Devhelp Hakkında"
      
      #: ../devhelp/devhelp/dh-window.c:1100
      msgid "Preferences…"
      msgstr "Seçenekler..."
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr "İstenilen bağlantıyı açarken hata oluştu."
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      msgid "Empty Page"
      msgstr "Boş Sayfa"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr "Bul:"
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr "Aranan metnin önceki sonucunu bul"
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr "Aranan metnin sonraki sonucunu bul"
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr "Büyük/küçük h_arf duyarlı"
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      #, fuzzy
      msgid "Toggle case sensitive search"
      msgstr "Yan panelde arama sekmesini aç/kapa"
      
      #: ../geanyctags/src/geanyctags.c:51
      #, fuzzy
      msgid "Ctags generation and search plugin for geany projects"
      msgstr "Geany için gpg şifreleme anahtarı eklentisi"
      
      #: ../geanyctags/src/geanyctags.c:149
      #, fuzzy, c-format
      msgid "%s (in directory: %s)"
      msgstr "%s: dosya veya dizin bulunamadı."
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      #, fuzzy
      msgid "Find Tag"
      msgstr "Bul:"
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "Şunun için ara:"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "Mektup"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr "Büyük/küçük h_arf duyarlı"
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "İlişkisel"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "Genel"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "Bul:"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "Sonrakini Bul"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "Dök."
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "Komutun çıktısı ayrıştırılamadı"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "Çıktıyı önbelleğe koy"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "Komut 0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "Komut 1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w mevcut cümle ile yer değiştirecek\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr ""
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Extra Selection"
      msgstr "Fazladan seçim"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr "Fazladan Se_çim"
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr "S_ütun Modu"
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr "Sütun Modu"
      
      #: ../geanyextrasel/src/extrasel.c:516
      msgid "Select to _Line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:520
      msgid "Select to line"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      msgid "Convert selection"
      msgstr "Seçimi dönüştür"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      msgid "Select to _Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:547
      msgid "Select to anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr "mantıksal değer"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr "geçersiz mantıksal değer \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr "geçersiz şablon: %s"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr "konum ismi"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr "geçersiz konum \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr "hareket ismi"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr "geçersiz hareket \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      msgid "type"
      msgstr "tür"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr "geçersiz tür \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr "geçersiz ayar ismi \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr "tanımlayıcı ayarlanıyor"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr "Bilinmeyen tür \"%s\", yazım hatası mı yaptınız?"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr "belgelendirme türü"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      msgid "setting"
      msgstr "ayar"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      msgid "section name"
      msgstr "bölüm adı"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr "geçersiz bölüm adı \"%s\""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr "girdi boş"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr "%s:%u:%u: %s"
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr "Geçersiz etiket"
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      msgid "Documentation Generator"
      msgstr "Belge Oluşturucu"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr "Kaynak kodu temel alarak belgelendirmeyi biçimlendirir"
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr "Seçenekler yüklenemedi: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr "Seçenekler kaydedilemedi: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr "\"%s\" dosya türü için yapılandırma dosyası bulunamadı: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr "\"%s\" dosyası yüklenirken hata: %s"
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      msgid "Insert Documentation Comment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      msgid "_Document Current Symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      msgid "Generate documentation for the current symbol"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      msgid "Force reloading of the configuration files"
      msgstr "Ayar dosyalarının tekrar yüklenmesini zorla"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr "G_eçerli Dil Yapılandırmasını Düzenle"
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr "Kullanılan dilin yapılandırma dosyasını düzenlemek üzere aç"
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      msgid "Open _Manual"
      msgstr "Klavuzu A_ç"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr "Kullanım klavuzunu bir tarayıcı ile aç"
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      msgid "_Documentation Generator"
      msgstr "_Belge Oluşturucu"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      msgid "General"
      msgstr "Genel"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr "Belgelendirmeyi oluşturmadan do_syayı kaydet"
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      "Belgelendirme oluşturulmadan dosyanın diske kaydedilip kaydedilmemesini "
      "belirler. Teknik bir detay sayılabilir, ancak şimdilik güncel bir etiket "
      "listesine sahip olmak için gerekli bir işlemdir. Eğer kaydetmeden "
      "belgelendirmenin başlamasını isterseniz, belgelendirme işlemi dosyanın son "
      "kaydedilmiş hali üzerinden yapılacağı için sonuçlar şaşırtıcı olabilir."
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      msgid "Documentation type"
      msgstr "Belgelendirme türü"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      msgid "Global environment"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr "\"%s\" dosyası bulundu ama geçerli değil"
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr "%s: dosya veya dizin bulunamadı"
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr "Yorumu inşada hata: %s"
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr "\"%s\" belgelendirme türü \"%s\" dili için kullanılamaz."
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr "%d satırında geçerli bir etiket yok."
      
      #: ../geanygendoc/src/ggd.c:582
      msgid "No tags in the document"
      msgstr "Dökümanda etiket yok"
      
      #: ../geanygendoc/src/ggd-options.c:326
      msgid "Unknown option"
      msgstr "Bilinmeyen seçenek"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr "Dil"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      msgid "_Change associated documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      msgid "_Disassociate documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr "Hepsi"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      msgid "Insert Numbers"
      msgstr "Numara Girin"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:144
      msgid "Counting..."
      msgstr "Sayılıyor..."
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr "Hazırlanıyor..."
      
      #: ../geanyinsertnum/src/insertnum.c:198
      msgid "Inserting..."
      msgstr "Ekleniyor..."
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:351
      msgid "_Start:"
      msgstr "Ba_şla:"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      msgid "S_tep:"
      msgstr "_Adım:"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      msgid "_Base:"
      msgstr "_Temel:"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      msgid "Letters:"
      msgstr "Harfler:"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      msgid "_Upper"
      msgstr "B_üyük"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr "Bo_şluk"
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr "S_ıfır"
      
      #: ../geanyinsertnum/src/insertnum.c:478
      msgid "Insert _Numbers"
      msgstr "Sayı Giri_n"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "Ortam verileri"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "Biçimlendirme"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "Döküman Yapısı"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "Listeler"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "Matematik"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "Ortam verisi ekle"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "Çevre:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr "Makale (@Article)"
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr "Kitap (@Book)"
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr "Konferans (@Conference)"
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      msgid "Incollection (@Incollection)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:33
      msgid "Inproceedings (@Inproceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr "Yardım belgesi (@Manual)"
      
      #: ../geanylatex/src/bibtexlabels.c:35
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "Yüksek Lisans Tezi (@Mastersthesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr "Diğer (@Misc)"
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr "Doktora Tezi (@PhdThesis)"
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr "Yayınlanmamış (@Unpublished)"
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Yazar"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Bölüm"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Sürüm"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Düzenleyici"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Kurum"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Günlük"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Anahtar"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Ay"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Not"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Sayı"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organizasyon"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Sayfalar"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Yayıncı"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "Okul"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Seri"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Başlık"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Cilt"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Yıl"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "Yayıncının adresi"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "Yazarların isim veya isimleri, eğer birden fazla ise 've' ile ayırınız"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "Bölüm numarası"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "Elektronik yayımlama özellikleri"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "Diğer bilgiler"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "Konferans sponsoru"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "Sayfa numaraları virgül veya iki tire ile ayrılmıştır"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "Yayıncının adı"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "Tezin yazıldığı okul"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "Kitabın yayınlandığı seri"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "Eserin başlığı"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "Teknik raporun türü"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "İnternet adresi"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "Cilt numarası"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "Yayın tarihi, yayınlanmamışsa oluşturulma tarihi"
      
      #: ../geanylatex/src/geanylatex.c:41
      msgid "GeanyLaTeX"
      msgstr "GeanyLaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      msgid "Runs LaTeX wizard"
      msgstr "LaTeX sihirbazını çalıştırır"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "Seçili metni eğik olarak işaretler"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "Seçili metni kalın olarak işaretler"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "Seçili metnin altını çizer"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "Ortalanmış"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "Sola dayalı"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "Sağa dayalı"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "Öntanımlı olarak KOMA betiği kullan"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "Ekstra eklenti araç çubuğunu göster"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "Etiket Ekle"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "Etiket adı:"
      
      #: ../geanylatex/src/geanylatex.c:857
      msgid "Insert Command"
      msgstr "Komut Girin"
      
      #: ../geanylatex/src/geanylatex.c:859
      msgid "Command name:"
      msgstr "Komut adı:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "Referans Ekle"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "Referans adı:"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "_Standart Referans"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "Sa_yfa Referansı"
      
      #: ../geanylatex/src/geanylatex.c:950
      msgid "_Add both"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "Daha fazla"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1216
      msgid "Package name:"
      msgstr "Paket adı:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr "Paket seçenekleri:"
      
      #: ../geanylatex/src/geanylatex.c:1267
      msgid "Insert BibTeX Reference"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1280
      msgid "BibTeX reference name:"
      msgstr "BiBTex Referans adı:"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "Sayın Bay veya Bayan"
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr "En derin saygılarımızla"
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr "Hiçbir şablon seçilmedi. İptal ediliyor"
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "LaTeX-Sihirbazı"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr "Şablon:"
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1768
      msgid "Default"
      msgstr "Varsayılan"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr "Döküman sınıfı:"
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "Yazmak istediğiniz döküman türünü seçin"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "Makale"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "Rapor"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "Mektup"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "Sunum"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "Kodlama:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "Yeni dökümanınız için kodlamayı ayarlayın"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      msgid "Font size"
      msgstr "Yazı tipi boyutu"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr "Yeni dökümanınız için yazı boyutunu ayarlayın"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "Yazar:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr ""
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "Tarih:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "Başlık:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "Yeni dökümanınız için başlığı ayarlar"
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "Kağıt boyutu:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "Yeni oluşturulmuş döküman için kağıt türünü seçin"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      msgid "Paper Orientation:"
      msgstr "Kağıt Oryantasyonu:"
      
      #: ../geanylatex/src/geanylatex.c:1903
      msgid "Choose the paper orientation for the newly created document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1926
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "Taslak modunu kullan"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "LaTeX Sihirbazını Çalıştır"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "\\label ekle"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "\\ref ekle"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "Satır sonu ekle \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1961
      msgid "Insert command"
      msgstr "Komut girin"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "Özel karakterleri değiştir"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "\\item ekle"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "Seçimi ortaya hizala"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "Seçimi sola hizala"
      
      #: ../geanylatex/src/geanylatex.c:1984
      msgid "Format selection right-aligned"
      msgstr "Seçimi sağa hizala"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1990
      msgid "Insert itemize list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1993
      msgid "Insert enumerate list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      msgid "Set selection one level down"
      msgstr "Seçimi bir seviye aşağıya ayarla"
      
      #: ../geanylatex/src/geanylatex.c:2002
      msgid "Insert \\usepackage{}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2005
      msgid "Insert BibTeX reference dialog"
      msgstr "BiBTeX referans diyaloğu ekle"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX eklentisi Geany'e gelişmiş LaTeX desteği için yazılmıştır.\n"
      "\n"
      "Lütfen hataları ve istekleri eklenti geliştiricilerinden bir tanesine "
      "bildirin."
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr ""
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX-Sihirbaz_ı"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "LaTeX dökümanları kolay oluşturmak için sihirbazı başlatır"
      
      #: ../geanylatex/src/geanylatex.c:2148
      msgid "I_nsert Special Character"
      msgstr "_Özel Karakter Ekle"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "Yaygın olmayan harf ve işaretleri kullanmaya yardımcı olur"
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "_Referans Ekle"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "Etiket Ek_le"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "Bir dökümana etiket eklemeye yardımcı olur"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2183
      msgid "Insert P_ackage"
      msgstr "P_aket Ekle"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "_Biçim"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      msgid "F_ont size"
      msgstr "Yazı tipi b_oyutu"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "Özel Karakter Yer De_ğişimi"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2235
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2254
      msgid "Insert _Command"
      msgstr "Komut Ek_le"
      
      #: ../geanylatex/src/geanylatex.c:2256
      msgid "Inserting customized command to document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2281
      msgid "_BibTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2289
      msgid "Insert B_ibTeX reference"
      msgstr "B_iBTeX referansı ekle"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      msgid "_BibTeX entries"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:40
      msgid "LaTeX letters"
      msgstr "LaTeX harfleri"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "Yunan harfleri"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr ""
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "Çeşitli"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "Karakterlere izin ver"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "İlişkisel"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "Eğik"
      
      #: ../geanylatex/src/formatpatterns.c:39
      msgid "Bold"
      msgstr "Kalın"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "Altı Çizgili"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "Vurgu"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr "minik"
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:66
      msgid "footnotesize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr "küçük"
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr "normal boyut"
      
      #: ../geanylatex/src/formatpatterns.c:69
      msgid "large"
      msgstr "geniş"
      
      #: ../geanylatex/src/formatpatterns.c:70
      msgid "Large"
      msgstr "GenişLaTeX"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr "GENİŞ"
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr "olağanüstü"
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr "Olağanüstü"
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "IBM 850 code page"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "IBM 852 code page"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr "Hiçbir kodlama ayarlama"
      
      #: ../geanylipsum/src/geanylipsum.c:40
      msgid "GeanyLipsum"
      msgstr "GeanyLipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      msgid "Creating dummy text with Geany"
      msgstr "Geany için rastgele yazı yazı üretiliyor"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Lipsum-Oluşturucu"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "Rastgele yazının uzunluğunu giriniz"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "Lipsum yazısı ekle"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "\"%s\" modülü %s() fonksiyonunda hata:\n"
      " geçersiz argüman #%d:\n"
      " \"%s\" türünde bekleniyordu, #%d elementi için\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Lua Betiği"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "Düzenlenebilen komutlar için Lua betikleri yazın ve çalıştırın."
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Lua Betiği Eklentisi"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Lua betiği hatası:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "Betik zaman aşımı"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Görünüşe göre bir Lua betiği tamamlanmak için çok zaman alıyor.\n"
      "Beklemeye devam etmek istiyor musunuz?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "Betik zamanaşımı geçildi"
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(hata nesnesi bir dizgi değil)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "Betik içinde bilinmeyen hata."
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "Yetersiz bellek."
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "Betik dosyası açılamadı."
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "Betik dosyasını yüklerken bilinmeyen hata."
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "_Lua Betikleri"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s: Menü '%s' kaynağından oluşturuluyor\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "Düzenlenecek bir şey yok!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "Dosya aç"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "Dosya seçin"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "Gözat..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "Renk Seç"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "Seç..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "Yazıtipi Seçin"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "Seç..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "\"%s\" modülü %s() fonksiyonunda hata:\n"
      "\"%s\" komutu için yeterli argüman girilmedi.\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "\"%s\" modülü %s() fonksiyonunda hata:\n"
      " geçersiz argüman #%d:\n"
      " \"%s\" geçersiz bayrak, #%d elementi için\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "Dosya var"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "Üzerine yazmak ister misiniz?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "onayla"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "Dosyayı kaydet"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s: Destek kütüphanesi %s yüklenemedi!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s: Destek kütüphanesi %s kullanılamıyor!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr ""
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s: Destek kütüphanesi bulunamadı %s!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "%s eklentisi düzgün yüklenemedi.\n"
      "Lütfen kurulumu kontrol edin."
      
      #: ../geanylua/glspi_app.c:21
      #, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2008 "
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "\"%s\" modülü %s() fonksiyonunda hata:\n"
      "\"%s\", #1 argümanında bulunamadı.\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "\"%s\" modülünde %s() fonksiyonunda #2 argümanı hatası:\n"
      "\"%s\" öğesi \"%s\" isimli bir sinyale sahip değil.\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr "Panoya Kes"
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr "Panoya Kopyala"
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr "Panodan kopyala"
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr "Mevcut satırı panoya kes"
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr "Geçerli satırı panoya kopyala"
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr "Soldaki karakteri sil"
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr "Sağdaki karakteri sil"
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr "Soldaki karakteri sil (yeni satırı silme)"
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr "Sola doğru kelimenin başına kadar sil"
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr "Sağa doğru kelimenin başına kadar sil"
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr "Sağa doğru kelimenin sonuna kadar sil"
      
      #: ../geanymacro/src/geanymacro.c:67
      msgid "Delete to beginning of line"
      msgstr "Satırın başına kadar sil"
      
      #: ../geanymacro/src/geanymacro.c:68
      msgid "Delete to end of line"
      msgstr "Satır sonuna kadar sil"
      
      #: ../geanymacro/src/geanymacro.c:69
      msgid "Delete current line"
      msgstr "Geçerli satırı sil"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr "Geriye dönük sekme (eğer sekmeden sonrası boş ise, sekmeyi siler)"
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr "Görüntüyü bir satır aşağı kaydır"
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr "Görüntüyü bir satır yukarı kaydır"
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr "Yakınlaştır"
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr "Uzaklaştır"
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr "İşaretçiyi Aşağı Kaydır"
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr "İşaretçiyi Yukarı Kaydır"
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr "İşaretçiyi Sola Kaydır"
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr "İşaretçiyi Sağa Kaydır"
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr "İşaretçiyi sola doğru kelimenin başına kadar kaydır"
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr "İşaretçiyi sağa doğru kelimenin başına kadar kaydır"
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr "İşaretçiyi satırın başına kaydır"
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr "İşaretçiyi satırın sonuna kaydır"
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr "İşaretçiyi belgenin ilk satırına kaydır"
      
      #: ../geanymacro/src/geanymacro.c:88
      msgid "Move Cursor to last line of document"
      msgstr "İmleci dökümanın son satırına götür"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr "İşaretçiyi bir sayfa yukarı kaydır"
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr "İşaretçiyi bir sayfa aşağı kaydır"
      
      #: ../geanymacro/src/geanymacro.c:91
      msgid "Move Cursor to first visible character"
      msgstr "İmleci görülen ilk karaktere götür"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr "İşaretçiyi son görülen karaktere götür"
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "İmleci sonraki paragrafın başına götür"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:100
      msgid "Extend Selection down a line"
      msgstr "Seçimi bir sıra aşağı genişlet"
      
      #: ../geanymacro/src/geanymacro.c:101
      msgid "Extend Selection up a line"
      msgstr "Seçimi bir sıra yukarı genişlet"
      
      #: ../geanymacro/src/geanymacro.c:102
      msgid "Extend Selection Left a line"
      msgstr "Seçimi sola genişlet"
      
      #: ../geanymacro/src/geanymacro.c:103
      msgid "Extend Selection Right a line"
      msgstr "Seçimi sağa genişlet"
      
      #: ../geanymacro/src/geanymacro.c:104
      #, fuzzy
      msgid "Extend Selection to start of Word to the Left"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:105
      #, fuzzy
      msgid "Extend Selection to start of Word to the Right"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:106
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:107
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:108
      msgid "Extend Selection to start of line"
      msgstr "Seçimi satır başına genişlet"
      
      #: ../geanymacro/src/geanymacro.c:109
      msgid "Extend Selection to end of line"
      msgstr "Seçimi satır sonuna genişlet"
      
      #: ../geanymacro/src/geanymacro.c:110
      #, fuzzy
      msgid "Extend Selection to start of document"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:111
      #, fuzzy
      msgid "Extend Selection to end of document"
      msgstr "Dökümanda etiket yok"
      
      #: ../geanymacro/src/geanymacro.c:112
      msgid "Extend Selection up one Page"
      msgstr "Seçimi bir sayfa yukarı genişlet"
      
      #: ../geanymacro/src/geanymacro.c:113
      msgid "Extend Selection down one Page"
      msgstr "Seçimi bir sayfa aşağı genişlet"
      
      #: ../geanymacro/src/geanymacro.c:114
      #, fuzzy
      msgid "Extend Selection to fist visible character"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:115
      #, fuzzy
      msgid "Extend Selection to last visible character"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      #, fuzzy
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      #, fuzzy
      msgid "Extend Selection to end of Word to the Left"
      msgstr "Dökümanda etiket yok"
      
      #: ../geanymacro/src/geanymacro.c:121
      #, fuzzy
      msgid "Extend Selection to end of Word to the Right"
      msgstr "Dökümanda etiket yok"
      
      #: ../geanymacro/src/geanymacro.c:123
      #, fuzzy
      msgid "Extend Rectangular Selection down a line"
      msgstr "Seçimi sağa hizala"
      
      #: ../geanymacro/src/geanymacro.c:124
      #, fuzzy
      msgid "Extend Rectangular Selection up a line"
      msgstr "Seçimi sağa hizala"
      
      #: ../geanymacro/src/geanymacro.c:125
      #, fuzzy
      msgid "Extend Rectangular Selection Left a line"
      msgstr "Seçimi sağa hizala"
      
      #: ../geanymacro/src/geanymacro.c:126
      #, fuzzy
      msgid "Extend Rectangular Selection Right a line"
      msgstr "Seçimi sağa hizala"
      
      #: ../geanymacro/src/geanymacro.c:127
      #, fuzzy
      msgid "Extend Rectangular Selection to start of line"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:128
      #, fuzzy
      msgid "Extend Rectangular Selection to end of line"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:129
      #, fuzzy
      msgid "Extend Rectangular Selection up one Page"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:130
      #, fuzzy
      msgid "Extend Rectangular Selection down one Page"
      msgstr "Seçimi tabloya dönüştür"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      msgid "Cancel Selection"
      msgstr "Seçimi iptal et"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr "Sekme"
      
      #: ../geanymacro/src/geanymacro.c:138
      msgid "Newline"
      msgstr "Yenisatır"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      msgid "Change selected text to lowercase"
      msgstr "Seçilen metni küçük harfe çevir"
      
      #: ../geanymacro/src/geanymacro.c:144
      msgid "Change selected text to uppercase"
      msgstr "Seçilen metni büyük harfe çevir"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      msgid "Search for next \"\""
      msgstr "Sonraki için ara \"\""
      
      #: ../geanymacro/src/geanymacro.c:151
      msgid "Search for previous \"\""
      msgstr "Önceki için ara \"\""
      
      #: ../geanymacro/src/geanymacro.c:152
      #, fuzzy
      msgid "Set start of search to beginning of selection"
      msgstr "Satırın başına kadar sil"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros"
      msgstr "Makrolar"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr "Geany için Makrolar"
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr "Panoda yazı yok!"
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      "Anlaşılmayan mesaj\n"
      "%i %i %i"
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr "Geany kapatılırken Makroları kaydet"
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr "Önceki Makroların üzerine yazarken sor"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr "Geany Makrolar yardımı"
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr "Bu eklenti kendi makrolarınızı kaydetmenizi ve kullanmanızı sağlar."
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr "Bunlar bir tuş kombinasyonu ile tekrarlanabilen eylem dizileridir."
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      "Yani son 2 karakterini silmek istediğiniz yüzlerce satır var ise, kayda "
      "başlayıp sırasıyla; End, Backspace, Backspace, aşağı ok tuşlarına basarak "
      "ardından kaydı durdurabilirsiniz."
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr "Ardından makroyu çalıştırın. Satırı düzenleyip sonrakine geçecektir."
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      "Araçlar menüsünden Makro Kaydet seçeneğini seçin, karşınıza bir diyalog "
      "penceresi gelecek."
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      "Kullanımda olmayan bir tuş kombinasyonu ve makro için bir isim belirtmeniz "
      "gerekiyor."
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr "Ardından Kaydet'e basın."
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      "Düzenleyicideki yaptıklarınız Araçlar menüsünden Makro Kaydetmeyi Durdur'u "
      "seçene kadar kaydedilecektir."
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      "Ayarladığınız tuş kombinasyonuna basarak makroyu yeniden çalıştırabilirsiniz."
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      "Araçlar menüsünden Makro Düzenle seçeneğini kullanarak makrolarınızı "
      "düzenleyebilirsiniz."
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr "Bir makro seçerek silebilir veya yeniden kaydedebilirsiniz."
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr "Değiştirebilirsiniz:\n"
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr "Makro Kaydet"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr "Kaydet"
      
      #: ../geanymacro/src/geanymacro.c:1071
      msgid "Macro Trigger:"
      msgstr "Makro Tetikleyici:"
      
      #: ../geanymacro/src/geanymacro.c:1085
      msgid "Macro Name:"
      msgstr "Makro Adı:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Makro ismi \"%s\"\n"
      " zaten kullanılıyor.\n"
      "Üzerine yaz?"
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      "Makro kısayolu \"%s\"\n"
      " zaten kullanılıyor.\n"
      "Üzerine yaz?"
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr "%s arama, %s%s%s.%s%s%s%s%s için bakılıyor"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      msgid "Search Options:"
      msgstr "Arama Seçenekleri:"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr "_Tamam"
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      msgid "_Cancel"
      msgstr "İp_tal"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr "İleri doğru ara"
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr "Geriye Doğru Ara"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr "Panodaki içeriği ara"
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr "Şunun için ara:"
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr "Büyük/küçük harf duyarlı arama"
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr "Tüm kelimeyi ara"
      
      #: ../geanymacro/src/geanymacro.c:1452
      msgid "Search for start of word"
      msgstr "Kelime başlangıcını ara"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      msgid "Text:"
      msgstr "Yazı:"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, c-format
      msgid "Edit: %s"
      msgstr "Düzenle: %s"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr "Y_ukarı Taşı"
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr "A_şağı Taşı"
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      msgid "_Delete"
      msgstr "S_il"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      msgid "Edit Macros"
      msgstr "Makroları Düzenle"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr "Makro İsmi"
      
      #: ../geanymacro/src/geanymacro.c:2101
      msgid "Key Trigger"
      msgstr "Tetikleyici Tuş"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr "Tek_rar Kaydet"
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr "_Makroyu Kaydet"
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr "_Makroyu Kaydetmeyi Durdur"
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr "Makroları Düz_enle"
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr "Mini-Betik Dosyası Yükle"
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr "Mini-Betik Dosyasını Kaydet"
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr "Mini-betik penceresini temizle"
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr "Bu pencereye bir mini-betik yükle"
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr "Mini-betiği bir dosyaya kaydet"
      
      #: ../geanyminiscript/src/gms_gui.c:460
      msgid "Display a information about the mini-script plugin"
      msgstr "Mini Betik eklentisi ile ilgili bilgi göster"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr "mini-betik türünü seçiniz"
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      msgid "selection"
      msgstr "seçim"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      msgid "document"
      msgstr "belge"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr "oturum"
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr "Geçerli Belge"
      
      #: ../geanyminiscript/src/gms_gui.c:527
      msgid "New Doc."
      msgstr "Yeni Belge"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr "betik yapılandırması"
      
      #: ../geanyminiscript/src/gms.c:58
      msgid "Mini Script"
      msgstr "Mini Betik"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr "Seçili döküman(lar)a filtreleme betiği uygulamayı sağlayan bir araç"
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr "Pascal BURLOT, bir Geany kullanıcısı"
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr "Geany için Numaralı Yer imleri"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr "_Tamam"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      msgid "_Ignore"
      msgstr "_Yoksay"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      msgid "Move to start of line"
      msgstr "Satır başına taşı"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      msgid "Move to End of line"
      msgstr "Satır sonuna taşı"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr "Numaralı Yer İmleri yardımı"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      msgid "couldn't create tempfile"
      msgstr "geçici dosya oluşturulamadı"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr "Geany için gpg şifreleme anahtarı eklentisi"
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr "Hans Alves "
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr "Kullanılan libgpgme sürümü:"
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      msgid "Error from"
      msgstr "Hata kaynağı"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr "Şifrele"
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr "İmzala"
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr "Şifre Çöz / Onayla"
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr "Ayrılmış imzayı onayla"
      
      #: ../geanypg/src/key_selection_dialog.c:152
      msgid "Please select any recipients"
      msgstr "Lütfen tüm alıcıları seçin"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr "Mesajı imzalama şekli:"
      
      #: ../geanypg/src/key_selection_dialog.c:162
      msgid "Select recipients"
      msgstr "Alıcıları seçin"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr "Çalışmak için bir imza seçin:"
      
      #: ../geanypg/src/key_selection_dialog.c:232
      msgid "Select signer"
      msgstr "İmzalayıcı seçin"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr "Pinentry kullanılamadı."
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr "Pinentry'den beklenmeyen çıktı."
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr "Şifre girişi"
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr "Şifre"
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr "pinentry hata verdi"
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr "Pinentry'den beklenmeyen hata."
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "bilinmeyen"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr "tanımlanmamış"
      
      #: ../geanypg/src/verify_aux.c:68
      msgid "never"
      msgstr "asla"
      
      #: ../geanypg/src/verify_aux.c:69
      msgid "marginal"
      msgstr "marjinal"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr "tam"
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr ""
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr "geçerli"
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr "yeşil"
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr "kırmızı"
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr " Anahtarın vakti geçmiş"
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr " İmzanın vakti geçmiş"
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr " Anahtar kayıp"
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr " CRL bulunamadı"
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr " CRL çok eski"
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr " Sistem Hatası"
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      msgid "Unknown\n"
      msgstr "Bilinmeyen\n"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr "[Hiçbiri]"
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      msgid "Unknown"
      msgstr "Bilinmeyen"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr "n/a"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr "kötü"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr "tamam"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr "evet"
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr "hayır"
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr "Şuradan bir imza bulundu"
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr "İmza"
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr "Onaylama sonuçları bulunamadı"
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr "Hata, onaylama sonuçları bulunamadı"
      
      #: ../geanypg/src/verify_cb.c:27
      msgid "Open a signature file"
      msgstr "Bir imza dosyası aç"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "Alternatif proje desteği."
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "Proje Seçenekleri"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "Yeni Proje"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "Oluştu_r"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "İsim:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "Konum:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "Proje Konumunu Seçin"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "Temel dizin:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "Projenin tüm dosyaları için kullanılacak en üst dizin. Yeni bir dizin "
      "oluşturabilir veya varolan bir dizini kullanabilirsiniz."
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "Proje Temel Dizinini Seçin"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "Yüklendiğinde dosya listesini oluştur"
      
      #: ../geanyprj/src/menu.c:172
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "Proje yüklendiğinde otomatik olarak proje türüne uyan dosyaları yükler. Bu "
      "seçeneği seçtiğinizde, gelecek yüklemede seçimleriniz yeniden kaybolacağı "
      "için, elle dosya ekleyip kaldıramazsınız."
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "Tür:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "Proje dosyası \"%s\" zaten mevcut"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "_Proje"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "Projeyi Sil"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "Dosya Ekle"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "Seçenekler"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "Projede Ara"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "Dosyayı Kaldır"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "Yan Panel_i Gizle"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "Proje"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "\"%s\" projesi açıldı."
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr "GeanyPy"
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr "Python kütüphanesinin yüklenmesi başarısız: %s."
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      msgid "System plugin directory not found."
      msgstr "Sistem eklenti dizini bulunamadı."
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, fuzzy, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr "'%s' adresinde ayar dizini oluşturulamadı"
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "GeanyEPostaGönder"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr ""
      "Geçerli dosyayı kullanıcının seçtiği programda e-posta ile göndermek için "
      "ufak bir eklenti"
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "Alıcının Adresi"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "Alıcının e-posta adresini girin:"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "Lütfen önce bir e-posta istemcisi tanımlayın."
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "Dosya gönderilmeden önce kaydedilmeli."
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "E-posta"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "E-posta olarak gönder"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "E-posta istemcisi için yol ve seçenekler:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      #, fuzzy
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "Not: \n"
      "\t\\%f dosya adınızın yerine geçecek.\n"
      "\t\\%r alıcının e-posta adresinin yerine geçecek.\n"
      "\t\\%b dosyanızın yolunun yerine geçecek\n"
      "\tÖrnekler:\n"
      "\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
      "\tmutt -s \"'\\%b'\" gönderiliyor -a \"\\%f\" \"\\%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      msgid "Show toolbar icon"
      msgstr "Araç çubuğu simgesini göster"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr "Dosyaları daha kolay göndermek için araç çubuğunda bir simge gösterir."
      
      #: ../geanysendmail/src/geanysendmail.c:336
      msgid "Use dialog for entering email address of recipients"
      msgstr "Alıcıların e-posta adreslerini girmek için dialog kullan"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "Dosyayı e-posta olarak gönder"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      msgid "_Mail document"
      msgstr "Dökü_manı e-postala"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr "GeanyVC"
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "Farklı sürüm kontrol sistemleri için arayüz."
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc: s_spawn_sync hatası: %s"
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr ""
      "geanyvc: vcdiff_file_activated: '%s' değerini '%s' olarak yeniden "
      "adlandırırken hata"
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "Hiç değişiklik yapılmadı."
      
      #: ../geanyvc/src/geanyvc.c:738
      msgid "No history available"
      msgstr "Geçmiş yok"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "Gerçekten geri almak istiyor musunuz: %s?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "Gerçekten eklemek istiyor musunuz: %s ?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "Gerçekten kaldırmak istiyor musunuz: %s ?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "Gerçekten güncellemek istiyor musunuz?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "Teslim et Y/N"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "Durum"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "Yol"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "Teslim et"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "Teslim mesajı:"
      
      #: ../geanyvc/src/geanyvc.c:1484
      msgid "C_ommit"
      msgstr "G_önder"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "Teslim edilecek bir şey yok."
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "İmla denetimi yapılırken hata: %s"
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "Teslim diyaloğunu büyüt"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "Teslim diyaloğunu geniş göster."
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "Harici diff görüntüleyici kullan"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "Dosya değişiklikleri için harici bir diff izleyici kullan."
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "CVS'i etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "GIT'i etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "SVN'i etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "SVK'yı etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "Bazaar'ı Etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "Mercurial'i Etkinleştir"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "İmla denetimi dili"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr ""
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "_Diff"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "Şimdiki aktif dosyadan bir diff dosyası oluştur"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "_Eskiye dön"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr ""
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr ""
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "_Geçmiş (kayıt)"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "Mevcut dosyanın kayıtlarını gösterir"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "_Orijinal"
      
      #: ../geanyvc/src/geanyvc.c:2107
      msgid "Shows the original of the current file"
      msgstr "Mevcut dosyanın orijinalini gösterir"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "S_ürüm Kontrolüne Ekle"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "Dosyayı depoya ekle."
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "Sürüm Kont_rolünden Çıkart"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "Dosyayı depodan kaldır."
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "_Dizin"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "Şimdiki aktif dosyanın dizininden bir diff dosyası oluştur"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "Mevcut klasörün kayıtlarını gösterir."
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "_Temel Dizin"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "Tüm yerel değişiklikleri geri al"
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "Dosyanın farkını göster"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "Dizinin farkını göster"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "Değişiklikleri uygula"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "Durumu göster"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "Tek dosyayı eski haline getir"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "Dizini eski haline getir"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "Temel dizini eski haline getir"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "Dosyayı güncelle"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2318
      msgid "_Version Control"
      msgstr "S_ürüm Kontrolü"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "_Durum"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "Durumu göster."
      
      #: ../geanyvc/src/geanyvc.c:2349
      msgid "Update from remote repository."
      msgstr "Uzak depodan güncelle."
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "_Teslim Et"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "Değişiklikleri uygula."
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr "Kodunuzu favori pastebin servisine kaydedin"
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "%s dizini bulunamadı!\n"
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      #, fuzzy
      msgid "Invalid pastebin service."
      msgstr "geçersiz konum \"%s\""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "İçerik XML olarak ayrıştırılamadı."
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "\"%s\" dosya türü için yapılandırma dosyası bulunamadı: %s"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "Betik dosyası açılamadı."
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      #, fuzzy
      msgid "unexpected response from the pastebin service."
      msgstr "Pinentry'den beklenmeyen hata."
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr "Yazar adı bölümü boş!"
      
      #: ../geniuspaste/src/geniuspaste.c:771
      msgid "Select a pastebin:"
      msgstr "Pastebin seçin:"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr "Yazar adını girin:"
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr "Ya_pıştır!"
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "Dosyayı Kaldır"
      
      #: ../git-changebar/data/prefs.ui.h:6
      #, fuzzy
      msgid "Colors"
      msgstr "Arkaplan Rengi:"
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "Seçenekler yüklenemedi: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, fuzzy, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "\"%s\" dosya türü için yapılandırma dosyası bulunamadı: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "Seçenekler kaydedilemedi: %s"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "Önceki sayfaya git"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "Sonraki sayfaya git"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, fuzzy, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "%s eklentisi düzgün yüklenemedi.\n"
      "Lütfen kurulumu kontrol edin."
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "Dosyayı Kaldır"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "Dosyayı Kaldır"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "Seçenekler"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "Seçenekler"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      msgid "Position:"
      msgstr "Pozisyon:"
      
      #: ../markdown/src/conf.c:573
      msgid "Sidebar"
      msgstr "Yan panel"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr "Mesaj Penceresi"
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr "Yazı Tipi:"
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr "Kod Yazı Tipi:"
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr "Arkaplan Rengi:"
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr "Önplan Rengi:"
      
      #: ../markdown/src/conf.c:663
      msgid "Select Template File"
      msgstr "Şablon Dosyası seçin"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "Seçenekler kaydedilemedi: %s"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "Seçenekler yüklenemedi: %s"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "mesaj-penceresi"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "yan panel"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "Terminali Aç"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "Ye_ni Pencere"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "Öncekini Bul"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "Durumu göster"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "Öntanımlı ayarlar yazılamadı: %s"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "Terminaldi göster"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "Öntanımlı ayarlar yazılamadı: %s"
      
      #: ../multiterm/src/shell-config.vala:30
      #, fuzzy, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr "'%s' adresinde ayar dizini oluşturulamadı"
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "Sonlandır"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "Terminaldi göster"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, fuzzy, c-format
      msgid "Unable to run command: %s"
      msgstr "Yorumu inşada hata: %s"
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "Terminaldi göster"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      #, fuzzy
      msgid "Zoom Level:"
      msgstr "Yakınlaştır"
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "konum ismi"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "İpuçlarını göster."
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      msgid "Options"
      msgstr "Seçenekler"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      #, fuzzy
      msgid "Color:"
      msgstr "Arkaplan Rengi:"
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      #, fuzzy
      msgid "Outline Color:"
      msgstr "Renk Seç"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      msgid "Go to previous string"
      msgstr "Önceki metne git"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      msgid "Go to next string"
      msgstr "Sonraki metne git"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      #, fuzzy
      msgid "Toggle current translation fuzziness"
      msgstr "Belgelendirme sekmesini aç/kapat"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      #, fuzzy
      msgid "Reflow the current translation string"
      msgstr "Yürütülen fonksiyonu tamamla."
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      #, fuzzy
      msgid "Show statistics of the current document"
      msgstr "Mevcut belgenin imla denetimini yapar."
      
      #: ../pohelper/data/menus.ui.h:25
      #, fuzzy
      msgid "_Show stats"
      msgstr "Durumu göster"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      #, fuzzy
      msgid "Translated:"
      msgstr "Şablon:"
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr "İçerik XML olarak ayrıştırılamadı."
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      msgid "Comments"
      msgstr "Yorumlar"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr "Hizalama"
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr "CDATA"
      
      #: ../pretty-printer/src/ConfigUI.c:205
      msgid "Empty nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr "Bağlanma ( den  e)"
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr "Boşluklama ( den  e)"
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr "Genişleme ( den  e)"
      
      #: ../pretty-printer/src/ConfigUI.c:235
      msgid "Indentation"
      msgstr "Girinti"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr "Boşluk"
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr "Satır sonu"
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "Proje Seçenekleri"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "Proje Dosyalarında Ara"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      msgid "Find in project files"
      msgstr "Proje dosyalarında ara"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "Proje Dosyası Bul"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      msgid "Find project file"
      msgstr "Proje dosyası bul"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "Proje Dosyası Bul"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "Proje dosyası bul"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      #, fuzzy
      msgid "Open Selected File (Project Organizer)"
      msgstr "Seçilen Dosyayı Aç (gproject)"
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "Proje dosyalarında ara"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      #, fuzzy
      msgid "Yes"
      msgstr "evet"
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "No."
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      msgid "Find File"
      msgstr "Dosya Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr "Şurada ara:"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "Yeni dizin oluştur"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "Dizin Seçin"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "Eklentiler"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "Dosya Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr "Hepsini yeniden yükle"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "Dizini eski haline getir"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr "Hepsini aç"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr "Hepsini aç"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "Dosyalarda Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "Dosya Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "Dosya Ara"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "Dizini eski haline getir"
      
      #: ../scope/data/scope.glade.h:1
      msgid "Debu_g"
      msgstr "Hata A_yıkla"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      msgid "Recent _Programs"
      msgstr "Son _Programlar"
      
      #: ../scope/data/scope.glade.h:4
      msgid "_Run/Continue"
      msgstr "Çalıştı_r/ Devam Et"
      
      #: ../scope/data/scope.glade.h:5
      msgid "Run to _Cursor"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:6
      #, fuzzy
      msgid "Run to _Source"
      msgstr "Konuma git"
      
      #: ../scope/data/scope.glade.h:7
      msgid "Step _Into"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:9
      msgid "Step O_ut"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:10
      msgid "_Terminate"
      msgstr "Sonland_ır"
      
      #: ../scope/data/scope.glade.h:11
      #, fuzzy
      msgid "Toggle _Breakpoint"
      msgstr "Aralıklar"
      
      #: ../scope/data/scope.glade.h:12
      msgid "_GDB Command"
      msgstr "_GDB komutu"
      
      #: ../scope/data/scope.glade.h:13
      msgid "_More"
      msgstr "Da?ha fazla"
      
      #: ../scope/data/scope.glade.h:14
      msgid "_Show Terminal"
      msgstr "Terminali Gö_ster"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr "Pe_ncere"
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:27
      #, fuzzy
      msgid "S_elect on"
      msgstr "Yazıtipi Seçin"
      
      #: ../scope/data/scope.glade.h:28
      msgid "_Running"
      msgstr "Çalışıyo_r"
      
      #: ../scope/data/scope.glade.h:29
      msgid "_Stopped"
      msgstr "_Durduruldu"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:32
      msgid "_Columns"
      msgstr "S_ütunlar"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      #, fuzzy
      msgid "Show _Core"
      msgstr "Araç çubuklarını göster"
      
      #: ../scope/data/scope.glade.h:35
      msgid "Add _Break"
      msgstr "_Kesme ekle"
      
      #: ../scope/data/scope.glade.h:36
      msgid "Add _Watch"
      msgstr "_İzleme ekle"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      msgid "Show _Address"
      msgstr "_Adresi Göster"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:41
      msgid "_Watch"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr "_8-bit modu"
      
      #: ../scope/data/scope.glade.h:44
      msgid "_Default"
      msgstr "_Varsayılan"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr "_7 bit"
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:47
      msgid "_UTF-8"
      msgstr "_UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      #, fuzzy
      msgid "_Show .names"
      msgstr "Simgeleri göster"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr "_Oku"
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr "_1"
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr "_2"
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr "_4"
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr "_8"
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr "Uygul_a"
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr "_Genişlet"
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr "_Hex"
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr "_İkili"
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      msgid "_Inspect Variable"
      msgstr "Değ_işkeni İncele"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:69
      #, fuzzy
      msgid "Stack"
      msgstr "Takip yığını"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:71
      msgid "Watches"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr "Hafıza"
      
      #: ../scope/data/scope.glade.h:73
      msgid "Enter gdb command:"
      msgstr "GDB komutu girin:"
      
      #: ../scope/data/scope.glade.h:74
      #, fuzzy
      msgid "Convert _UTF-8 to locale"
      msgstr "Tabloya _çevir"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:77
      msgid "_Frame"
      msgstr "_Çerçeve"
      
      #: ../scope/data/scope.glade.h:78
      #, fuzzy
      msgid "Setup Program"
      msgstr "program yok"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:81
      msgid "En_vironment:"
      msgstr "Çevre:"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      msgid "_Load script:"
      msgstr "Betik Yük_le:"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      msgid "Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:89
      msgid "Open on"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:90
      msgid "g_db load"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      msgid "Update all _views"
      msgstr "T_üm görünümleri güncelle"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr "Panel"
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr "_7-bit \\nnn"
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:97
      msgid "_member"
      msgstr "_üye"
      
      #: ../scope/data/scope.glade.h:98
      msgid "and"
      msgstr "ve"
      
      #: ../scope/data/scope.glade.h:99
      msgid "_argument"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:100
      msgid "names"
      msgstr "isimler"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr "Değerler"
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr "G_öster"
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr "İncele"
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      #, fuzzy
      msgid "Show _tooltips"
      msgstr "İpuçlarını göster."
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr "Diğerleri"
      
      #: ../scope/data/scope.glade.h:110
      msgid "_Import"
      msgstr "İ_çe aktar"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr "İncele"
      
      #: ../scope/data/scope.glade.h:113
      msgid "Object:"
      msgstr "Nesne:"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr "-"
      
      #: ../scope/data/scope.glade.h:116
      msgid "Frame:"
      msgstr "Çerçeve:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr "@"
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr "Ç_alıştırıldığında uygula"
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr "Genişlet"
      
      #: ../scope/data/scope.glade.h:120
      msgid "Start:"
      msgstr "Başlangıç:"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      #, fuzzy
      msgid "_Expand on apply"
      msgstr "Hepsini aç"
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      msgid "Program Terminal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      #, fuzzy
      msgid "breakpoint"
      msgstr "Aralıklar"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "Kesme noktasını düzenle"
      
      #: ../scope/src/break.c:99
      #, fuzzy
      msgid "tracepoint"
      msgstr "Aralıklar"
      
      #: ../scope/src/break.c:100
      #, fuzzy
      msgid "fast tracepoint"
      msgstr "İzleme noktasını düzenle"
      
      #: ../scope/src/break.c:101
      #, fuzzy
      msgid "write watchpoint"
      msgstr "İzleme noktasını düzenle"
      
      #: ../scope/src/break.c:104
      #, fuzzy
      msgid "access watchpoint"
      msgstr "İzleme noktasını düzenle"
      
      #: ../scope/src/break.c:106
      #, fuzzy
      msgid "read watchpoint"
      msgstr "İzleme noktasını düzenle"
      
      #: ../scope/src/break.c:108
      #, fuzzy
      msgid "catchpoint"
      msgstr "İzleme noktası ekle"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      #, fuzzy
      msgid "on load"
      msgstr "yüklendi"
      
      #: ../scope/src/break.c:142
      #, fuzzy
      msgid "Run to Cursor"
      msgstr "Konuma git"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      msgid "Add Breakpoint"
      msgstr "Kesme noktası ekle"
      
      #: ../scope/src/break.c:1322
      msgid "Add Watchpoint"
      msgstr "İzleme noktası ekle"
      
      #: ../scope/src/conterm.c:109
      msgid "Feed Terminal"
      msgstr ""
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, c-format
      msgid "Scope: %s."
      msgstr "Kapsam: %s"
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      msgid "Program terminated."
      msgstr "Program sonlandırıldı."
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr "%s."
      
      #: ../scope/src/inspect.c:66
      msgid "..."
      msgstr "..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr "geçersiz veri"
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      msgid "out of scope"
      msgstr "kapsam dışında"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr "Düzenle"
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr ""
      
      #: ../scope/src/menu.c:483
      msgid "Inspect variable"
      msgstr "Değişkeni incele"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      msgid "Select Folder"
      msgstr "Dizin Seç"
      
      #: ../scope/src/plugme.c:79
      msgid "Select File"
      msgstr "Dosya Seç"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr "Kapsam: %s: %s."
      
      #: ../scope/src/prefs.c:319
      msgid "Scope: created configuration file."
      msgstr "Kapsam: yapılandırma dosyası yaratıldı."
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, fuzzy, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr "\"%s\" dosyası yüklenirken hata: %s"
      
      #: ../scope/src/program.c:383
      #, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr ""
      "%s: %s.\n"
      "\n"
      "Devam edilsin mi?"
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      msgid "Scope Debugger"
      msgstr "Kapsam Hata Ayıklayıcı"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      #, fuzzy
      msgid "Setup program"
      msgstr "program yok"
      
      #: ../scope/src/scope.c:62
      msgid "Run/continue"
      msgstr "Çalıştır/devam et"
      
      #: ../scope/src/scope.c:64
      #, fuzzy
      msgid "Run to source"
      msgstr "Konuma git"
      
      #: ../scope/src/scope.c:68
      msgid "Terminate"
      msgstr "Sonlandır"
      
      #: ../scope/src/scope.c:69
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "kesme noktası"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      msgid "GDB command"
      msgstr "GDB Komutu"
      
      #: ../scope/src/scope.c:72
      msgid "Show terminal"
      msgstr "Terminaldi göster"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr "Meşgul"
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr "Hazır"
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr "Askıda"
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Load"
      msgstr "Yükle"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr "İnşa eylemi aktifleştirildi. Hata ayıklamayı sonlandır?"
      
      #: ../scope/src/scope.c:520
      msgid "Breaks"
      msgstr ""
      
      #: ../scope/src/scope.c:522
      msgid "Console"
      msgstr "Konsol"
      
      #: ../scope/src/scope.c:522
      msgid "Debug Console"
      msgstr "Hata Ayıklama Konsolu"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr " çıktı"
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr " çıkış kodu %s ile"
      
      #: ../scope/src/thread.c:749
      msgid "Send Signal"
      msgstr "Sİnyal gönder"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr "Sinyali girin #:"
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr "İşlemi Sonlandır"
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr "Çıkış kodunu girin:"
      
      #: ../scope/src/thread.c:892
      msgid "Running"
      msgstr "Çalışıyor"
      
      #: ../scope/src/thread.c:893
      msgid "Stopped"
      msgstr "Durduruldu"
      
      #: ../scope/src/utils.c:37
      #, c-format
      msgid "%s: %s."
      msgstr "%s: %s."
      
      #: ../scope/src/utils.c:45
      #, c-format
      msgid "%s: %s"
      msgstr "%s: %s"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr "Kapsam: [%s] okurken hata."
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr "…"
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr "_Gönder"
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr "Me_şgul"
      
      #: ../scope/src/views.c:558
      msgid "GDB Command"
      msgstr "GDB Komutu"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "Dene:"
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "Kontrol Ediliyor"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "\"%s\" dosyası kontrol ediliyor (%d - %d satırları, %s kullanılıyor):"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "\"%s\" dosyası kontrol ediliyor (%s kullanılarak):"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "Kontrol edilen yazı düzgün yazılmış."
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "Enchant kütüphanesi yüklenemedi (%s)."
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "bilinmeyen hata (belki seçilen dil erişilebilir değil)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "imla denetimi"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "Mevcut belgenin imla denetimini yapar."
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "İmla Denetimi Yap"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "Yazarken Kontrol Et"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "Dizin Seçin"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr "İmla denetimini açıp kapamak için araç çubuğu öğesini göster"
      
      #: ../spellcheck/src/scplugin.c:289
      msgid "Show editor menu item to show spelling suggestions"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:294
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:319
      #, fuzzy
      msgid "Interface"
      msgstr "İncele"
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "Yazma sırasında imla denetimi yap"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "Yazma sırasında imla denetimi yap"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "İmla denetimi için kullanılacak dil:"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:386
      #, fuzzy
      msgid "Behavior"
      msgstr "Diğerleri"
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "Yazarken imla denetimi artık aktif"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "Yazarken imla denetimi artık pasif"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "Daha fazla..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(Öneri Yok)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "Sözlüğe Ekle: \"%s\""
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "Tümünü Yoksay"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      
      #: ../spellcheck/src/gui.c:447
      msgid "Perform Spell Check"
      msgstr "İmla Denetimi Uygula"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "Varsayılan (%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr "Yazarken imla denetimini uygula (şu anda ayarlı dil: %s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "İmla Denetimi Önerileri"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "Sütunu Kaydır"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "Seçimi sola ve sağa kaydır"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "Sola Kaydır"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "Sağa Kaydır"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr "Tableconvert"
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr "Seçim işlenirken birşeyler yolunda gitmedi. İptal ediliyor."
      
      #: ../tableconvert/src/tableconvert.c:329
      msgid "Convert selection to table"
      msgstr "Seçimi tabloya dönüştür"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr "Tabloya _çevir"
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr "İşaretlenmiş listeyi tabloya çevirir."
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      #, fuzzy
      msgid "_More TableConvert"
      msgstr "Tableconvert"
      
      #: ../treebrowser/src/treebrowser.c:127
      msgid "TreeBrowser"
      msgstr "AğaçGezgini"
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      "Bu eklenti Geany'e ağaç tarayıcı ekler. Bu sayede dosya sisteminde gezer "
      "gibi dosyaları açabilirsiniz."
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr "%s: dosya veya dizin bulunamadı."
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      msgid "(Empty)"
      msgstr "(Boş)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr "Ayarlanmış harici komut çalıştırılamadı '%s' (%s)."
      
      #: ../treebrowser/src/treebrowser.c:1043
      msgid "NewDirectory"
      msgstr "YeniDizin"
      
      #: ../treebrowser/src/treebrowser.c:1045
      msgid "NewFile"
      msgstr "YeniDosya"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      "Hedef dosya '%s' var\n"
      ", onu gerçekten boş bir dosya ile değiştirmek mi istiyorsunuz?"
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "Gerçekten silmek istiyor musunuz: '%s' ?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr "Yukarı git"
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      msgid "Set path from document"
      msgstr "Yolu belgeden ayarla"
      
      #: ../treebrowser/src/treebrowser.c:1216
      msgid "_Open externally"
      msgstr "Harici _olarak aç"
      
      #: ../treebrowser/src/treebrowser.c:1221
      msgid "Open Terminal"
      msgstr "Terminali Aç"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr "Kök olarak ata"
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      msgid "Refresh"
      msgstr "Yenile"
      
      #: ../treebrowser/src/treebrowser.c:1234
      msgid "_Find in Files"
      msgstr "Dosy_alarda Ara"
      
      #: ../treebrowser/src/treebrowser.c:1242
      msgid "Create new directory"
      msgstr "Yeni dizin oluştur"
      
      #: ../treebrowser/src/treebrowser.c:1246
      msgid "Create new file"
      msgstr "Yeni dosya oluştur"
      
      #: ../treebrowser/src/treebrowser.c:1250
      msgid "Rename"
      msgstr "Yeniden adlandır"
      
      #: ../treebrowser/src/treebrowser.c:1255
      msgid "Delete"
      msgstr "Sil"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, c-format
      msgid "Close: %s"
      msgstr "Kapat: %s"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, c-format
      msgid "Close Child Documents "
      msgstr "Alt Dosyaları Kapat"
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr "Tam yolu panoya _kopyala"
      
      #: ../treebrowser/src/treebrowser.c:1286
      msgid "Collapse all"
      msgstr "Tümünü Kapat"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      msgid "Show bookmarks"
      msgstr "Yer imlerini göster"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      msgid "Show hidden files"
      msgstr "Gizli dosyaları göster"
      
      #: ../treebrowser/src/treebrowser.c:1303
      msgid "Show toolbars"
      msgstr "Araç çubuklarını göster"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr "Hedef dosya '%s' zaten var, üzerine yazmak istiyor musunuz?"
      
      #: ../treebrowser/src/treebrowser.c:1749
      msgid "Home"
      msgstr "Ev"
      
      #: ../treebrowser/src/treebrowser.c:1759
      msgid "Track path"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1764
      msgid "Hide bars"
      msgstr "Çubukları gizle"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr "Adres satırı, örneğin '/projeler/benim-projem'"
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr "Ağaç Gezgini"
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr "Harici açma komutu"
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr "Araç Çubuğu"
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr "Gizli"
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr "Üstte"
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr "Sonda"
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr "Eğer pozisyon değişirse eklentinin tekrar başlatılması gerekmektedir."
      
      #: ../treebrowser/src/treebrowser.c:1987
      msgid "Show icons"
      msgstr "Simgeleri göster"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr "Hiçbiri"
      
      #: ../treebrowser/src/treebrowser.c:1990
      msgid "Base"
      msgstr "Temel"
      
      #: ../treebrowser/src/treebrowser.c:1991
      msgid "Content-type"
      msgstr "İçerik-türü"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      "Windows'da bu sadece '.' (nokta) ile başlayan dosyaların görünmemesini "
      "sağlar."
      
      #: ../treebrowser/src/treebrowser.c:2004
      msgid "Hide object files"
      msgstr "Nesne dosyalarını gizle"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      "Dahili oluşturulmuş dosyaları dosya tarayıcıda göstermez, bu *.o, *.obj. *."
      "so, *.dll, *.a, *.lib dosyalarını içerir."
      
      #: ../treebrowser/src/treebrowser.c:2011
      msgid "Reverse filter"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2026
      msgid "Double click open directory"
      msgstr "Dizini açmak için çift tık"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr "Silme tuşu, eğer açık ise kapat"
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      msgid "Show tree lines"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2053
      msgid "Open new files"
      msgstr "Yeni dosya aç"
      
      #: ../treebrowser/src/treebrowser.c:2129
      msgid "Focus File List"
      msgstr "Dosya Listesini Odakla"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr "Yol Yazımını Odakla"
      
      #: ../treebrowser/src/treebrowser.c:2133
      msgid "Rename Object"
      msgstr "Nesneyi Yeniden adlandır"
      
      #: ../treebrowser/src/treebrowser.c:2135
      msgid "Create New File"
      msgstr "Yeni Dosya Oluştur"
      
      #: ../treebrowser/src/treebrowser.c:2137
      msgid "Create New Directory"
      msgstr "Yeni Dizin Oluştur"
      
      #: ../updatechecker/src/updatechecker.c:41
      msgid "Updatechecker"
      msgstr "Güncelleme Kontrolü"
      
      #: ../updatechecker/src/updatechecker.c:42
      #, fuzzy
      msgid "Checks whether there are updates for Geany available"
      msgstr "Geany için yeni sürüm olup olmadığını kontrol eden bir eklenti."
      
      #: ../updatechecker/src/updatechecker.c:195
      #, fuzzy, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr "Daha yeni bir sürüm var"
      
      #: ../updatechecker/src/updatechecker.c:203
      #, fuzzy
      msgid "No newer Geany version available."
      msgstr "Daha yeni bir sürüm var"
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr "Açılışta güncelleme denetlemesi yap"
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr "Güncellemeleri Kontrol Et"
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr "mesaj-penceresi"
      
      #: ../webhelper/src/gwh-enum-types.c:16
      msgid "sidebar"
      msgstr "yan panel"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr "hiçbiri"
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:48
      msgid "normal"
      msgstr "normal"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr "araç"
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr "%s:"
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "Yer İmleri Listesini Odakla"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr "_Yakınlaştırma"
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      msgid "Flip panes orientation"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr "Geri"
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr "İleri"
      
      #: ../webhelper/src/gwh-browser.c:958
      msgid "Cancel loading"
      msgstr "Yüklemeyi iptal et"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr "Geçerli sayfayı yenile"
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr "Web izlenimi"
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr "Web önizleme"
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr "Tarayıcı otomatik yenileme"
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "Yer imlerini göster"
      
      #: ../webhelper/src/gwh-plugin.c:335
      msgid "Browser orientation"
      msgstr "Tarayıcı oryantasyonu"
      
      #: ../webhelper/src/gwh-plugin.c:336
      msgid "Orientation of the browser widget"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr "Tarayıcı pozisyonu"
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr "Web İnceleyicisini Aç/Kapat"
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      msgid "Browser"
      msgstr "Tarayıcı"
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #~ msgid "Program received a signal"
      #~ msgstr "Program bir sinyal aldı"
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "Daha iyi LaTeX desteği sağlamak için eklenti"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr ""
      #~ "İmla denetimi için dil ayarlanmasında hata. Lütfen yapılandırmayı kontrol "
      #~ "edin. Hata mesajı: %s"
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "Proje Dosyası Bul"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "Proje dosyası bul"
      
      #~ msgid "A little plugin to convert lists into tables"
      #~ msgstr "Listeleri tablolara çevirmek için ufak bir eklenti"
      
      #~ msgid "Goto file"
      #~ msgstr "Dosyaya git"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(%s eklentisinden)"
      
      #~ msgid "GProject"
      #~ msgstr "GProject"
      
      #~ msgid "No update available"
      #~ msgstr "Yeni güncelleme yok"
      
      #~ msgid "Plugins"
      #~ msgstr "Eklentiler"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "Aralık eklendi #%s, yer: %s(), %s:%s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "Aralık eklendi #%s, %s:%s\n"
      
      #~ msgid "Failed to toggle breakpoint -\n"
      #~ msgstr "Aralık geçişinde hata -\n"
      
      #~ msgid "Failed to retrieve source search path setting from GDB."
      #~ msgstr "GDB'den kaynak arama dizini ayarını alma işlemi başarısız."
      
      #~ msgid "Failed to retrieve executable search path setting from GDB."
      #~ msgstr ""
      #~ "GDB'den çalıştırılabilir arama dizini ayarını alma işlemi başarısız."
      
      #~ msgid "Failed to retrieve working directory setting from GDB."
      #~ msgstr "GDB'den çalışma dizini ayarını alma işlemi başarısız."
      
      #~ msgid "Error starting target process!\n"
      #~ msgstr "Hedef işlem başlatılırken hata!\n"
      
      #~ msgid ""
      #~ "This executable does not appear to contain the required debugging "
      #~ "information."
      #~ msgstr ""
      #~ "Çalıştırılabilir dosya gerekli hata ayıklama bilgisine sahip değil gibi "
      #~ "görünüyor."
      
      #~ msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
      #~ msgstr "Program %s (%s) sinyali aldı,bölge %s, fonksiyon %s() %s:%s"
      
      #~ msgid "Program exited on signal %s (%s).\n"
      #~ msgstr "Program %s sinyali ile sonlandı (%s).\n"
      
      #~ msgid "Unknown signal"
      #~ msgstr "Bilinmeyen sinyal"
      
      #~ msgid "Program exited with code %d [%s]\n"
      #~ msgstr "Program %d kodu ile sonlandı [%s]\n"
      
      #~ msgid "(unknown)"
      #~ msgstr "(bilinmiyor)"
      
      #~ msgid "Program exited normally.\n"
      #~ msgstr "Program normal olarak sonlandı.\n"
      
      #~ msgid "tty temporary directory not specified!\n"
      #~ msgstr "tty geçici dizini belirtilmedi!\n"
      
      #~ msgid "tty helper program not specified!\n"
      #~ msgstr "tty yardımcı program belirtilmedi!\n"
      
      #~ msgid "tty helper program not found!\n"
      #~ msgstr "tty yardımcı program bulunamadı!\n"
      
      #~ msgid "Attaching to terminal %s\n"
      #~ msgstr "%s terminaline ekleniyor\n"
      
      #~ msgid "Timeout waiting for TTY name.\n"
      #~ msgstr "TTY ismi için bekleme zaman aşımı.\n"
      
      #~ msgid "GDB exited (pid=%d)\n"
      #~ msgstr "GDB sonlandı (pid=%d)\n"
      
      #~ msgid "Target process exited. (pid=%d; %s%s)\n"
      #~ msgstr "Hedef işlemden çıkıldı. (pid=%d; %s%s)\n"
      
      #~ msgid "code="
      #~ msgstr "kod="
      
      #~ msgid "reason:"
      #~ msgstr "sebep:"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "Hedef program kapatılıyor.\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "Hedef program sonlandırılıyor.\n"
      
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "Hedef işlem için zaman aşımı bekleniyor.\n"
      
      #~ msgid "Using a bigger hammer!\n"
      #~ msgstr "Daha büyük bir çekiç kullanılıyor!\n"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "Hedef işlemin kapanması bekleniyor.\n"
      
      #~ msgid "Killing GDB (pid=%d)\n"
      #~ msgstr "GDB sonlandırılıyor (pid=%d)\n"
      
      #~ msgid "Timeout trying to kill GDB.\n"
      #~ msgstr "GDB sonlandırma için bekleme zaman aşımı.\n"
      
      #~ msgid "Shutting down GDB\n"
      #~ msgstr "GDB kapatılıyor\n"
      
      #~ msgid "Waiting for GDB to exit.\n"
      #~ msgstr "Çıkış için GDB bekleniyor.\n"
      
      #~ msgid "Timeout waiting for GDB to exit.\n"
      #~ msgstr "GDB çıkışı için bekleme zaman aşımı.\n"
      
      #~ msgid "Starting gdb (pid=%d)\n"
      #~ msgstr "GDB başlatılıyor (pid=%d)\n"
      
      #~ msgid "Started target process. (pid=%d)\n"
      #~ msgstr "Hedef işlem başlatıldı. (pid=%d)\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "Hiç %s seçilmedi"
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "Seçilen izleme noktasını sil?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "Seçilen kesme noktasını sil?"
      
      #~ msgid "Enabled"
      #~ msgstr "Etkinleştirildi"
      
      #~ msgid " times."
      #~ msgstr " kez. "
      
      #~ msgid " is true."
      #~ msgstr " doğru."
      
      #~ msgid "Environment settings"
      #~ msgstr "Çevre ayarları"
      
      #~ msgid ""
      #~ "\n"
      #~ " Command-line arguments passed to target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Hedef programa aktarılan komut satırı argümanları:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ " Kaynak dosyaları için arama dizini:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Working directory for target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " Hedef program içinçalışma dizini:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ " Çalıştırılabilir dosyalar için arama dizini:"
      
      #~ msgid "Keep debug window on top."
      #~ msgstr "Hata ayıklama penceresini daima üstte tut."
      
      #~ msgid "Show icons."
      #~ msgstr "Simgeleri göster."
      
      #~ msgid "Font for source code listings:"
      #~ msgstr "Kaynak kodu dizilimi için yazıtipi:"
      
      #~ msgid "Terminal program:"
      #~ msgstr "Terminal programı:"
      
      #~ msgid "_Examine"
      #~ msgstr "İnc_ele"
      
      #~ msgid "Elements"
      #~ msgstr "Elemanlar"
      
      #~ msgid "Fields"
      #~ msgstr "Bölgeler"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "Önceki diyaloğa dön."
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "Seçilen öğe ile ilgili detaylı bilgi göster."
      
      #~ msgid ""
      #~ "\n"
      #~ "Frame #%s in %s() at %s:%s\n"
      #~ msgstr ""
      #~ "\n"
      #~ "#%s yapısı, %s() içinde, %s:%s\n"
      
      #~ msgid "Function arguments"
      #~ msgstr "İşlev argümanları"
      
      #~ msgid "Local variables"
      #~ msgstr "Yerel değişkenler"
      
      #~ msgid "Return to stack list dialog."
      #~ msgstr "Yığın listesi diyaloğuna geri dön."
      
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "Seçilen yapı hakkında detaylı bilgi göster."
      
      #~ msgid "Clea_r"
      #~ msgstr "Te_mizle"
      
      #~ msgid "Filename: "
      #~ msgstr "Dosya Adı: "
      
      #~ msgid "Variable to watch:"
      #~ msgstr "İzlenecek değişken"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "Fonksiyon adının satır numarası:"
      
      #~ msgid "Access trigger:"
      #~ msgstr "Tetikleyiciye ulaş:"
      
      #~ msgid "(no program)"
      #~ msgstr "(program yok)"
      
      #~ msgid "starting"
      #~ msgstr "başlatılıyor"
      
      #~ msgid "paused"
      #~ msgstr "ara verildi"
      
      #~ msgid "Error:"
      #~ msgstr "Hata:"
      
      #~ msgid "Select executable to debug"
      #~ msgstr "Hata ayıklama için çalıştırılabilir dosya seçin"
      
      #~ msgid "Debugging of object files is not supported."
      #~ msgstr "Nesne dosyalarında hata ayıklama desteklenmiyor."
      
      #~ msgid "You don't have permission to execute this file."
      #~ msgstr "Bu dosyayı çalıştırmak için gerekli izinlere sahip değilsiniz."
      
      #~ msgid "Debugging of shared libraries is not supported."
      #~ msgstr "Paylaşılan kütüphanelerde hata ayıklama desteklenmiyor."
      
      #~ msgid "Debugging of core files id not supported."
      #~ msgstr "Temel kimlik dosyalarında hata ayıklama desteklenmiyor."
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr "Hedef ELF 32-bit x86 çalıştırılabilir dosyası olmalı."
      
      #~ msgid "You don't have permission to read this file."
      #~ msgstr "Bu dosyayı okumak için gerekli izinlere sahip değilsiniz."
      
      #~ msgid "Execute target program inside a terminal window."
      #~ msgstr "Hedef programı bir terminal penceresi içinde çalıştır."
      
      #~ msgid "Ignore SIGPIPE"
      #~ msgstr "SIGPIPE ı görmezden gel"
      
      #~ msgid ""
      #~ "Don't pause execution when target gets a SIGPIPE signal.\n"
      #~ "(Useful for certain networking applications.)"
      #~ msgstr ""
      #~ "Hedef SIGPIPE sinyali aldığında ara verme.\n"
      #~ "(Ağ uygulamaları için kullanışlı.)"
      
      #~ msgid "Send a GDB command directly to the debugger."
      #~ msgstr "Hata ayıklayıcıya direkt olarak bir GDB komutu gönder."
      
      #~ msgid "_Quit"
      #~ msgstr "Çı_k"
      
      #~ msgid "Exit everything"
      #~ msgstr "Herşeyden çık"
      
      #~ msgid "GeanyGDB"
      #~ msgstr "GeanyGDB"
      
      #~ msgid "Integrated debugging with GDB."
      #~ msgstr "GDB ile tümleşik hata ayıklama."
      
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr "Eklenti düzenleme dizini (%s) oluşturulamadı."
      
      #~ msgid "geanygdb: ttyhelper program not found."
      #~ msgstr "geanygdb: ttyhelper programı bulunamadı."
      
      #~ msgid "Seach for:"
      #~ msgstr "Şunun için ara:"
      
      #~ msgid "Unable to get the file name"
      #~ msgstr "Dosya adı alınamadı"
      
      #~ msgid "Unable to get the the content of the file"
      #~ msgstr "Dosyanın içeriği alınamadı"
      
      #~ msgid "Unable to save the current file"
      #~ msgstr "Geçerli dosya kaydedilemedi"
      
      #~ msgid "Google Code"
      #~ msgstr "Google Code"
      
      #~ msgid "You must define a key trigger combination"
      #~ msgstr "Bir kısayol kombinasyonu belirlemelisiniz"
      
      #, fuzzy
      #~ msgid "Error reading config file"
      #~ msgstr "Ayar dosyalarının tekrar yüklenmesini zorla"
      
      #, fuzzy
      #~ msgid "Couldn't create tempfile"
      #~ msgstr "Yeni dosya oluştur"
      
      #~ msgid "Yura Siamshka "
      #~ msgstr "Yura Siamshka "
      
      #~ msgid ":  "
      #~ msgstr ":  "
      
      #~ msgid "Jeff Pohlmeyer, Dominic Hopf"
      #~ msgstr "Jeff Pohlmeyer, Dominic Hopf"
      
      #~ msgid "Yura Siamashka "
      #~ msgstr "Yura Siamashka "
      
      #~ msgid "Conference"
      #~ msgstr "Konferans"
      
      #~ msgid "Showing icon in toolbar"
      #~ msgstr "Araç çubuğunda simge gösteriliyor"
      
      #~ msgid "Treeview filebrowser plugin."
      #~ msgstr "Ağaç biçiminde dosya gezme eklentisi."
      
      #~ msgid "Directory '%s' not exists."
      #~ msgstr "'%s' dizini bulunamadı."
      
      #~ msgid "The Geany developer team"
      #~ msgstr "Geany geliştirme takımı"
      
      #~ msgid "Code Navigation plug-in configuration"
      #~ msgstr "Kod gezgini eklentisi ayarları"
      
      #~ msgid "Load target program into debugger."
      #~ msgstr "Hedef programı hata ayıklayıcıya yükle."
      
      #~ msgid "Kill the target program AND the debugger."
      #~ msgstr "Hedef programı VE hata ayıklayıcıyı sonlandır."
      
      #~ msgid "Execute target program in debugger."
      #~ msgstr "Hedef programı hata ayıklayıcıda çalıştır."
      
      #~ msgid "_Kill"
      #~ msgstr "_Öldür"
      
      #~ msgid "Kill the target program with SIGKILL."
      #~ msgstr "Hedef programı SIGKILL ile sonlandır."
      
      #~ msgid "Continue executing target program."
      #~ msgstr "Hedef programı çalıştırmaya devam et."
      
      #~ msgid "Run to specified source line."
      #~ msgstr "Belirtilen kod satırına gider."
      
      #~ msgid "Display a backtrace of the current call stack."
      #~ msgstr "Mevcut yığından geribildirim göster."
      
      #~ msgid "Add or remove watchpoints."
      #~ msgstr "İzleme noktası ekle/çıkart"
      
      #~ msgid "_Finish"
      #~ msgstr "_Bitir"
      
      #~ msgid "Set target environment and command line options."
      #~ msgstr "Hedef çevreyi ve komut satırı seçeneklerini ayarla."
      
      #~ msgid "Set user interface options."
      #~ msgstr "Kullanıcı arayüzü seçeneklerini ayarla."
      
      #, fuzzy
      #~ msgid "_History (Log)"
      #~ msgstr "_Geçmiş"
      geany-plugins-1.27/po/zh_CN.po0000644000175000017500000056573112671261352016520 0ustar00frlanfrlan00000000000000# Chinese Simplified translations for Geany plugins
      # Copyright (C) 2009 THE Geany'S COPYRIGHT HOLDER
      # This file is distributed under the same license as the Geany package.
      #
      # Xhacker Liu , 2009.
      msgid ""
      msgstr ""
      "Project-Id-Version: Geany-Plugins 1.27\n"
      "Report-Msgid-Bugs-To: \n"
      "POT-Creation-Date: 2016-02-28 14:22+0100\n"
      "PO-Revision-Date: 2009-10-30 08:44+0800\n"
      "Last-Translator: Xhacker Liu \n"
      "Language-Team: zh_CN <>\n"
      "Language: \n"
      "MIME-Version: 1.0\n"
      "Content-Type: text/plain; charset=UTF-8\n"
      "Content-Transfer-Encoding: 8bit\n"
      "X-Generator: Gtranslator 1.9.6\n"
      "Plural-Forms: nplurals=1; plural=0;\n"
      
      #: ../addons/src/ao_bookmarklist.c:190
      msgid "(Empty Line)"
      msgstr "(空行)"
      
      #: ../addons/src/ao_bookmarklist.c:315
      #, fuzzy
      msgid "_Remove Bookmark"
      msgstr "书签"
      
      #. Translators: Number is meant at this point.
      #: ../addons/src/ao_bookmarklist.c:342
      msgid "No."
      msgstr "No."
      
      #: ../addons/src/ao_bookmarklist.c:350 ../devhelp/src/dhp-object.c:494
      #: ../devhelp/devhelp/dh-window.c:1142
      msgid "Contents"
      msgstr "内容"
      
      #: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:624
      #: ../webhelper/src/gwh-plugin.c:329
      msgid "Bookmarks"
      msgstr "书签"
      
      #. complete update
      #: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2347
      msgid "_Update"
      msgstr "更新(_U)"
      
      #: ../addons/src/ao_tasks.c:382
      msgid "_Hide Message Window"
      msgstr ""
      
      #: ../addons/src/ao_tasks.c:412 ../debugger/src/stree.c:420
      #, fuzzy
      msgid "File"
      msgstr "文件(_F)"
      
      #: ../addons/src/ao_tasks.c:423 ../debugger/src/bptree.c:702
      #: ../debugger/src/stree.c:427
      msgid "Line"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:204
      #: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
      msgid "Type"
      msgstr "Type"
      
      #: ../addons/src/ao_tasks.c:445
      #, fuzzy
      msgid "Task"
      msgstr "任务"
      
      #: ../addons/src/ao_tasks.c:478
      msgid "Tasks"
      msgstr "任务"
      
      #: ../addons/src/ao_tasks.c:542
      #, fuzzy
      msgid "Context:"
      msgstr "内容"
      
      #: ../addons/src/ao_xmltagging.c:54
      msgid "XML tagging"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:65
      msgid "Tag name to be inserted:"
      msgstr ""
      
      #: ../addons/src/ao_xmltagging.c:69
      #, c-format
      msgid ""
      "%s will be replaced with your current selection. Please keep care on your "
      "selection"
      msgstr ""
      
      #: ../addons/src/ao_openuri.c:165
      msgid "Open URI"
      msgstr "打开URI"
      
      #: ../addons/src/ao_openuri.c:171
      msgid "Copy URI"
      msgstr "复制URI"
      
      #: ../addons/src/ao_wrapwords.c:252
      #, fuzzy
      msgid "Enclose Characters"
      msgstr "箭头字符"
      
      #: ../addons/src/ao_wrapwords.c:253
      msgid "Accept"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:254 ../geanymacro/src/geanymacro.c:1064
      #, fuzzy
      msgid "Cancel"
      msgstr "编码:"
      
      #: ../addons/src/ao_wrapwords.c:254
      msgid "OK"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:263
      #, c-format
      msgid "Enclose combo %d"
      msgstr ""
      
      #: ../addons/src/ao_wrapwords.c:279
      #, fuzzy
      msgid "Opening Character"
      msgstr "插入特殊字符(_S)"
      
      #: ../addons/src/ao_wrapwords.c:286
      #, fuzzy
      msgid "Closing Character"
      msgstr "箭头字符"
      
      #: ../addons/src/ao_doclist.c:214
      msgid "Close Ot_her Documents"
      msgstr "关闭其他文件(_H)"
      
      #: ../addons/src/ao_doclist.c:219
      msgid "C_lose All"
      msgstr "关闭全部(_L)"
      
      #: ../addons/src/ao_doclist.c:249
      msgid "Show Document List"
      msgstr "显示文件列表"
      
      #: ../addons/src/ao_copyfilepath.c:104
      #, c-format
      msgid "File path \"%s\" copied to clipboard."
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:318
      msgid "Copy File Path"
      msgstr ""
      
      #: ../addons/src/ao_copyfilepath.c:122
      #, fuzzy
      msgid "Copy the file path of the current document to the clipboard"
      msgstr "检查当前文件的拼写。"
      
      #: ../addons/src/addons.c:53
      msgid "Addons"
      msgstr "附加组件"
      
      #: ../addons/src/addons.c:54
      msgid "Various small addons for Geany."
      msgstr "很多 Geany 的小附加组件。"
      
      #: ../addons/src/addons.c:309
      msgid "Focus Bookmark List"
      msgstr "焦点书签列表"
      
      #: ../addons/src/addons.c:311
      #, fuzzy
      msgid "Focus Tasks List"
      msgstr "焦点书签列表"
      
      #: ../addons/src/addons.c:313
      msgid "Update Tasks List"
      msgstr ""
      
      #: ../addons/src/addons.c:315
      msgid "Run XML tagging"
      msgstr ""
      
      #: ../addons/src/addons.c:433 ../autoclose/src/autoclose.c:885
      #: ../codenav/src/codenavigation.c:293 ../geanylatex/src/geanylatex.c:241
      #: ../geanyprj/src/geanyprj.c:174 ../geanysendmail/src/geanysendmail.c:124
      #: ../geanysendmail/src/geanysendmail.c:289 ../geanyvc/src/geanyvc.c:1850
      #: ../geniuspaste/src/geniuspaste.c:312 ../spellcheck/src/scplugin.c:158
      #: ../treebrowser/src/treebrowser.c:1938
      #: ../updatechecker/src/updatechecker.c:267
      msgid "Plugin configuration directory could not be created."
      msgstr "无法创建插件配置文件目录。"
      
      #: ../addons/src/addons.c:461
      msgid "Show toolbar item to show a list of currently open documents"
      msgstr "在工具栏中显示当前打开文件列表"
      
      #: ../addons/src/addons.c:465
      msgid "Sort documents by _name"
      msgstr ""
      
      #: ../addons/src/addons.c:467
      msgid "Sort the documents in the list by their filename"
      msgstr ""
      
      #: ../addons/src/addons.c:470
      msgid "Sort documents by _occurrence"
      msgstr ""
      
      #: ../addons/src/addons.c:472
      #, fuzzy
      msgid "Sort the documents in the order of the document tabs"
      msgstr "为您的新文档设置编码"
      
      #: ../addons/src/addons.c:475
      msgid "Sort documents by _occurrence (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:477
      msgid "Sort the documents in the order of the document tabs (reversed)"
      msgstr ""
      
      #: ../addons/src/addons.c:504
      #, fuzzy
      msgid "Show an 'Open URI' item in the editor menu"
      msgstr "在编辑器菜单中显示“打开URI”"
      
      #: ../addons/src/addons.c:510
      #, fuzzy
      msgid "Show available Tasks in the Messages Window"
      msgstr "在消息窗口中显示可用的任务"
      
      #: ../addons/src/addons.c:516
      msgid "Show tasks of all documents"
      msgstr ""
      
      #: ../addons/src/addons.c:520
      msgid ""
      "Whether to show the tasks of all open documents in the list or only those of "
      "the current document."
      msgstr ""
      
      #: ../addons/src/addons.c:527
      msgid "Specify a semicolon separated list of search tokens."
      msgstr ""
      
      #: ../addons/src/addons.c:529
      msgid "Search tokens:"
      msgstr ""
      
      #: ../addons/src/addons.c:546
      msgid "Show status icon in the Notification Area"
      msgstr "在通知区域显示状态图标"
      
      #: ../addons/src/addons.c:552
      #, fuzzy
      msgid "Show defined bookmarks (marked lines) in the sidebar"
      msgstr "显示定义的书签(标记的行)在侧栏"
      
      #: ../addons/src/addons.c:558
      msgid "Mark all occurrences of a word when double-clicking it"
      msgstr ""
      
      #: ../addons/src/addons.c:564
      msgid "Strip trailing blank lines"
      msgstr ""
      
      #: ../addons/src/addons.c:570
      msgid "XML tagging for selection"
      msgstr ""
      
      #: ../addons/src/addons.c:576
      msgid "Enclose selection on configurable keybindings"
      msgstr ""
      
      #: ../addons/src/addons.c:580
      msgid "Configure enclose pairs"
      msgstr ""
      
      #: ../addons/src/addons.c:588
      msgid "Enclose selection automatically (without having to press a keybinding)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:50
      msgid "Auto-close"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:51
      msgid "Auto-close braces and brackets with lot of features"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1033
      msgid "Auto-close quotes and brackets"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1034
      msgid "Parenthesis ( )"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1035
      msgid "Auto-close parenthesis \"(\" -> \"(|)\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1037
      msgid "Curly brackets { }"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1038
      msgid "Auto-close curly brackets \"{\" -> \"{|}\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1040
      msgid "Square brackets [ ]"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1041
      msgid "Auto-close square brackets \"[\" -> \"[|]\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1042
      msgid "Angular brackets < >"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1043
      msgid "Auto-close angular brackets \"<\" -> \"<|>\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1045
      msgid "\tOnly for HTML"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1046
      msgid "Auto-close angular brackets only in HTML documents"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1047
      msgid "Double quotes \" \""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1048
      msgid "Auto-close double quotes \" -> \"|\""
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1049
      msgid "Single quotes ' '"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1050
      msgid "Auto-close single quotes ' -> '|'"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1051
      msgid "Backquote ` `"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1052
      msgid "Auto-close backquote ` -> `|`"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1054
      msgid "\tOnly for Shell-scripts (Bash)"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1055
      msgid "Auto-close backquote only in Shell-scripts like Bash"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1057
      msgid "Improve curly brackets completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1058
      msgid "Indent when enclosing"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1059
      msgid ""
      "If you select some text and press \"{\" or \"}\", plugin will auto-close "
      "selected lines and make new block with indent.\n"
      "You do not need to select block precisely - block enclosing takes into "
      "account only lines."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1064
      #, fuzzy
      msgid "Move cursor to beginning"
      msgstr "将选中部分左对齐"
      
      #: ../autoclose/src/autoclose.c:1065
      msgid ""
      "If you checked \"Indent when enclosing\", moving cursor to beginning may be "
      "useful: usually you make new block and need to create new statement before "
      "this block."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1068
      #, fuzzy
      msgid "Improved auto-indentation"
      msgstr "简报"
      
      #: ../autoclose/src/autoclose.c:1069
      msgid ""
      "Improved auto-indent for curly brackets: type \"{\" and then press Enter - "
      "plugin will create full indented block. Works without \"auto-close { }\" "
      "checkbox."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1072
      msgid "\tWhitesmith's style"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1073
      msgid ""
      "This style puts the brace associated with a control statement on the next "
      "line, indented. Statements within the braces are indented to the same level "
      "as the braces."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1078
      msgid "Delete pairing character while backspacing first"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1079
      msgid "Check if you want to delete pairing bracket by pressing BackSpace."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1081
      msgid "Suppress double-completion"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1082
      msgid ""
      "Check if you want to allow editor automatically fix mistypes with brackets: "
      "if you type \"{}\" you will get \"{}\", not \"{}}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1084
      #, fuzzy
      msgid "Enclose selections"
      msgstr "选择字体"
      
      #: ../autoclose/src/autoclose.c:1085
      msgid "Automatically enclose selected text by pressing just one bracket key."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1087
      #, fuzzy
      msgid "Keep selection when enclosing"
      msgstr "将选中部分居中"
      
      #: ../autoclose/src/autoclose.c:1088
      msgid "Keep your previously selected text after enclosing."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1090
      msgid "Behaviour inside comments and strings"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1091
      msgid "Allow auto-closing in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1092
      msgid "Check if you want to keep auto-closing inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1093
      msgid "Enclose selections in strings and comments"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1094
      msgid ""
      "Check if you want to enclose selections inside strings and comments too."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1097
      msgid "Auto-complete \";\" for functions"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1098
      msgid ""
      "Full function auto-closing (works only for C/C++): type \"sin(\" and you "
      "will get \"sin(|);\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1100
      msgid "Shift+BackSpace removes pairing brace too"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1101
      msgid ""
      "Remove left and right brace while pressing Shift+BackSpace.\n"
      "Tip: to completely remove indented block just Shift+BackSpace first \"{\" or "
      "last \"}\"."
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1104
      msgid "Jump on Tab to enclosed char"
      msgstr ""
      
      #: ../autoclose/src/autoclose.c:1105
      msgid "Jump behind autoclosed items on Tab press."
      msgstr ""
      
      #: ../automark/src/automark.c:48
      msgid "Auto-mark"
      msgstr ""
      
      #: ../automark/src/automark.c:49
      msgid "Auto-mark word under cursor"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:43
      msgid "Code navigation"
      msgstr "代码导航"
      
      #: ../codenav/src/codenavigation.c:44
      msgid ""
      "This plugin adds features to facilitate navigation between source files."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:139
      msgid ""
      "Codenav head/impl lists should have been same length. Geany will use the "
      "default configuration."
      msgstr ""
      
      #. Frame, which is the returned widget
      #. Add the menu item and make it sensitive only when a document is opened
      #: ../codenav/src/codenavigation.c:396 ../codenav/src/switch_head_impl.c:70
      #: ../codenav/src/switch_head_impl.c:84
      msgid "Switch header/implementation"
      msgstr ""
      
      #. Help label
      #: ../codenav/src/codenavigation.c:403
      msgid "You can specify multiple extensions by separating them by commas."
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:426
      msgid "Implementations extensions"
      msgstr ""
      
      #: ../codenav/src/codenavigation.c:435
      msgid "Headers extensions"
      msgstr ""
      
      #. Add the "reset to default" button to the frame's hbox
      #: ../codenav/src/codenavigation.c:462
      #, fuzzy
      msgid "Reset to Default"
      msgstr "默认(%s)"
      
      #: ../codenav/src/codenavigation.c:547
      msgid ""
      "Are you sure you want to delete all languages and restore defaults?\n"
      "This action cannot be undone."
      msgstr ""
      
      #. Add the menu item, sensitive only when a document is opened
      #: ../codenav/src/goto_file.c:68 ../codenav/src/goto_file.c:218
      msgid "Go to File..."
      msgstr ""
      
      #: ../codenav/src/goto_file.c:82
      msgid "Go to File"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:227
      msgid "Enter the file you want to open:"
      msgstr ""
      
      #: ../codenav/src/goto_file.c:303 ../codenav/src/switch_head_impl.c:409
      #, fuzzy, c-format
      msgid "%s not found, create it?"
      msgstr "未找到 %s,创建?"
      
      #: ../commander/src/commander-plugin.c:43
      #, fuzzy
      msgid "Commander"
      msgstr "命令0:"
      
      #: ../commander/src/commander-plugin.c:44
      msgid "Provides a command panel for quick access to actions, files and more"
      msgstr ""
      
      #: ../commander/src/commander-plugin.c:752
      #, fuzzy
      msgid "Show Command Panel"
      msgstr "命令0:"
      
      #: ../debugger/src/plugin.c:56
      #, fuzzy
      msgid "Debugger"
      msgstr "调试器"
      
      #: ../debugger/src/plugin.c:57
      msgid "Various debuggers integration."
      msgstr ""
      
      #: ../debugger/src/plugin.c:133 ../debugger/src/keys.c:76
      #: ../scope/data/scope.glade.h:124 ../scope/src/scope.c:225
      #, fuzzy
      msgid "Debug"
      msgstr "调试器"
      
      #: ../debugger/src/vtree.c:173 ../debugger/src/envtree.c:425
      #, fuzzy
      msgid "Name"
      msgstr "名称:"
      
      #: ../debugger/src/vtree.c:196 ../debugger/src/envtree.c:430
      msgid "Value"
      msgstr ""
      
      #: ../debugger/src/tpage.c:105
      msgid "Choose target file"
      msgstr ""
      
      #. target
      #: ../debugger/src/tpage.c:252
      #, fuzzy
      msgid "Target:"
      msgstr "Pages"
      
      #: ../debugger/src/tpage.c:255
      #, fuzzy
      msgid "Browse"
      msgstr "浏览..."
      
      #. debugger
      #: ../debugger/src/tpage.c:260
      #, fuzzy
      msgid "Debugger:"
      msgstr "调试器"
      
      #. arguments
      #: ../debugger/src/tpage.c:271
      #, fuzzy
      msgid "Command Line Arguments"
      msgstr "命令0:"
      
      #. environment
      #: ../debugger/src/tpage.c:282
      #, fuzzy
      msgid "Environment Variables"
      msgstr "环境"
      
      #. if name is empty - offer to delete variable
      #: ../debugger/src/envtree.c:260 ../debugger/src/envtree.c:366
      #: ../debugger/src/debug.c:264
      #, fuzzy
      msgid "Delete variable?"
      msgstr "本地变量"
      
      #: ../debugger/src/bptree.c:676
      #, fuzzy
      msgid "Location"
      msgstr "位置:"
      
      #: ../debugger/src/bptree.c:685
      #, fuzzy
      msgid "Condition"
      msgstr "Edition"
      
      #: ../debugger/src/bptree.c:696
      msgid "Hit count"
      msgstr ""
      
      #: ../debugger/src/bptree.c:861
      #, c-format
      msgid "line %i"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:523
      #, fuzzy, c-format
      msgid "Program received signal %s (%s)"
      msgstr "程序收到信号:"
      
      #: ../debugger/src/dbm_gdb.c:544
      #, fuzzy, c-format
      msgid "Program exited with code \"%i\""
      msgstr "程序退出,代码 %d [%s]\n"
      
      #: ../debugger/src/dbm_gdb.c:708
      msgid "Failed to spawn gdb process"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "~\"Loading target file.\\n\""
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:755
      msgid "Error loading file"
      msgstr ""
      
      #. setting asyncronous mode
      #. setting null-stop array printing
      #. enable pretty printing
      #: ../debugger/src/dbm_gdb.c:760 ../debugger/src/dbm_gdb.c:763
      #: ../debugger/src/dbm_gdb.c:766
      msgid "Error configuring GDB"
      msgstr ""
      
      #: ../debugger/src/dbm_gdb.c:806
      #, c-format
      msgid ""
      "Breakpoint at %s:%i cannot be set\n"
      "Debugger message: %s"
      msgstr ""
      
      #: ../debugger/src/utils.c:68
      #, c-format
      msgid "Can't find a source file \"%s\""
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Active frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:164
      msgid "Click an arrow to switch to a frame"
      msgstr ""
      
      #: ../debugger/src/stree.c:350
      #, c-format
      msgid "Thread %i"
      msgstr ""
      
      #: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
      msgid "Address"
      msgstr "Address"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../debugger/src/stree.c:413 ../devhelp/devhelp/dh-link.c:267
      #, fuzzy
      msgid "Function"
      msgstr "函数参数"
      
      #: ../debugger/src/tabs.c:132
      #, fuzzy
      msgid "Target"
      msgstr "Pages"
      
      #: ../debugger/src/tabs.c:135 ../scope/src/scope.c:520
      msgid "Breakpoints"
      msgstr "断点"
      
      #: ../debugger/src/tabs.c:138
      #, fuzzy
      msgid "Watch"
      msgstr "观察点"
      
      #: ../debugger/src/tabs.c:141
      msgid "Autos"
      msgstr ""
      
      #: ../debugger/src/tabs.c:144
      #, fuzzy
      msgid "Call Stack"
      msgstr "堆栈(_K)"
      
      #: ../debugger/src/tabs.c:147
      #, fuzzy
      msgid "Debug Terminal"
      msgstr "在终端中运行"
      
      #: ../debugger/src/tabs.c:150
      #, fuzzy
      msgid "Debugger Messages"
      msgstr "调试器"
      
      #: ../debugger/src/keys.c:49
      #, fuzzy
      msgid "Run / Continue"
      msgstr "继续(_C)"
      
      #: ../debugger/src/keys.c:50 ../debugger/src/btnpanel.c:101
      msgid "Stop"
      msgstr ""
      
      #: ../debugger/src/keys.c:51 ../debugger/src/btnpanel.c:98
      #, fuzzy
      msgid "Restart"
      msgstr "正在启动"
      
      #: ../debugger/src/keys.c:52 ../debugger/src/btnpanel.c:113
      #: ../scope/src/scope.c:65
      #, fuzzy
      msgid "Step into"
      msgstr "单步进入(_I)"
      
      #: ../debugger/src/keys.c:53 ../debugger/src/btnpanel.c:110
      #: ../scope/src/scope.c:66
      msgid "Step over"
      msgstr ""
      
      #: ../debugger/src/keys.c:54 ../debugger/src/btnpanel.c:122
      #: ../scope/src/scope.c:67
      #, fuzzy
      msgid "Step out"
      msgstr "单步进入(_I)"
      
      #: ../debugger/src/keys.c:55 ../debugger/src/btnpanel.c:125
      #: ../scope/src/scope.c:63
      #, fuzzy
      msgid "Run to cursor"
      msgstr "运行到位置"
      
      #: ../debugger/src/keys.c:56
      #, fuzzy
      msgid "Add / Remove breakpoint"
      msgstr "添加/删除断点。"
      
      #: ../debugger/src/keys.c:57
      #, fuzzy
      msgid "Jump to the current instruction"
      msgstr "完成当前执行的函数。"
      
      #: ../debugger/src/watch_model.c:220
      msgid "Can't evaluate expression"
      msgstr ""
      
      #: ../debugger/src/callbacks.c:258
      msgid "To edit source files stop debugging session"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:90 ../debugger/src/btnpanel.c:159
      #, fuzzy
      msgid "Run"
      msgstr "运行(_R)"
      
      #: ../debugger/src/btnpanel.c:132
      #, fuzzy
      msgid "Settings"
      msgstr "正在启动"
      
      #: ../debugger/src/btnpanel.c:136
      msgid "Two panel mode"
      msgstr ""
      
      #: ../debugger/src/btnpanel.c:154
      #, fuzzy
      msgid "Continue"
      msgstr "继续(_C)"
      
      #: ../debugger/src/dconfig.c:674
      msgid "Save debug session data to a project"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:56
      msgid "Define formatter"
      msgstr ""
      
      #: ../defineformat/src/defineformat.c:57
      msgid "Automatically align backslash in multi-line defines"
      msgstr ""
      
      #. never search for more than this many chars
      #: ../devhelp/src/dhp.h:38
      #, fuzzy
      msgid "Documentation"
      msgstr "文件交互"
      
      #: ../devhelp/src/dhp.h:39
      msgid "Code"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:387
      msgid "Search for 'Tag' Documentation in"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp" (it's marked as translatable
      #. * for transliteration only)
      #: ../devhelp/src/dhp-object.c:390 ../devhelp/src/dhp-object.c:503
      #: ../devhelp/devhelp/dh-window.c:727 ../devhelp/devhelp/dh-window.c:1034
      #: ../devhelp/devhelp/dh-window.c:1863
      msgid "Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:397
      #, fuzzy
      msgid "Manual Pages"
      msgstr "Manual"
      
      #: ../devhelp/src/dhp-object.c:443
      msgid "Go back one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:444
      msgid "Go forward one page"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:445
      msgid "Zoom in"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:446
      msgid "Zoom out"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:497 ../devhelp/devhelp/dh-window.c:1152
      msgid "Search"
      msgstr ""
      
      #: ../devhelp/src/dhp-object.c:1305
      #, fuzzy, c-format
      msgid "Search for '%s' Documentation in"
      msgstr "插入环境"
      
      #: ../devhelp/src/dhp-plugin.c:42
      msgid "Devhelp Plugin"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:43
      msgid ""
      "Adds support for looking up documentation in Devhelp, manual pages, and "
      "Google Code Search in the integrated viewer."
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:119
      #, c-format
      msgid "Unable to create config dir at '%s'"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:134
      #, c-format
      msgid "Unable to get default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:142
      #, c-format
      msgid "Unable to write default configuration: %s"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:172
      msgid "Toggle sidebar contents tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:174
      msgid "Toggle sidebar search tab"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:176
      #, fuzzy
      msgid "Toggle documentation tab"
      msgstr "文件交互"
      
      #: ../devhelp/src/dhp-plugin.c:178
      msgid "Activate all tabs"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:180
      msgid "Search for current tag in Devhelp"
      msgstr ""
      
      #: ../devhelp/src/dhp-plugin.c:184
      msgid "Search for current tag in Manual Pages"
      msgstr ""
      
      #. i18n: Please don't translate "Devhelp".
      #: ../devhelp/devhelp/dh-assistant.c:74
      msgid "Devhelp — Assistant"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-assistant-view.c:336
      #, fuzzy
      msgid "Book:"
      msgstr "书籍"
      
      #. i18n: a documentation book
      #: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1784
      msgid "Book"
      msgstr "书籍"
      
      #. i18n: a "page" in a documentation book
      #: ../devhelp/devhelp/dh-link.c:258
      #, fuzzy
      msgid "Page"
      msgstr "Pages"
      
      #. i18n: a search hit in the documentation, could be a
      #. * function, macro, struct, etc
      #: ../devhelp/devhelp/dh-link.c:262
      msgid "Keyword"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:272
      msgid "Struct"
      msgstr ""
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:277
      #, fuzzy
      msgid "Macro"
      msgstr "编辑观察点"
      
      #. i18n: in the programming language context, if you don't
      #. * have an ESTABLISHED term for it, leave it
      #. * untranslated.
      #: ../devhelp/devhelp/dh-link.c:282
      msgid "Enum"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:91 ../devhelp/devhelp/dh-parser.c:185
      #: ../devhelp/devhelp/dh-parser.c:249 ../devhelp/devhelp/dh-parser.c:259
      #, c-format
      msgid "Expected '%s', got '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:108
      #, c-format
      msgid "Invalid namespace '%s' at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:136
      #, c-format
      msgid ""
      "\"title\", \"name\" and \"link\" elements are required at line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:204
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside  on line %d, column "
      "%d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:284
      #, c-format
      msgid ""
      "\"name\" and \"link\" elements are required inside '%s' on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:297
      #, c-format
      msgid "\"type\" element is required inside  on line %d, column %d"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-parser.c:500
      #, c-format
      msgid "Cannot uncompress book '%s': %s"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:498
      msgid "All books"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-search.c:620
      msgid "Search in:"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:98
      msgid "50%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:99
      msgid "75%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:100
      msgid "100%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:101
      msgid "125%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:102
      msgid "150%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:103
      msgid "175%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:104
      msgid "200%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:105
      msgid "300%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:106
      msgid "400%"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:722
      msgid "translator_credits"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:729
      msgid "A developers' help browser for GNOME"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2062
      msgid "_File"
      msgstr "文件(_F)"
      
      #: ../devhelp/devhelp/dh-window.c:760 ../geanymacro/src/geanymacro.c:1822
      #: ../geanymacro/src/geanymacro.c:2118
      #, fuzzy
      msgid "_Edit"
      msgstr "Editor"
      
      #: ../devhelp/devhelp/dh-window.c:761
      msgid "_View"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:762
      msgid "_Go"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:763
      msgid "_Help"
      msgstr ""
      
      #. File menu
      #: ../devhelp/devhelp/dh-window.c:766
      msgid "_New Window"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:768
      msgid "New _Tab"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:770
      msgid "_Print…"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:782 ../devhelp/devhelp/eggfindbar.c:342
      #, fuzzy
      msgid "Find Next"
      msgstr "添加文件"
      
      #: ../devhelp/devhelp/dh-window.c:784 ../devhelp/devhelp/eggfindbar.c:329
      #, fuzzy
      msgid "Find Previous"
      msgstr "在项目中查找"
      
      #: ../devhelp/devhelp/dh-window.c:791
      #, fuzzy
      msgid "Go to the previous page"
      msgstr "返回上一个对话框。"
      
      #: ../devhelp/devhelp/dh-window.c:794
      #, fuzzy
      msgid "Go to the next page"
      msgstr "单步进入下一行。"
      
      #: ../devhelp/devhelp/dh-window.c:797
      #, fuzzy
      msgid "_Contents Tab"
      msgstr "内容"
      
      #: ../devhelp/devhelp/dh-window.c:800
      msgid "_Search Tab"
      msgstr ""
      
      #. View menu
      #: ../devhelp/devhelp/dh-window.c:804
      msgid "_Larger Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:805
      msgid "Increase the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:807
      msgid "S_maller Text"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:808
      msgid "Decrease the text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:810
      msgid "_Normal Size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:811
      msgid "Use the normal text size"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:820
      msgid "Leave fullscreen mode"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:827
      msgid "Display in full screen"
      msgstr ""
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:947
      #, fuzzy
      msgid "Larger"
      msgstr "LaTeX"
      
      #. Translators: This refers to text size
      #: ../devhelp/devhelp/dh-window.c:950
      msgid "Smaller"
      msgstr ""
      
      #. i18n: please don't translate
      #. * "Devhelp", it's a name, not a
      #. * generic word.
      #: ../devhelp/devhelp/dh-window.c:1095
      msgid "About Devhelp"
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1100
      #, fuzzy
      msgid "Preferences…"
      msgstr "首选项"
      
      #: ../devhelp/devhelp/dh-window.c:1330
      msgid "Error opening the requested link."
      msgstr ""
      
      #: ../devhelp/devhelp/dh-window.c:1649 ../devhelp/devhelp/dh-window.c:1891
      #, fuzzy
      msgid "Empty Page"
      msgstr "(空行)"
      
      #: ../devhelp/devhelp/eggfindbar.c:320
      msgid "Find:"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:333 ../devhelp/devhelp/eggfindbar.c:336
      msgid "Find previous occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:346 ../devhelp/devhelp/eggfindbar.c:349
      msgid "Find next occurrence of the search string"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:358
      msgid "C_ase Sensitive"
      msgstr ""
      
      #: ../devhelp/devhelp/eggfindbar.c:362 ../devhelp/devhelp/eggfindbar.c:365
      msgid "Toggle case sensitive search"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:51
      msgid "Ctags generation and search plugin for geany projects"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:149
      #, c-format
      msgid "%s (in directory: %s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:164
      #, c-format
      msgid "Process execution failed (%s)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:517
      msgid "Find Tag"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:528
      #, fuzzy
      msgid "_Search for:"
      msgstr "插入环境"
      
      #: ../geanyctags/src/geanyctags.c:546
      msgid "_Match type:"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:551
      #: ../projectorganizer/src/prjorg-sidebar.c:477
      msgid "exact"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:552
      #: ../projectorganizer/src/prjorg-sidebar.c:478
      msgid "prefix"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:553
      #: ../projectorganizer/src/prjorg-sidebar.c:479
      #, fuzzy
      msgid "pattern"
      msgstr "书信"
      
      #: ../geanyctags/src/geanyctags.c:562
      #: ../projectorganizer/src/prjorg-sidebar.c:156
      #: ../projectorganizer/src/prjorg-sidebar.c:500
      msgid "C_ase sensitive"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:565
      #: ../projectorganizer/src/prjorg-sidebar.c:503
      #, fuzzy
      msgid "_Declaration"
      msgstr "相关的"
      
      #: ../geanyctags/src/geanyctags.c:632
      msgid "Find Tag Declaration (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:637
      msgid "Find Tag Definition (geanyctags)"
      msgstr ""
      
      #: ../geanyctags/src/geanyctags.c:646 ../geanyctags/src/geanyctags.c:651
      #, fuzzy
      msgid "Generate tags"
      msgstr "GeanySendMail"
      
      #: ../geanyctags/src/geanyctags.c:653
      #, fuzzy
      msgid "Find tag..."
      msgstr "添加文件"
      
      #: ../geanyctags/src/geanyctags.c:658
      #, fuzzy
      msgid "Find tag"
      msgstr "添加文件"
      
      #. All plugins must set name, description, version and author.
      #: ../geanydoc/src/geanydoc.c:50 ../geanydoc/src/geanydoc.c:347
      msgid "Doc"
      msgstr "文档"
      
      #: ../geanydoc/src/geanydoc.c:50
      msgid "Call documentation viewer on current symbol."
      msgstr "为当前标记调用文档查看器。"
      
      #: ../geanydoc/src/geanydoc.c:170 ../geanyvc/src/geanyvc.c:426
      msgid "Could not parse the output of command"
      msgstr "无法解析命令的输出"
      
      #: ../geanydoc/src/geanydoc.c:357
      msgid "Put output in buffer"
      msgstr "输出到缓冲区"
      
      #: ../geanydoc/src/geanydoc.c:369
      msgid "Command 0:"
      msgstr "命令0:"
      
      #: ../geanydoc/src/geanydoc.c:375
      msgid "Command 1:"
      msgstr "命令1:"
      
      #: ../geanydoc/src/geanydoc.c:393
      msgid "%w will be replaced with current word\n"
      msgstr "%w 将被替换为当前词\n"
      
      #: ../geanydoc/src/geanydoc.c:440
      msgid "Document current word"
      msgstr "文件当前词"
      
      #: ../geanydoc/src/geanydoc.c:441
      msgid "Document interactive"
      msgstr "文件交互"
      
      #: ../geanyextrasel/src/extrasel.c:34
      #, fuzzy
      msgid "Extra Selection"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:34
      msgid "Column mode, select to line / brace / anchor."
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:502
      msgid "E_xtra Selection"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:509
      msgid "_Column Mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:514
      msgid "Column mode"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:516
      #, fuzzy
      msgid "Select to _Line"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:520
      #, fuzzy
      msgid "Select to line"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:522
      msgid "Select to Matching _Brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:526
      msgid "Select to matching brace"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:528
      msgid "_Toggle Stream/Rectangular"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:532
      #, fuzzy
      msgid "Convert selection"
      msgstr "将选中部分左对齐"
      
      #: ../geanyextrasel/src/extrasel.c:537
      msgid "_Set Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:541
      msgid "Set anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:543
      #, fuzzy
      msgid "Select to _Anchor"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:547
      #, fuzzy
      msgid "Select to anchor"
      msgstr "选择字体"
      
      #: ../geanyextrasel/src/extrasel.c:549
      msgid "_Rectangle Select to Anchor"
      msgstr ""
      
      #: ../geanyextrasel/src/extrasel.c:554
      msgid "Rectangle select to anchor"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:117
      msgid "boolean value"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:130
      #, c-format
      msgid "invalid boolean value \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:157
      #, c-format
      msgid "invalid template: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:178
      msgid "position name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:185
      #, c-format
      msgid "invalid position \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:204
      msgid "policy name"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:211
      #, c-format
      msgid "invalid policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:230
      msgid "merge policy"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:237
      #, c-format
      msgid "invalid merge policy \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:259
      #, fuzzy
      msgid "type"
      msgstr "Type"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:266
      #, c-format
      msgid "invalid type \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:328
      #: ../geanygendoc/src/ggd-file-type-loader.c:779
      #, c-format
      msgid "invalid setting name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:349
      #: ../geanygendoc/src/ggd-file-type-loader.c:360
      #: ../geanygendoc/src/ggd-file-type-loader.c:385
      msgid "setting identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:431
      #, c-format
      msgid "Unknown type \"%s\", is it a typo?"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:446
      #: ../geanygendoc/src/ggd-file-type-loader.c:490
      #: ../geanygendoc/src/ggd-file-type-loader.c:502
      #: ../geanygendoc/src/ggd-file-type-loader.c:540
      msgid "match identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:454
      #, c-format
      msgid "match identifier is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:472
      msgid "documentation type identifier"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:576
      #: ../geanygendoc/src/ggd-file-type-loader.c:588
      #: ../geanygendoc/src/ggd-file-type-loader.c:610
      msgid "documentation type"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:645
      #, c-format
      msgid "invalid regular expression: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:702
      #, c-format
      msgid "invalid environment description: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:739
      #: ../geanygendoc/src/ggd-file-type-loader.c:750
      #: ../geanygendoc/src/ggd-file-type-loader.c:789
      #, fuzzy
      msgid "setting"
      msgstr "正在启动"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:817
      #, fuzzy
      msgid "section name"
      msgstr "函数参数"
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:828
      #, c-format
      msgid "duplicated section \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:837
      #, c-format
      msgid "invalid section name \"%s\""
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:850
      #: ../geanygendoc/src/ggd-file-type-loader.c:902
      #, c-format
      msgid "input is empty"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:864
      #, c-format
      msgid "Parser warning: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:867
      #, c-format
      msgid "Parser error: %s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-loader.c:871
      #, c-format
      msgid "%s:%u:%u: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-tag-utils.c:370
      msgid "Invalid tag"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:181
      #, c-format
      msgid "File type configuration file for language \"%s\" not found: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-file-type-manager.c:191
      #, c-format
      msgid "Failed to load file type \"%s\" from file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:57
      #, fuzzy
      msgid "Documentation Generator"
      msgstr "文件交互"
      
      #: ../geanygendoc/src/ggd-plugin.c:58
      msgid "Generates documentation basis from source code"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:224
      #, c-format
      msgid "Failed to load configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:245
      #, c-format
      msgid "Failed to save configuration: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:318
      #, c-format
      msgid "Failed to find configuration file for file type \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:330
      msgid ""
      "# Configuration for this file type doesn't exist yet.\n"
      "# To create it, just write it in this file and save it. For the description\n"
      "# of the syntax of this file, please refer to the manual.\n"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:342
      #, c-format
      msgid "Failed to load file \"%s\": %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:415 ../geanygendoc/src/ggd-plugin.c:426
      #, fuzzy
      msgid "Insert Documentation Comment"
      msgstr "插入环境"
      
      #: ../geanygendoc/src/ggd-plugin.c:480
      #, fuzzy
      msgid "_Document Current Symbol"
      msgstr "文件当前词"
      
      #: ../geanygendoc/src/ggd-plugin.c:481
      #, fuzzy
      msgid "Generate documentation for the current symbol"
      msgstr "为当前标记调用文档查看器。"
      
      #: ../geanygendoc/src/ggd-plugin.c:487
      msgid "Document _All Symbols"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:488
      msgid "Generate documentation for all symbols in the current document"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:498
      msgid "_Reload Configuration Files"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:499
      #, fuzzy
      msgid "Force reloading of the configuration files"
      msgstr "显示当前文件日志"
      
      #: ../geanygendoc/src/ggd-plugin.c:504
      msgid "_Edit Current Language Configuration"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:505
      msgid "Open the current language configuration file for editing"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:515
      #, fuzzy
      msgid "Open _Manual"
      msgstr "Manual"
      
      #: ../geanygendoc/src/ggd-plugin.c:516
      msgid "Open the manual in a browser"
      msgstr ""
      
      #. build tools menu item
      #: ../geanygendoc/src/ggd-plugin.c:520
      #, fuzzy
      msgid "_Documentation Generator"
      msgstr "文件交互"
      
      #. General
      #: ../geanygendoc/src/ggd-plugin.c:619
      #, fuzzy
      msgid "General"
      msgstr "GeanySendMail"
      
      #. auto-save
      #: ../geanygendoc/src/ggd-plugin.c:624
      msgid "_Save file before generating documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:627
      msgid ""
      "Whether the current document should be saved to disc before generating the "
      "documentation. This is a technical detail, but it is currently needed to "
      "have an up-to-date tag list. If you disable this option and ask for "
      "documentation generation on a modified document, the behavior may be "
      "surprising since the comment will be generated for the last saved state of "
      "this document and not the current one."
      msgstr ""
      
      #. indent
      #: ../geanygendoc/src/ggd-plugin.c:637
      msgid "_Indent inserted documentation"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-plugin.c:639
      msgid ""
      "Whether the inserted documentation should be indented to fit the indentation "
      "at the insertion position."
      msgstr ""
      
      #. Documentation type
      #: ../geanygendoc/src/ggd-plugin.c:646
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:144
      #, fuzzy
      msgid "Documentation type"
      msgstr "文件交互"
      
      #: ../geanygendoc/src/ggd-plugin.c:656
      msgid ""
      "Choose the documentation type to use with each file type. The special "
      "language \"All\" on top of the list is used to choose the default "
      "documentation type, used for all languages that haven't one set."
      msgstr ""
      
      #. Environ editor
      #: ../geanygendoc/src/ggd-plugin.c:662
      #, fuzzy
      msgid "Global environment"
      msgstr "环境"
      
      #: ../geanygendoc/src/ggd-plugin.c:664
      msgid ""
      "Global environment overrides and additions. This environment will be merged "
      "with the file-type-specific ones."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:184 ../geanygendoc/src/ggd-utils.c:195
      #, c-format
      msgid "File \"%s\" exists but is not a regular file"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-utils.c:204
      #, c-format
      msgid "%s: no such file or directory"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:85
      #, c-format
      msgid "Failed to resize memory output stream"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:114
      #, c-format
      msgid ""
      "Argument parsing regular expression did not match (argument list was: \"%s\")"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:248
      #, c-format
      msgid "Failed to add global environment, skipping: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:254
      #, c-format
      msgid "Failed to build comment: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:432
      #, c-format
      msgid "Documentation type \"%s\" does not exist for language \"%s\"."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:487
      #, c-format
      msgid "No setting applies to symbol \"%s\" of type \"%s\" at line %lu."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:533
      #, c-format
      msgid "No valid tag at line %d."
      msgstr ""
      
      #: ../geanygendoc/src/ggd.c:582
      #, fuzzy
      msgid "No tags in the document"
      msgstr "关闭其他文件(_H)"
      
      #: ../geanygendoc/src/ggd-options.c:326
      #, fuzzy
      msgid "Unknown option"
      msgstr "未知信号"
      
      #: ../geanygendoc/src/ggd-options.c:335
      msgid ""
      "Invalid option or proxy: either the proxy's property or the option type is "
      "incompatible."
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:512
      #, c-format
      msgid "Unknown value type for keyfile entry %s::%s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-options.c:516
      #, c-format
      msgid "Error retrieving keyfile entry %s::%s: %s"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:135
      msgid "Language"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:155
      #, fuzzy
      msgid "_Change associated documentation type"
      msgstr "文件交互"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:163
      #, fuzzy
      msgid "_Disassociate documentation type"
      msgstr "文件交互"
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:194
      msgid "All"
      msgstr ""
      
      #: ../geanygendoc/src/ggd-widget-doctype-selector.c:195
      msgid "Default documentation type for languages that does not have one set"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:44 ../geanyinsertnum/src/insertnum.c:335
      #: ../geanyinsertnum/src/insertnum.c:485
      #, fuzzy
      msgid "Insert Numbers"
      msgstr "插入标签"
      
      #: ../geanyinsertnum/src/insertnum.c:44
      msgid "Insert/Fill columns with numbers."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:144
      #, fuzzy
      msgid "Counting..."
      msgstr "继续(_C)"
      
      #: ../geanyinsertnum/src/insertnum.c:192
      msgid "Preparing..."
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:198
      #, fuzzy
      msgid "Inserting..."
      msgstr "正在启动"
      
      #: ../geanyinsertnum/src/insertnum.c:331
      msgid "For base 11 and above"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:351
      #, fuzzy
      msgid "_Start:"
      msgstr "状态(_S)"
      
      #: ../geanyinsertnum/src/insertnum.c:356
      #, fuzzy
      msgid "S_tep:"
      msgstr "单步(_S)"
      
      #: ../geanyinsertnum/src/insertnum.c:362
      #, fuzzy
      msgid "_Base:"
      msgstr "暂停(_P)"
      
      #: ../geanyinsertnum/src/insertnum.c:378
      #, fuzzy
      msgid "Letters:"
      msgstr "书信"
      
      #: ../geanyinsertnum/src/insertnum.c:381
      #, fuzzy
      msgid "_Upper"
      msgstr "更新(_U)"
      
      #: ../geanyinsertnum/src/insertnum.c:386
      msgid "_Lower"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:391
      msgid "Base _prefix"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:393
      msgid "0 for octal, 0x for hex, + for positive decimal"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:395
      msgid "Padding:"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:397
      msgid "Sp_ace"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:400
      msgid "_Zero"
      msgstr ""
      
      #: ../geanyinsertnum/src/insertnum.c:478
      #, fuzzy
      msgid "Insert _Numbers"
      msgstr "插入标签(_L)"
      
      #: ../geanylatex/src/latexenvironments.c:25
      msgid "Environments"
      msgstr "环境"
      
      #: ../geanylatex/src/latexenvironments.c:26
      msgid "Formatting"
      msgstr "格式"
      
      #: ../geanylatex/src/latexenvironments.c:27
      msgid "Document Structure"
      msgstr "文档结构"
      
      #: ../geanylatex/src/latexenvironments.c:28
      msgid "Lists"
      msgstr "列表"
      
      #: ../geanylatex/src/latexenvironments.c:29
      msgid "Math"
      msgstr "数学"
      
      #: ../geanylatex/src/latexenvironments.c:194
      msgid "Insert Environment"
      msgstr "插入环境"
      
      #: ../geanylatex/src/latexenvironments.c:208
      msgid "Environment:"
      msgstr "环境:"
      
      #: ../geanylatex/src/latexutils.c:87
      #, c-format
      msgid ""
      "Could not determine where to insert package: %s\n"
      "Please try insert package manually"
      msgstr ""
      
      #: ../geanylatex/src/latexutils.c:89
      #, c-format
      msgid "Could not determine where to insert package: %s"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:27
      msgid "Article (@Article)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:28
      msgid "Book (@Book)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:29
      msgid "Booklet (@Booklet)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:30
      msgid "Conference (@Conference)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:31
      msgid "Inbook (@Inbook)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:32
      #, fuzzy
      msgid "Incollection (@Incollection)"
      msgstr "Incollection"
      
      #: ../geanylatex/src/bibtexlabels.c:33
      #, fuzzy
      msgid "Inproceedings (@Inproceedings)"
      msgstr "Inproceedings"
      
      #: ../geanylatex/src/bibtexlabels.c:34
      msgid "Manual (@Manual)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:35
      #, fuzzy
      msgid "Mastersthesis (@Mastersthesis)"
      msgstr "Mastersthesis"
      
      #: ../geanylatex/src/bibtexlabels.c:36
      msgid "Misc (@Misc)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:37
      msgid "PhdThesis (@PhdThesis)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:38
      msgid "Proceedings (@Proceedings)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:39
      msgid "Techreport (@Techreport)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:40
      msgid "Unpublished (@Unpublished)"
      msgstr ""
      
      #: ../geanylatex/src/bibtexlabels.c:47
      msgid "Annote"
      msgstr "Annote"
      
      #: ../geanylatex/src/bibtexlabels.c:48
      msgid "Author"
      msgstr "Author"
      
      #: ../geanylatex/src/bibtexlabels.c:49
      msgid "Booktitle"
      msgstr "Booktitle"
      
      #: ../geanylatex/src/bibtexlabels.c:50
      msgid "Chapter"
      msgstr "Chapter"
      
      #: ../geanylatex/src/bibtexlabels.c:51
      msgid "Crossref"
      msgstr "Crossref"
      
      #: ../geanylatex/src/bibtexlabels.c:52
      msgid "Edition"
      msgstr "Edition"
      
      #: ../geanylatex/src/bibtexlabels.c:53
      msgid "Editor"
      msgstr "Editor"
      
      #: ../geanylatex/src/bibtexlabels.c:54
      msgid "E-print"
      msgstr "E-print"
      
      #: ../geanylatex/src/bibtexlabels.c:55
      msgid "HowPublished"
      msgstr "HowPublished"
      
      #: ../geanylatex/src/bibtexlabels.c:56
      msgid "Institution"
      msgstr "Institution"
      
      #: ../geanylatex/src/bibtexlabels.c:57
      msgid "Journal"
      msgstr "Journal"
      
      #: ../geanylatex/src/bibtexlabels.c:58
      msgid "Key"
      msgstr "Key"
      
      #: ../geanylatex/src/bibtexlabels.c:59
      msgid "Month"
      msgstr "Month"
      
      #: ../geanylatex/src/bibtexlabels.c:60
      msgid "Note"
      msgstr "Note"
      
      #: ../geanylatex/src/bibtexlabels.c:61
      msgid "Number"
      msgstr "Number"
      
      #: ../geanylatex/src/bibtexlabels.c:62
      msgid "Organization"
      msgstr "Organization"
      
      #: ../geanylatex/src/bibtexlabels.c:63
      msgid "Pages"
      msgstr "Pages"
      
      #: ../geanylatex/src/bibtexlabels.c:64
      msgid "Publisher"
      msgstr "Publisher"
      
      #: ../geanylatex/src/bibtexlabels.c:65
      msgid "School"
      msgstr "School"
      
      #: ../geanylatex/src/bibtexlabels.c:66
      msgid "Series"
      msgstr "Series"
      
      #: ../geanylatex/src/bibtexlabels.c:67
      msgid "Title"
      msgstr "Title"
      
      #: ../geanylatex/src/bibtexlabels.c:69
      msgid "URL"
      msgstr "URL"
      
      #: ../geanylatex/src/bibtexlabels.c:70
      msgid "Volume"
      msgstr "Volume"
      
      #: ../geanylatex/src/bibtexlabels.c:71
      msgid "Year"
      msgstr "Year"
      
      #: ../geanylatex/src/bibtexlabels.c:103
      msgid "Address of publisher"
      msgstr "发布者的地址"
      
      #: ../geanylatex/src/bibtexlabels.c:104
      msgid "Annotation for annotated bibliography styles"
      msgstr "注释风格书目的注释"
      
      #: ../geanylatex/src/bibtexlabels.c:105
      msgid "Name(s) of the author(s), separated by 'and' if more than one"
      msgstr "作者的姓名,如果有多个作者,用“and”分开。"
      
      #: ../geanylatex/src/bibtexlabels.c:106
      msgid "Title of the book, if only part of it is being cited"
      msgstr "书名,如果只是部分被引用"
      
      #: ../geanylatex/src/bibtexlabels.c:107
      msgid "Chapter number"
      msgstr "章号"
      
      #: ../geanylatex/src/bibtexlabels.c:108
      msgid "Citation key of the cross-referenced entry"
      msgstr "交叉引用条目中的引用键"
      
      #: ../geanylatex/src/bibtexlabels.c:109
      msgid "Edition of the book (such as \"first\" or \"second\")"
      msgstr "书籍的版本(比如“第一版”或“第二版”)"
      
      #: ../geanylatex/src/bibtexlabels.c:110
      msgid "Name(s) of the editor(s), separated by 'and' if more than one"
      msgstr "编辑者的姓名,如果有多个作者,用“and”分开。"
      
      #: ../geanylatex/src/bibtexlabels.c:111
      msgid "Specification of electronic publication"
      msgstr "电子出版物规范"
      
      #: ../geanylatex/src/bibtexlabels.c:112
      msgid "Publishing method if the method is nonstandard"
      msgstr "出版方法,如果方法非标准"
      
      #: ../geanylatex/src/bibtexlabels.c:113
      msgid "Institution that was involved in the publishing"
      msgstr "参与出版的机构"
      
      #: ../geanylatex/src/bibtexlabels.c:114
      msgid "Journal or magazine in which the work was published"
      msgstr "发表在哪个杂志或报刊"
      
      #: ../geanylatex/src/bibtexlabels.c:115
      msgid ""
      "Hidden field used for specifying or overriding the alphabetical order of "
      "entries"
      msgstr "隐藏用于指定或重写条目的字母顺序排列的字段"
      
      #: ../geanylatex/src/bibtexlabels.c:116
      msgid "Month of publication or creation if unpublished"
      msgstr "如果没有出版,出版或创作的月份"
      
      #: ../geanylatex/src/bibtexlabels.c:117
      msgid "Miscellaneous extra information"
      msgstr "其他附加信息"
      
      #: ../geanylatex/src/bibtexlabels.c:118
      msgid "Number of journal, magazine, or tech-report"
      msgstr "报刊、杂志或科技报告编号"
      
      #: ../geanylatex/src/bibtexlabels.c:119
      msgid "Sponsor of the conference"
      msgstr "会议赞助商"
      
      #: ../geanylatex/src/bibtexlabels.c:120
      msgid "Page numbers separated by commas or double-hyphens"
      msgstr "用逗号或双连字符分隔的页码"
      
      #: ../geanylatex/src/bibtexlabels.c:121
      msgid "Name of publisher"
      msgstr "发布者姓名"
      
      #: ../geanylatex/src/bibtexlabels.c:122
      msgid "School where thesis was written"
      msgstr "论文所属的学校"
      
      #: ../geanylatex/src/bibtexlabels.c:123
      msgid "Series of books in which the book was published"
      msgstr "书籍发布于哪个系列"
      
      #: ../geanylatex/src/bibtexlabels.c:124
      msgid "Title of the work"
      msgstr "作品的标题"
      
      #: ../geanylatex/src/bibtexlabels.c:125
      msgid "Type of technical report"
      msgstr "科技报告类型"
      
      #: ../geanylatex/src/bibtexlabels.c:126
      msgid "Internet address"
      msgstr "网址"
      
      #: ../geanylatex/src/bibtexlabels.c:127
      msgid "Number of the volume"
      msgstr "卷号"
      
      #: ../geanylatex/src/bibtexlabels.c:128
      msgid "Year of publication or creation if unpublished"
      msgstr "如果没有出版,出版或创作的年份"
      
      #: ../geanylatex/src/geanylatex.c:41
      #, fuzzy
      msgid "GeanyLaTeX"
      msgstr "LaTeX"
      
      #: ../geanylatex/src/geanylatex.c:42
      msgid "Extends LaTeX support"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:116
      #, fuzzy
      msgid "Runs LaTeX wizard"
      msgstr "运行 LaTeX 向导"
      
      #: ../geanylatex/src/geanylatex.c:117
      msgid "Marks selected text as italic"
      msgstr "标记选中的文字为斜体"
      
      #: ../geanylatex/src/geanylatex.c:118
      msgid "Marks selected text as bold"
      msgstr "标记选中的文字为粗体"
      
      #: ../geanylatex/src/geanylatex.c:119
      msgid "Underlines selected text"
      msgstr "为选中的文字添加下划线"
      
      #: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:45
      msgid "Centered"
      msgstr "居中"
      
      #: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:46
      msgid "Left side oriented"
      msgstr "左侧导向"
      
      #: ../geanylatex/src/geanylatex.c:122 ../geanylatex/src/formatpatterns.c:47
      msgid "Right side oriented"
      msgstr "右侧导向"
      
      #: ../geanylatex/src/geanylatex.c:298
      msgid "Use KOMA script by default"
      msgstr "默认使用 KOMA 脚本"
      
      #: ../geanylatex/src/geanylatex.c:300
      msgid "Show extra plugin toolbar"
      msgstr "显示额外的插件工具栏"
      
      #: ../geanylatex/src/geanylatex.c:302
      msgid "Capitalize sentence on typing"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:304
      msgid "Add a wizard icon to Geany's main toolbar"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:306
      msgid "Lower selection when formatting smallcaps (\\textsc{})"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:310
      msgid "Don't care about this inside plugin"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:312
      msgid "Always perform autocompletion on LaTeX"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:325
      msgid "Modus of autocompletion"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:833
      msgid "Insert Label"
      msgstr "插入标签"
      
      #: ../geanylatex/src/geanylatex.c:835
      msgid "Label name:"
      msgstr "标签名称:"
      
      #: ../geanylatex/src/geanylatex.c:857
      #, fuzzy
      msgid "Insert Command"
      msgstr "插入环境"
      
      #: ../geanylatex/src/geanylatex.c:859
      #, fuzzy
      msgid "Command name:"
      msgstr "命令0:"
      
      #: ../geanylatex/src/geanylatex.c:902
      msgid "Insert Reference"
      msgstr "插入引用"
      
      #: ../geanylatex/src/geanylatex.c:915
      msgid "Reference name:"
      msgstr "引用名称"
      
      #: ../geanylatex/src/geanylatex.c:940
      msgid "_Standard Reference"
      msgstr "标准引用(_S)"
      
      #: ../geanylatex/src/geanylatex.c:945
      msgid "_Page Reference"
      msgstr "页引用(_P)"
      
      #: ../geanylatex/src/geanylatex.c:950
      #, fuzzy
      msgid "_Add both"
      msgstr "增加断点"
      
      #: ../geanylatex/src/geanylatex.c:1147
      msgid "More"
      msgstr "更多"
      
      #: ../geanylatex/src/geanylatex.c:1203
      msgid "Add additional package"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1216
      #, fuzzy
      msgid "Package name:"
      msgstr "标签名称:"
      
      #: ../geanylatex/src/geanylatex.c:1219
      msgid "Package options:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1267
      #, fuzzy
      msgid "Insert BibTeX Reference"
      msgstr "插入引用"
      
      #: ../geanylatex/src/geanylatex.c:1280
      #, fuzzy
      msgid "BibTeX reference name:"
      msgstr "引用名称"
      
      #: ../geanylatex/src/geanylatex.c:1704
      msgid "Dear Sir or Madame"
      msgstr "亲爱的先生或女士"
      
      #: ../geanylatex/src/geanylatex.c:1705
      msgid "With kind regards"
      msgstr "亲切的问候"
      
      #: ../geanylatex/src/geanylatex.c:1713
      msgid "No template assigned. Aborting"
      msgstr ""
      
      #. Building the wizard-dialog and showing it
      #: ../geanylatex/src/geanylatex.c:1740
      msgid "LaTeX-Wizard"
      msgstr "LaTeX 向导"
      
      #. Templates
      #. *  Adds custom templates if there are any. If there are none just
      #. *  adds default one
      #. TEMPLATE FILE
      #: ../geanylatex/src/geanylatex.c:1755 ../markdown/src/conf.c:659
      msgid "Template:"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1759
      msgid "Set the template which should be used for creating the new document"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1768
      #, fuzzy
      msgid "Default"
      msgstr "默认(%s)"
      
      #. Documentclass
      #: ../geanylatex/src/geanylatex.c:1779
      msgid "Documentclass:"
      msgstr "文档类型:"
      
      #: ../geanylatex/src/geanylatex.c:1782
      msgid "Choose the kind of document you want to write"
      msgstr "选择您想要写哪种文档"
      
      #: ../geanylatex/src/geanylatex.c:1786
      msgid "Article"
      msgstr "文章"
      
      #: ../geanylatex/src/geanylatex.c:1788
      msgid "Report"
      msgstr "报告"
      
      #: ../geanylatex/src/geanylatex.c:1790
      msgid "Letter"
      msgstr "书信"
      
      #: ../geanylatex/src/geanylatex.c:1792
      msgid "Presentation"
      msgstr "简报"
      
      #. Encoding
      #: ../geanylatex/src/geanylatex.c:1802
      msgid "Encoding:"
      msgstr "编码:"
      
      #: ../geanylatex/src/geanylatex.c:1806
      msgid "Set the encoding for your new document"
      msgstr "为您的新文档设置编码"
      
      #. fontsize
      #: ../geanylatex/src/geanylatex.c:1822
      #, fuzzy
      msgid "Font size"
      msgstr "文字大小:"
      
      #: ../geanylatex/src/geanylatex.c:1828
      msgid "Set the default font size of your new document"
      msgstr "为您的新文档设置默认的文字大小"
      
      #. Author
      #: ../geanylatex/src/geanylatex.c:1840
      msgid "Author:"
      msgstr "作者:"
      
      #: ../geanylatex/src/geanylatex.c:1843
      msgid ""
      "Sets the value of the \\author command. In most cases this should be your "
      "name"
      msgstr "设置 \\author 命令的值。大多数情况下这应该是您的姓名。"
      
      #. Date
      #: ../geanylatex/src/geanylatex.c:1857
      msgid "Date:"
      msgstr "日期:"
      
      #: ../geanylatex/src/geanylatex.c:1860
      #, fuzzy
      msgid ""
      "Sets the value of the \\date command inside header of your new created LaTeX-"
      "document. Keeping it at \\today is a good decision if you don't need any "
      "fixed date."
      msgstr ""
      "为您新建的 LaTeX 文档设置文件头中 \\date 命令的值。大多数情况下这应该是您的姓"
      "名。如果您不需要固定的日期,设置为 \\today 是一个很好的决定。"
      
      #. Title of the new document
      #: ../geanylatex/src/geanylatex.c:1872
      msgid "Title:"
      msgstr "标题:"
      
      #: ../geanylatex/src/geanylatex.c:1875
      msgid "Sets the title of your new document."
      msgstr "设置您的新文档的标题。"
      
      #. Papersize
      #: ../geanylatex/src/geanylatex.c:1884
      msgid "Paper size:"
      msgstr "纸张尺寸:"
      
      #: ../geanylatex/src/geanylatex.c:1887
      msgid "Choose the paper format for the newly created document"
      msgstr "为新建文档选择纸张格式"
      
      #. Paper direction
      #: ../geanylatex/src/geanylatex.c:1900
      #, fuzzy
      msgid "Paper Orientation:"
      msgstr "简报"
      
      #: ../geanylatex/src/geanylatex.c:1903
      #, fuzzy
      msgid "Choose the paper orientation for the newly created document"
      msgstr "为新建文档选择纸张格式"
      
      #: ../geanylatex/src/geanylatex.c:1924
      msgid "Use KOMA-script classes if possible"
      msgstr "如果可能,使用 KOMA 脚本类"
      
      #: ../geanylatex/src/geanylatex.c:1926
      #, fuzzy
      msgid ""
      "Uses the KOMA-script classes by Markus Kohm.\n"
      "Keep in mind: To compile your document these classes have to be installed "
      "before."
      msgstr ""
      "使用 Markus Kohm 的 KOMA 脚本类。\n"
      "注意:编译您的文档前需要安装这些类。"
      
      #: ../geanylatex/src/geanylatex.c:1933
      msgid "Use draft mode"
      msgstr "使用草稿模式"
      
      #: ../geanylatex/src/geanylatex.c:1935
      msgid ""
      "Set the draft flag inside new created documents to get documents with a "
      "number of debugging helpers"
      msgstr "在新建的文档中设置草稿标志使他人可以帮助调试。"
      
      #: ../geanylatex/src/geanylatex.c:1952
      msgid "Run LaTeX-Wizard"
      msgstr "运行 LaTeX 向导"
      
      #: ../geanylatex/src/geanylatex.c:1954
      msgid "Insert \\label"
      msgstr "插入 \\label"
      
      #: ../geanylatex/src/geanylatex.c:1956
      msgid "Insert \\ref"
      msgstr "插入 \\ref"
      
      #: ../geanylatex/src/geanylatex.c:1958
      msgid "Insert linebreak \\\\ "
      msgstr "插入断行 \\\\ "
      
      #: ../geanylatex/src/geanylatex.c:1961
      #, fuzzy
      msgid "Insert command"
      msgstr "插入环境"
      
      #: ../geanylatex/src/geanylatex.c:1963
      msgid "Turn input replacement on/off"
      msgstr "开/关输入替换"
      
      #: ../geanylatex/src/geanylatex.c:1967
      msgid "Replace special characters"
      msgstr "替换特殊字符"
      
      #: ../geanylatex/src/geanylatex.c:1970
      msgid "Run insert environment dialog"
      msgstr "运行插入环境对话框"
      
      #: ../geanylatex/src/geanylatex.c:1972
      msgid "Insert \\item"
      msgstr "插入 \\item"
      
      #: ../geanylatex/src/geanylatex.c:1974
      msgid "Format selection in bold font face"
      msgstr "将选中部分变为粗体"
      
      #: ../geanylatex/src/geanylatex.c:1976
      msgid "Format selection in italic font face"
      msgstr "将选中部分变为斜体"
      
      #: ../geanylatex/src/geanylatex.c:1978
      msgid "Format selection in typewriter font face"
      msgstr "将选中部分变为打字机字体"
      
      #: ../geanylatex/src/geanylatex.c:1980
      msgid "Format selection centered"
      msgstr "将选中部分居中"
      
      #: ../geanylatex/src/geanylatex.c:1982
      msgid "Format selection left-aligned"
      msgstr "将选中部分左对齐"
      
      #: ../geanylatex/src/geanylatex.c:1984
      #, fuzzy
      msgid "Format selection right-aligned"
      msgstr "将选中部分右对齐"
      
      #: ../geanylatex/src/geanylatex.c:1987
      msgid "Insert description list"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1990
      #, fuzzy
      msgid "Insert itemize list"
      msgstr "插入 \\item"
      
      #: ../geanylatex/src/geanylatex.c:1993
      #, fuzzy
      msgid "Insert enumerate list"
      msgstr "插入 Lipsum 文本"
      
      #: ../geanylatex/src/geanylatex.c:1996
      msgid "Set selection one level up"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:1999
      #, fuzzy
      msgid "Set selection one level down"
      msgstr "将选中部分居中"
      
      #: ../geanylatex/src/geanylatex.c:2002
      #, fuzzy
      msgid "Insert \\usepackage{}"
      msgstr "插入 \\label"
      
      #: ../geanylatex/src/geanylatex.c:2005
      #, fuzzy
      msgid "Insert BibTeX reference dialog"
      msgstr "插入引用"
      
      #: ../geanylatex/src/geanylatex.c:2012
      msgid ""
      "GeanyLaTeX is a plugin to improve support for LaTeX in Geany.\n"
      "\n"
      "Please report all bugs or feature requests to one of the authors."
      msgstr ""
      "GeanyLaTeX 是一个增强 Geany 的 LaTeX 支持的插件。\n"
      "\n"
      "请将所有 bug 或 功能请求 报告给作者。"
      
      #: ../geanylatex/src/geanylatex.c:2050
      msgid ""
      "glatex_set_autocompletion_contextsize has been initialized with an invalid "
      "value. Default value taken. Please check your configuration file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2072 ../geanylatex/src/geanylatex.c:2079
      msgid "page \\pageref{{{reference}}}"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2076 ../geanylatex/src/geanylatex.c:2083
      msgid "\\ref{{{reference}}}, page \\pageref{{{reference}}}"
      msgstr ""
      
      #. Build up menu for menubar
      #: ../geanylatex/src/geanylatex.c:2131
      msgid "_LaTeX"
      msgstr "_LaTeX"
      
      #. Filling up menubar menus
      #. LaTeX menu
      #: ../geanylatex/src/geanylatex.c:2140 ../geanylatex/src/geanylatex.c:2352
      msgid "LaTeX-_Wizard"
      msgstr "LaTeX 向导(_W)"
      
      #: ../geanylatex/src/geanylatex.c:2143 ../geanylatex/src/geanylatex.c:2355
      msgid "Starts a Wizard to easily create LaTeX-documents"
      msgstr "启动一个向导轻松创建 LaTeX 文档"
      
      #: ../geanylatex/src/geanylatex.c:2148
      #, fuzzy
      msgid "I_nsert Special Character"
      msgstr "插入特殊字符(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2150
      msgid "Helps to use some not very common letters and signs"
      msgstr "帮助您使用一些不常用的字符"
      
      #: ../geanylatex/src/geanylatex.c:2160
      msgid "Insert _Reference"
      msgstr "插入引用(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2162
      msgid "Inserting references to the document"
      msgstr "向文档中插入引用"
      
      #: ../geanylatex/src/geanylatex.c:2167
      msgid "Insert _Label"
      msgstr "插入标签(_L)"
      
      #: ../geanylatex/src/geanylatex.c:2169
      msgid "Helps at inserting labels to a document"
      msgstr "帮助您向文档中插入标签"
      
      #: ../geanylatex/src/geanylatex.c:2175
      msgid "Insert _Environment"
      msgstr "插入环境(_E)"
      
      #: ../geanylatex/src/geanylatex.c:2177
      msgid "Helps at inserting an environment a document"
      msgstr "帮助您向文档中插入环境"
      
      #: ../geanylatex/src/geanylatex.c:2183
      #, fuzzy
      msgid "Insert P_ackage"
      msgstr "插入标签(_L)"
      
      #: ../geanylatex/src/geanylatex.c:2185
      msgid "A small dialog to insert \\usepackage{} into header of current file"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2190 ../scope/data/scope.glade.h:58
      msgid "_Format"
      msgstr "格式(_F)"
      
      #. Add font size menu
      #: ../geanylatex/src/geanylatex.c:2207
      #, fuzzy
      msgid "F_ont size"
      msgstr "文字大小:"
      
      #: ../geanylatex/src/geanylatex.c:2225
      msgid "_Special Character Replacement"
      msgstr "特殊字符替换(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2233
      msgid "Bulk _Replace Special Characters"
      msgstr "批量替换特殊字符(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2235
      #, fuzzy
      msgid "_Replace selected special characters with TeX substitutes"
      msgstr "用 TeX 格式替换选中的特殊字符(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2243
      msgid "Toggle _Special Character Replacement"
      msgstr "开关特殊字符替换(_S)"
      
      #: ../geanylatex/src/geanylatex.c:2254
      #, fuzzy
      msgid "Insert _Command"
      msgstr "插入环境(_E)"
      
      #: ../geanylatex/src/geanylatex.c:2256
      #, fuzzy
      msgid "Inserting customized command to document"
      msgstr "向文档中插入引用"
      
      #: ../geanylatex/src/geanylatex.c:2281
      #, fuzzy
      msgid "_BibTeX"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/geanylatex.c:2289
      #, fuzzy
      msgid "Insert B_ibTeX reference"
      msgstr "插入引用(_R)"
      
      #: ../geanylatex/src/geanylatex.c:2291
      msgid "Helps to insert a reference out of BibTeX files"
      msgstr ""
      
      #: ../geanylatex/src/geanylatex.c:2296
      #, fuzzy
      msgid "_BibTeX entries"
      msgstr "_BibTeX"
      
      #: ../geanylatex/src/letters.c:40
      #, fuzzy
      msgid "LaTeX letters"
      msgstr "希腊字母"
      
      #: ../geanylatex/src/letters.c:41
      msgid "Greek letters"
      msgstr "希腊字母"
      
      #: ../geanylatex/src/letters.c:42
      msgid "German umlauts"
      msgstr "德文元音变音"
      
      #: ../geanylatex/src/letters.c:43
      msgid "Misc"
      msgstr "其他"
      
      #: ../geanylatex/src/letters.c:44
      msgid "Arrow characters"
      msgstr "箭头字符"
      
      #: ../geanylatex/src/letters.c:45
      msgid "Relational"
      msgstr "相关的"
      
      #: ../geanylatex/src/letters.c:46
      msgid "Binary operation"
      msgstr "二元运算"
      
      #: ../geanylatex/src/formatpatterns.c:38
      msgid "Italic"
      msgstr "斜体"
      
      #: ../geanylatex/src/formatpatterns.c:39
      #, fuzzy
      msgid "Bold"
      msgstr "粗体"
      
      #: ../geanylatex/src/formatpatterns.c:40
      msgid "Underline"
      msgstr "下划线"
      
      #: ../geanylatex/src/formatpatterns.c:41
      msgid "Typewriter"
      msgstr "打字机"
      
      #: ../geanylatex/src/formatpatterns.c:42
      msgid "Small Caps"
      msgstr "小型大写字母"
      
      #: ../geanylatex/src/formatpatterns.c:43
      msgid "Slanted"
      msgstr "直斜体"
      
      #: ../geanylatex/src/formatpatterns.c:44
      msgid "Emphasis"
      msgstr "强调"
      
      #: ../geanylatex/src/formatpatterns.c:64
      msgid "tiny"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:65
      msgid "scriptsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:66
      #, fuzzy
      msgid "footnotesize"
      msgstr "文字大小:"
      
      #: ../geanylatex/src/formatpatterns.c:67
      msgid "small"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:68
      msgid "normalsize"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:69
      #, fuzzy
      msgid "large"
      msgstr "Pages"
      
      #: ../geanylatex/src/formatpatterns.c:70
      #, fuzzy
      msgid "Large"
      msgstr "LaTeX"
      
      #: ../geanylatex/src/formatpatterns.c:71
      msgid "LARGE"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:72
      msgid "huge"
      msgstr ""
      
      #: ../geanylatex/src/formatpatterns.c:73
      msgid "Huge"
      msgstr ""
      
      #: ../geanylatex/src/latexencodings.c:37
      msgid "UTF-8"
      msgstr "UTF-8"
      
      #: ../geanylatex/src/latexencodings.c:38
      msgid "US-ASCII"
      msgstr "US-ASCII"
      
      #: ../geanylatex/src/latexencodings.c:39
      msgid "ISO-8859-1 (Latin-1)"
      msgstr "ISO-8859-1 (Latin-1)"
      
      #: ../geanylatex/src/latexencodings.c:41
      msgid "ISO-8859-2 (Latin-2)"
      msgstr "ISO-8859-2 (Latin-2)"
      
      #: ../geanylatex/src/latexencodings.c:43
      msgid "ISO-8859-3 (Latin-3)"
      msgstr "ISO-8859-3 (Latin-3)"
      
      #: ../geanylatex/src/latexencodings.c:45
      msgid "ISO-8859-4 (Latin-4)"
      msgstr "ISO-8859-4 (Latin-4)"
      
      #: ../geanylatex/src/latexencodings.c:47
      msgid "ISO-8859-5 (Latin-5)"
      msgstr "ISO-8859-5 (Latin-5)"
      
      #: ../geanylatex/src/latexencodings.c:49
      msgid "ISO-8859-9 (Latin-9)"
      msgstr "ISO-8859-9 (Latin-9)"
      
      #: ../geanylatex/src/latexencodings.c:51
      msgid "ISO-8859-10 (Latin-10)"
      msgstr "ISO-8859-10 (Latin-10)"
      
      #: ../geanylatex/src/latexencodings.c:53
      msgid "IBM 850 code page"
      msgstr "IBM 850 code page"
      
      #: ../geanylatex/src/latexencodings.c:55
      msgid "IBM 852 code page"
      msgstr "IBM 852 code page"
      
      #: ../geanylatex/src/latexencodings.c:57
      msgid "Don't set any encoding"
      msgstr ""
      
      #: ../geanylipsum/src/geanylipsum.c:40
      #, fuzzy
      msgid "GeanyLipsum"
      msgstr "Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:41
      #, fuzzy
      msgid "Creating dummy text with Geany"
      msgstr "用 Geany 创建空虚的文字"
      
      #: ../geanylipsum/src/geanylipsum.c:89
      msgid "Lipsum-Generator"
      msgstr "Lipsum 生成器"
      
      #: ../geanylipsum/src/geanylipsum.c:90
      msgid "Enter the length of Lipsum text here"
      msgstr "输入 Lipsum 文本的长度"
      
      #. Building menu entry
      #: ../geanylipsum/src/geanylipsum.c:164
      msgid "_Lipsum"
      msgstr "_Lipsum"
      
      #: ../geanylipsum/src/geanylipsum.c:165
      msgid "Include Pseudotext to your code"
      msgstr "包含 Pseudotext 到您的代码"
      
      #: ../geanylipsum/src/geanylipsum.c:179
      msgid "Insert Lipsum text"
      msgstr "插入 Lipsum 文本"
      
      #: ../geanylua/glspi.h:87 ../geanylua/gsdlg_lua.c:95
      #: ../geanylua/glspi_kfile.c:54
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" for argument #%d\n"
      msgstr ""
      "在模块“%1$s”的函数 %2$s() 中出现错误:\n"
      " 参数 #%4$d 期望类型“%3$s”\n"
      
      #: ../geanylua/glspi.h:101
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " expected type \"%s\" or \"%s\" for argument #%d\n"
      msgstr ""
      "在模块“%1$s”的函数 %2$s() 中出现错误:\n"
      " 参数 #%5$d 需要类型“%3$s”或“%4$s”\n"
      
      #: ../geanylua/glspi.h:115 ../geanylua/gsdlg_lua.c:108
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " expected type \"%s\" for element #%d\n"
      msgstr ""
      "在模块“%1$s”的函数 %2$s() 中出现错误:\n"
      " 参数 #%3$d 中表不合法:\n"
      " 参数 #%5$d 需要类型“%4$s”\n"
      
      #.
      #. * glspi_ver.c - This file is part of the Lua scripting plugin for the Geany IDE
      #. * See the file "geanylua.c" for copyright information.
      #.
      #: ../geanylua/glspi_ver.h:7
      msgid "Lua Script"
      msgstr "Lua 脚本"
      
      #: ../geanylua/glspi_ver.h:9
      msgid "Write and run Lua scripts for custom commands."
      msgstr "为自定义命令编写、运行 Lua 脚本"
      
      #: ../geanylua/glspi_ver.h:19
      msgid "Lua Script Plugin"
      msgstr "Lua 脚本插件"
      
      #: ../geanylua/glspi_run.c:90 ../geanylua/glspi_run.c:97
      msgid "Lua script error:"
      msgstr "Lua 脚本错误:"
      
      #: ../geanylua/glspi_run.c:197
      msgid "Script timeout"
      msgstr "脚本超时"
      
      #: ../geanylua/glspi_run.c:198
      msgid ""
      "A Lua script seems to be taking excessive time to complete.\n"
      "Do you want to continue waiting?"
      msgstr ""
      "Lua 脚本似乎还要用很长时间完成。\n"
      "您还要继续等待吗?"
      
      #: ../geanylua/glspi_run.c:206
      msgid "Script timeout exceeded."
      msgstr "脚本超越了时间限制。"
      
      #: ../geanylua/glspi_run.c:382
      msgid "(error object is not a string)"
      msgstr "(错误的对象不是一个字符串)"
      
      #: ../geanylua/glspi_run.c:387
      msgid "Unknown Error inside script."
      msgstr "脚本中有未知错误。"
      
      #: ../geanylua/glspi_run.c:459
      msgid "Out of memory."
      msgstr "超出内存限制。"
      
      #: ../geanylua/glspi_run.c:462
      msgid "Failed to open script file."
      msgstr "打开脚本文件失败。"
      
      #: ../geanylua/glspi_run.c:465
      msgid "Unknown error while loading script file."
      msgstr "加载脚本文件时遇到未知错误。"
      
      #: ../geanylua/glspi_init.c:382
      msgid "_Lua Scripts"
      msgstr "_Lua 脚本"
      
      #: ../geanylua/glspi_init.c:427
      #, c-format
      msgid "     ==>> %s: Building menu from '%s'\n"
      msgstr "     ==>> %s:从“%s”生成菜单\n"
      
      #: ../geanylua/glspi_init.c:526
      msgid "Nothing to configure!"
      msgstr "没有可以设置的!"
      
      #: ../geanylua/glspi_init.c:528
      #, c-format
      msgid ""
      "You can create the script:\n"
      "\n"
      "\"%s\"\n"
      "\n"
      "to add your own custom configuration dialog."
      msgstr ""
      "您可以创建脚本:\n"
      "\n"
      "“%s”\n"
      "\n"
      "来添加您自己的设置对话框。"
      
      #: ../geanylua/gsdlg.c:103 ../geanylua/glspi_dlg.c:420
      msgid "Open file"
      msgstr "打开文件"
      
      #: ../geanylua/gsdlg.c:107
      msgid "Select file"
      msgstr "选择文件"
      
      #: ../geanylua/gsdlg.c:154
      msgid "Browse..."
      msgstr "浏览..."
      
      #: ../geanylua/gsdlg.c:176
      msgid "Select Color"
      msgstr "选择颜色"
      
      #: ../geanylua/gsdlg.c:207
      msgid "Choose..."
      msgstr "选择..."
      
      #: ../geanylua/gsdlg.c:228
      msgid "Select Font"
      msgstr "选择字体"
      
      #: ../geanylua/gsdlg.c:255
      msgid "Select..."
      msgstr "选取..."
      
      #: ../geanylua/glspi_sci.c:426
      #, c-format
      msgid ""
      "Error in module \"%s\" at function navigate():\n"
      "unknown navigation mode \"%s\" for argument #1.\n"
      msgstr ""
      "在模块“%s”的函数 navigate() 中出现错误:\n"
      "参数 #1 中未知的导航模式“%s”。\n"
      
      #: ../geanylua/glspi_sci.c:602
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "API command \"%s\" not implemented.\n"
      msgstr ""
      "在模块“%s”的函数 %s() 中出现错误:\n"
      "未执行 API 命令“%s”。\n"
      
      #: ../geanylua/glspi_sci.c:613
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "not enough arguments for command \"%s\".\n"
      msgstr ""
      "在模块“%s”的函数 %s() 中出现错误:\n"
      "没有给命令“%s”传递足够的参数。\n"
      
      #: ../geanylua/glspi_sci.c:651 ../geanylua/glspi_app.c:403
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "unknown command \"%s\" given for argument #1.\n"
      msgstr ""
      "在模块“%s”的函数 %s() 中出现错误:\n"
      "参数 #1 未知的命令“%s”。\n"
      
      #: ../geanylua/glspi_sci.c:795
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      " invalid table in argument #%d:\n"
      " unknown flag \"%s\" for element #%d\n"
      msgstr ""
      "在模块“%1$s”的函数 %2$s() 中出现错误:\n"
      " 参数 #%3$d 中表不合法:\n"
      " 元素 #%5$d 未知的标识“%4$s”\n"
      
      #: ../geanylua/glspi_sci.c:799
      msgid ""
      msgstr "<过大,无法显示>"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "File exists"
      msgstr "文件已存在"
      
      #: ../geanylua/glspi_dlg.c:336
      msgid "Do you want to overwrite it?"
      msgstr "您想要覆盖它吗?"
      
      #: ../geanylua/glspi_dlg.c:337
      msgid "confirm"
      msgstr "确认"
      
      #: ../geanylua/glspi_dlg.c:410
      msgid "Save file"
      msgstr "保存文件"
      
      #: ../geanylua/glspi_dlg.c:438
      #, c-format
      msgid ""
      "Error in module \"%s\" at function pickfile():\n"
      "failed to parse filter string at argument #3.\n"
      msgstr ""
      "在模块“%s”的函数 pickfile() 中出现错误:\n"
      "参数 #3 分析过滤器字符串失败。\n"
      
      #: ../geanylua/glspi_dlg.c:489
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "expected string \"open\" or \"save\" for argument #1.\n"
      msgstr ""
      "在模块“%s”的函数 %s() 中出现错误:\n"
      " 参数 #1 需要字符串“open”或“save”。\n"
      
      #: ../geanylua/geanylua.c:156
      #, c-format
      msgid "%s: Can't load support library %s!\n"
      msgstr "%s:无法加载支持库 %s!\n"
      
      #: ../geanylua/geanylua.c:168
      #, c-format
      msgid "%s: Failed to initialize support library %s!\n"
      msgstr "%s:初始化支持库 %s 失败!\n"
      
      #: ../geanylua/geanylua.c:173
      #, c-format
      msgid "%s: Support library version mismatch: %s for %s (should be %s)!\n"
      msgstr "%s:支持库版本不匹配:%s %s(应为 %s)!\n"
      
      #: ../geanylua/geanylua.c:179
      #, c-format
      msgid "%s: Support library ABI mismatch: %d for %s (should be %d)!\n"
      msgstr "%1$s:支持库 ABI 不匹配:%3$s %2$d(应为 %4$d)!\n"
      
      #: ../geanylua/geanylua.c:208
      #, c-format
      msgid "%s: Can't find support library %s!\n"
      msgstr "%s:无法找到支持库 %s!\n"
      
      #: ../geanylua/geanylua.c:227
      #, c-format
      msgid ""
      "The %s plugin failed to load properly.\n"
      "Please check your installation."
      msgstr ""
      "%s 插件未能正确加载。\n"
      "请检查您的安装。"
      
      #: ../geanylua/glspi_app.c:21
      #, fuzzy, c-format
      msgid ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2010 "
      msgstr ""
      "%s %s: %s\n"
      "Copyright (c) 2007-2008 "
      
      #: ../geanylua/glspi_app.c:149
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s():\n"
      "widget \"%s\" not found for argument #1.\n"
      msgstr ""
      "在模块“%s”的函数 %s() 中出现错误:\n"
      " 参数 #1 未找到小工具“%s”。\n"
      
      #: ../geanylua/glspi_app.c:158
      #, c-format
      msgid ""
      "Error in module \"%s\" at function %s() argument #2:\n"
      "widget \"%s\" has no signal named \"%s\".\n"
      msgstr ""
      "在模块“%s”的函数 %s() 参数 #2 中出现错误:\n"
      " 小工具“%s”没有叫做“%s”的信号。\n"
      
      #: ../geanymacro/src/geanymacro.c:55
      msgid "Cut to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:56
      msgid "Copy to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:57
      msgid "Paste from Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:58
      msgid "Cut current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:59
      msgid "Copy current line to Clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:61
      msgid "Delete character to the left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:62
      msgid "Delete character to the right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:63
      msgid "Delete character to the left (but not newline)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:64
      msgid "Delete up to start of word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:65
      msgid "Delete up to start of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:66
      msgid "Delete up to end of word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:67
      #, fuzzy
      msgid "Delete to beginning of line"
      msgstr "选择字体"
      
      #: ../geanymacro/src/geanymacro.c:68
      #, fuzzy
      msgid "Delete to end of line"
      msgstr "选择字体"
      
      #: ../geanymacro/src/geanymacro.c:69
      #, fuzzy
      msgid "Delete current line"
      msgstr "选择字体"
      
      #: ../geanymacro/src/geanymacro.c:70
      msgid "Backwards Tab (deletes tab if nothing after it)"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:72
      msgid "Scroll Display down a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:73
      msgid "Scroll Display up a line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:74
      msgid "Zoom view in"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:75
      msgid "Zoom view out"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:77
      msgid "Move Cursor Down"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:78
      msgid "Move Cursor Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:79
      msgid "Move Cursor Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:80
      msgid "Move Cursor Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:81
      msgid "Move Cursor to start of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:82
      msgid "Move Cursor to start of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:83
      msgid "Move Cursor to start of Part of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:84
      msgid "Move Cursor to start of Part of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:85
      msgid "Move Cursor to start of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:86
      msgid "Move Cursor to end of line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:87
      msgid "Move Cursor to 1st line of Document"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:88
      #, fuzzy
      msgid "Move Cursor to last line of document"
      msgstr "关闭其他文件(_H)"
      
      #: ../geanymacro/src/geanymacro.c:89
      msgid "Move Cursor up one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:90
      msgid "Move Cursor down one Page"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:91
      #, fuzzy
      msgid "Move Cursor to first visible character"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:92
      msgid "Move Cursor to last visible character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:93
      msgid ""
      "Move Cursor to 1st non-whitespace character of line, or 1st character of "
      "line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:95
      #, fuzzy
      msgid "Move Cursor to beginning of next paragraph"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:96
      msgid "Move Cursor up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:97
      msgid "Move Cursor to end of Word to the Left"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:98
      msgid "Move Cursor to end of Word to the Right"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:100
      #, fuzzy
      msgid "Extend Selection down a line"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:101
      #, fuzzy
      msgid "Extend Selection up a line"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:102
      #, fuzzy
      msgid "Extend Selection Left a line"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:103
      #, fuzzy
      msgid "Extend Selection Right a line"
      msgstr "将选中部分右对齐"
      
      #: ../geanymacro/src/geanymacro.c:104
      #, fuzzy
      msgid "Extend Selection to start of Word to the Left"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:105
      #, fuzzy
      msgid "Extend Selection to start of Word to the Right"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:106
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Left"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:107
      #, fuzzy
      msgid "Extend Selection to start of Part of Word to the Right"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:108
      #, fuzzy
      msgid "Extend Selection to start of line"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:109
      #, fuzzy
      msgid "Extend Selection to end of line"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:110
      #, fuzzy
      msgid "Extend Selection to start of document"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:111
      #, fuzzy
      msgid "Extend Selection to end of document"
      msgstr "关闭其他文件(_H)"
      
      #: ../geanymacro/src/geanymacro.c:112
      #, fuzzy
      msgid "Extend Selection up one Page"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:113
      #, fuzzy
      msgid "Extend Selection down one Page"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:114
      #, fuzzy
      msgid "Extend Selection to fist visible character"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:115
      #, fuzzy
      msgid "Extend Selection to last visible character"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:116
      msgid ""
      "Extend Selection to 1st non-whitespace character of line, or 1st character "
      "of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:118
      #, fuzzy
      msgid "Extend Selection to beginning of next paragraph"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:119
      msgid "Extend Selection up to beginning of current/previous paragraph"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:120
      #, fuzzy
      msgid "Extend Selection to end of Word to the Left"
      msgstr "关闭其他文件(_H)"
      
      #: ../geanymacro/src/geanymacro.c:121
      #, fuzzy
      msgid "Extend Selection to end of Word to the Right"
      msgstr "关闭其他文件(_H)"
      
      #: ../geanymacro/src/geanymacro.c:123
      #, fuzzy
      msgid "Extend Rectangular Selection down a line"
      msgstr "将选中部分右对齐"
      
      #: ../geanymacro/src/geanymacro.c:124
      #, fuzzy
      msgid "Extend Rectangular Selection up a line"
      msgstr "将选中部分右对齐"
      
      #: ../geanymacro/src/geanymacro.c:125
      #, fuzzy
      msgid "Extend Rectangular Selection Left a line"
      msgstr "将选中部分右对齐"
      
      #: ../geanymacro/src/geanymacro.c:126
      #, fuzzy
      msgid "Extend Rectangular Selection Right a line"
      msgstr "将选中部分右对齐"
      
      #: ../geanymacro/src/geanymacro.c:127
      #, fuzzy
      msgid "Extend Rectangular Selection to start of line"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:128
      #, fuzzy
      msgid "Extend Rectangular Selection to end of line"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:129
      #, fuzzy
      msgid "Extend Rectangular Selection up one Page"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:130
      #, fuzzy
      msgid "Extend Rectangular Selection down one Page"
      msgstr "将选中部分左对齐"
      
      #: ../geanymacro/src/geanymacro.c:131
      msgid ""
      "Extend Rectangular Selection to 1st non-whitespace character of line, or 1st "
      "character of line if already at 1st non-whitespace character"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:134
      #, fuzzy
      msgid "Cancel Selection"
      msgstr "选择字体"
      
      #: ../geanymacro/src/geanymacro.c:136
      msgid "Toggle Insert/Overwrite mode"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:137 ../pretty-printer/src/ConfigUI.c:239
      msgid "Tab"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:138
      #, fuzzy
      msgid "Newline"
      msgstr "下划线"
      
      #: ../geanymacro/src/geanymacro.c:140 ../geanymacro/src/geanymacro.c:1625
      #, c-format
      msgid "Insert/replace with \"\""
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:142
      msgid "Swap current line with one above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:143
      #, fuzzy
      msgid "Change selected text to lowercase"
      msgstr "标记选中的文字为斜体"
      
      #: ../geanymacro/src/geanymacro.c:144
      #, fuzzy
      msgid "Change selected text to uppercase"
      msgstr "标记选中的文字为粗体"
      
      #: ../geanymacro/src/geanymacro.c:146
      msgid "Insert duplicate of current line below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:147
      msgid ""
      "Insert duplicate of selected text after selection. If nothing selected, "
      "duplicate line"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:150
      #, fuzzy
      msgid "Search for next \"\""
      msgstr "插入环境"
      
      #: ../geanymacro/src/geanymacro.c:151
      #, fuzzy
      msgid "Search for previous \"\""
      msgstr "插入环境"
      
      #: ../geanymacro/src/geanymacro.c:152
      #, fuzzy
      msgid "Set start of search to beginning of selection"
      msgstr "选择字体"
      
      #: ../geanymacro/src/geanymacro.c:181
      #, fuzzy
      msgid "Macros"
      msgstr "编辑观察点"
      
      #: ../geanymacro/src/geanymacro.c:181
      msgid "Macros for Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:369
      msgid "No text in clipboard!"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:546
      #, c-format
      msgid ""
      "Unrecognised message\n"
      "%i %i %i"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:820
      msgid "Save Macros when close Geany"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:826
      msgid "Ask before replacing existing Macros"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:847
      msgid "Geany Macros help"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:855
      msgid ""
      "This Plugin implements Macros in Geany.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:856
      msgid "This plugin allows you to record and use your own macros. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:857
      msgid ""
      "These are sequences of actions that can then be repeated with a single key "
      "combination. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:858
      msgid ""
      "So if you had dozens of lines where you wanted to delete the last 2 "
      "characters, you could simply start recording, press End, Backspace, "
      "Backspace, down line and then stop recording. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:860
      msgid ""
      "Then simply trigger the macro and it would automatically edit the line and "
      "move to the next. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:861
      msgid ""
      "Select Record Macro from the Tools menu and you will be prompted with a "
      "dialog box. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:862
      msgid ""
      "You need to specify a key combination that isn't being used, and a name for "
      "the macro to help you identify it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:864
      msgid "Then press Record. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:865
      msgid ""
      "What you do in the editor is then recorded until you select Stop Recording "
      "Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:867
      msgid "Simply pressing the specified key combination will re-run the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:868
      msgid "To edit the macros you have, select Edit Macro from the Tools menu. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:869
      msgid "You can select a macro and delete it, or re-record it. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:870
      msgid ""
      "You can also click on a macro's name and change it, or the key combination "
      "and re-define that assuming that it's not already in use. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:872
      msgid ""
      "Selecting the edit option allows you to view all the individual elements "
      "that make up the macro. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:874
      msgid ""
      "You can select a different command for each element, move them, add new "
      "elements, delete elements, or if it's replace/insert, you can edit the text "
      "that replaces the selected text, or is inserted.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:878
      msgid ""
      "The only thing to bear in mind is that undo and redo actions are not "
      "recorded, and won't be replayed when the macro is re-run.\n"
      "\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:881
      msgid ""
      "You can alter the default behaviour of this plugin by selecting Plugin "
      "Manager under the Tools menu, selecting this plugin, and clicking "
      "Preferences. "
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:883
      msgid "You can change:\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:884
      msgid ""
      "Save Macros when close Geany - If this is selected then Geany will save any "
      "recorded macros and reload them for use the next time you open Geany, if not "
      "they will be lost when Geany is closed.\n"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:887
      msgid ""
      "Ask before replacing existing Macros - If this is selected then if you try "
      "recording a macro over an existing one it will check before over-writing it, "
      "giving you the option of trying a different name or key trigger combination, "
      "otherwise it will simply erase any existing macros with the same name, or "
      "the same key trigger combination."
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1057
      msgid "Record Macro"
      msgstr ""
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1063
      msgid "Record"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1071
      #, fuzzy
      msgid "Macro Trigger:"
      msgstr "访问触发器"
      
      #: ../geanymacro/src/geanymacro.c:1085
      #, fuzzy
      msgid "Macro Name:"
      msgstr "名称:"
      
      #: ../geanymacro/src/geanymacro.c:1121
      #, c-format
      msgid ""
      "Macro name \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1137
      #, c-format
      msgid ""
      "Macro trigger \"%s\"\n"
      " is already in use.\n"
      "Replace?"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1333
      #, c-format
      msgid "Search %s, looking for %s%s%s.%s%s%s%s%s"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1388
      #, fuzzy
      msgid "Search Options:"
      msgstr "选项(_O)"
      
      #. create buttons
      #: ../geanymacro/src/geanymacro.c:1393 ../geanymacro/src/geanymacro.c:1536
      #: ../geanymacro/src/geanymacro.c:1826 ../geanymacro/src/geanymacro.c:2122
      msgid "_Ok"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1394 ../geanymacro/src/geanymacro.c:1537
      #: ../geanymacro/src/geanymacro.c:1827
      #: ../projectorganizer/src/prjorg-sidebar.c:300
      #, fuzzy
      msgid "_Cancel"
      msgstr "编码:"
      
      #: ../geanymacro/src/geanymacro.c:1403
      msgid "Search Forwards"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1404
      msgid "Search Backwards"
      msgstr ""
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1410
      msgid "Search for contents of clipboard"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1424
      #: ../projectorganizer/src/prjorg-sidebar.c:128
      #: ../projectorganizer/src/prjorg-sidebar.c:454
      msgid "Search for:"
      msgstr ""
      
      #. create checkbox to check for search options
      #: ../geanymacro/src/geanymacro.c:1442
      msgid "Search is case sensitive"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1447
      msgid "Search for whole word"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1452
      #, fuzzy
      msgid "Search for start of word"
      msgstr "插入环境"
      
      #: ../geanymacro/src/geanymacro.c:1457
      msgid "Search text is regular expression"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1462
      msgid "Search text is POSIX compatible"
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1531
      msgid "Edit Insert/Replace Text"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1544
      #, fuzzy
      msgid "Text:"
      msgstr "内容"
      
      #: ../geanymacro/src/geanymacro.c:1570 ../geanymacro/src/geanymacro.c:1758
      #, c-format
      msgid "Insert/replace with \"%s\""
      msgstr ""
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:1735
      #, fuzzy, c-format
      msgid "Edit: %s"
      msgstr "编辑观察点"
      
      #. add column
      #: ../geanymacro/src/geanymacro.c:1801
      msgid "Event"
      msgstr ""
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:1816
      msgid "Move _Up"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1818
      msgid "Move Do_wn"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1820
      msgid "New _Above"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1821
      msgid "New _Below"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:1824 ../geanymacro/src/geanymacro.c:2120
      #, fuzzy
      msgid "_Delete"
      msgstr "删除项目"
      
      #. create dialog box
      #: ../geanymacro/src/geanymacro.c:2065
      #, fuzzy
      msgid "Edit Macros"
      msgstr "编辑观察点"
      
      #: ../geanymacro/src/geanymacro.c:2095
      msgid "Macro Name"
      msgstr ""
      
      #: ../geanymacro/src/geanymacro.c:2101
      #, fuzzy
      msgid "Key Trigger"
      msgstr "访问触发器"
      
      #. add buttons
      #: ../geanymacro/src/geanymacro.c:2116
      msgid "_Re-Record"
      msgstr ""
      
      #. add record macro menu entry
      #: ../geanymacro/src/geanymacro.c:2260
      msgid "Record _Macro"
      msgstr ""
      
      #. add stop record macromenu entry
      #: ../geanymacro/src/geanymacro.c:2266
      msgid "Stop Recording _Macro"
      msgstr ""
      
      #. add Edit Macro menu entry
      #: ../geanymacro/src/geanymacro.c:2272
      msgid "_Edit Macros"
      msgstr ""
      
      #. *< \brief It's the information message about geany mini script
      #: ../geanyminiscript/src/gms_gui.c:129
      msgid ""
      "GMS : Geany Mini-Script filter Plugin\n"
      "This plugin is a tool to apply a script filter on:\n"
      "   o the text selection,\n"
      "   o the current document,\n"
      "   o all documents of the current session.\n"
      "\n"
      "The filter type can be:\n"
      "   o Unix shell script,\n"
      "   o perl script,\n"
      "   o python script,\n"
      "   o sed commands,\n"
      "   o awk script.\n"
      "\n"
      "AUTHOR\n"
      "   Written by Pascal BURLOT (December,2008)\n"
      "\n"
      "LICENSE:\n"
      "This program is free software; you can redistribute\n"
      "it and/or modify it under the terms of the GNU \n"
      "General Public License as published by the Free\n"
      "Software Foundation; either version 2 of the License,\n"
      "or (at your option) any later version."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:253
      msgid "Load Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:310
      msgid "Save Mini-Script File"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:419
      msgid "Mini-Script Filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:445
      msgid "Clear the mini-script window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:450
      msgid "Load a mini-script into this window"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:455
      msgid "Save the mini-script into a file"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:460
      #, fuzzy
      msgid "Display a information about the mini-script plugin"
      msgstr "显示选定项的更多信息。"
      
      #: ../geanyminiscript/src/gms_gui.c:468
      msgid "select the mini-script type"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the input:
      #. *                   selection/current document/all documents of the current session
      #: ../geanyminiscript/src/gms_gui.c:499
      msgid "filter input"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:501
      msgid "select the input of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:507
      #, fuzzy
      msgid "selection"
      msgstr "选择字体"
      
      #: ../geanyminiscript/src/gms_gui.c:508
      #, fuzzy
      msgid "document"
      msgstr "将文档作为邮件发送"
      
      #: ../geanyminiscript/src/gms_gui.c:509
      msgid "session"
      msgstr ""
      
      #. Hbox : Radio bouttons for choosing the output:
      #. *                   current document/ or new document
      #: ../geanyminiscript/src/gms_gui.c:518
      msgid "filter output"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:520
      msgid "select the output of mini-script filter"
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:526
      msgid "Current Doc."
      msgstr ""
      
      #: ../geanyminiscript/src/gms_gui.c:527
      #, fuzzy
      msgid "New Doc."
      msgstr "新项目"
      
      #: ../geanyminiscript/src/gms_gui.c:748
      msgid "script configuration"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:58
      #, fuzzy
      msgid "Mini Script"
      msgstr "Lua 脚本"
      
      #: ../geanyminiscript/src/gms.c:59
      msgid ""
      "A tool to apply a script filter on a text selection or current document(s)"
      msgstr ""
      
      #: ../geanyminiscript/src/gms.c:60
      msgid "Pascal BURLOT, a Geany user"
      msgstr ""
      
      #. Add an item to the Tools menu
      #: ../geanyminiscript/src/gms.c:249
      msgid "_Mini-Script"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:61
      msgid "Numbered Bookmarks for Geany"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:931
      #, c-format
      msgid "Unable to apply all markers to '%s' as all being used."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:933
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:977
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1400
      msgid "_Okay"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:975
      #, c-format
      msgid ""
      "'%s' has been edited since it was last saved by geany. Marker positions may "
      "be unreliable and will not be loaded.\n"
      "Press Ignore to try an load markers anyway."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:978
      #, fuzzy
      msgid "_Ignore"
      msgstr "忽略全部"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1223
      msgid "remember fold state"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1229
      msgid "Center view when goto bookmark"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1236
      #, fuzzy
      msgid "Move to start of line"
      msgstr "将选中部分左对齐"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1237
      msgid "Move to remembered position in line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1238
      msgid "Move to position in current line"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1239
      #, fuzzy
      msgid "Move to End of line"
      msgstr "将选中部分左对齐"
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1245
      msgid "Save file settings with program settings"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1246
      msgid "Save file settings to filename with suffix"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1251
      msgid "remember normal Bookmarks"
      msgstr ""
      
      #. create dialog box
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1271
      msgid "Numbered Bookmarks help"
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1278
      msgid ""
      "This Plugin implements Numbered Bookmarks in Geany, as well as remembering "
      "the state of folds, and positions of standard non-numbered bookmarks when a "
      "file is saved.\n"
      "\n"
      "It allows you to use up to 10 numbered bookmarks. To set a numbered bookmark "
      "press Ctrl+Shift+a number from 0 to 9. You will see a marker appear next to "
      "the line number. If you press Ctrl+Shift+a number on a line that already has "
      "that bookmark number then it removes the bookmark, otherwise it will move "
      "the bookmark there if it was set on a different line, or create it if it had "
      "not already been set. Only the most recently set bookmark on a line will be "
      "shown, but you can have more than one bookmark per line. To move to a "
      "previously set bookmark, press Ctrl+a number from 0 to 9."
      msgstr ""
      
      #: ../geanynumberedbookmarks/src/geanynumberedbookmarks.c:1399
      msgid "Unable to apply markers as all being used."
      msgstr ""
      
      #: ../geanypg/src/decrypt_cb.c:33 ../geanypg/src/encrypt_cb.c:32
      #: ../geanypg/src/sign_cb.c:33
      #, fuzzy
      msgid "couldn't create tempfile"
      msgstr "更新文件"
      
      #: ../geanypg/src/encrypt_cb.c:84
      #, c-format
      msgid ""
      "The key with user ID \"%s\" has validity \"%s\".\n"
      "\n"
      "WARNING: It is NOT certain that the key belongs to the person named in the "
      "user ID.\n"
      "\n"
      "Are you *really* sure you want to use this key anyway?"
      msgstr ""
      
      #: ../geanypg/src/encrypt_cb.c:96
      msgid ""
      "No recipients were selected,\n"
      "use symmetric cipher?"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:37
      msgid "gpg encryption plugin for geany"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:39
      msgid "Hans Alves "
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:47
      msgid "Using libgpgme version:"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:59 ../geanypg/src/geanypg.c:60
      #, fuzzy
      msgid "Error from"
      msgstr "错误:"
      
      #: ../geanypg/src/geanypg.c:85
      msgid "Encrypt"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:86
      msgid "Sign"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:87
      msgid "Decrypt / Verify"
      msgstr ""
      
      #: ../geanypg/src/geanypg.c:88
      msgid "Verify detached signature"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:152
      #, fuzzy
      msgid "Please select any recipients"
      msgstr "删除选定的观察点?"
      
      #: ../geanypg/src/key_selection_dialog.c:154
      msgid "Sign the message as:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:162
      #, fuzzy
      msgid "Select recipients"
      msgstr "选择字典"
      
      #: ../geanypg/src/key_selection_dialog.c:224
      msgid "Choose a key to sign with:"
      msgstr ""
      
      #: ../geanypg/src/key_selection_dialog.c:232
      #, fuzzy
      msgid "Select signer"
      msgstr "选择文件"
      
      #. shouldn't get here
      #: ../geanypg/src/pinentry.c:111
      msgid "Could not use pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:123
      msgid "Unexpected output from pinentry."
      msgstr ""
      
      #. read the rest of the first line after OK
      #: ../geanypg/src/pinentry.c:131
      msgid "Passphrase entry"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:135
      msgid "Passphrase"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:140
      msgid "Enter passphrase for"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:171
      msgid "pinentry gave error"
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:174
      msgid "Unexpected error from pinentry."
      msgstr ""
      
      #: ../geanypg/src/pinentry.c:199
      msgid ""
      "Error, Passphrase input without using gpg-agent is not supported on Windows "
      "yet."
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:53
      msgid "a key with fingerprint"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:66 ../spellcheck/src/gui.c:610
      #: ../spellcheck/src/gui.c:621
      msgid "unknown"
      msgstr "未知"
      
      #: ../geanypg/src/verify_aux.c:67
      msgid "undefined"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:68
      #, fuzzy
      msgid "never"
      msgstr "恢复(_R)"
      
      #: ../geanypg/src/verify_aux.c:69
      #, fuzzy
      msgid "marginal"
      msgstr "原始(_O)"
      
      #: ../geanypg/src/verify_aux.c:70
      msgid "full"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:71
      msgid "ultimate"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:72 ../geanypg/src/verify_aux.c:74
      msgid "[bad validity value]"
      msgstr ""
      
      #. buffer should be more than 105 bytes long
      #: ../geanypg/src/verify_aux.c:79
      msgid " valid"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:80
      msgid " green"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:81
      msgid " red"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:82
      msgid " revoked"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:83
      msgid " key-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:84
      msgid " sig-expired"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:85
      msgid " key-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:86
      msgid " crl-missing"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:87
      msgid " crl-too-old"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:88
      msgid " bad-policy"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:89
      msgid " sys-error"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:103 ../geanypg/src/verify_aux.c:108
      #, fuzzy
      msgid "Unknown\n"
      msgstr "未知"
      
      #: ../geanypg/src/verify_aux.c:111
      #, c-format
      msgid ""
      "status ....: %s\n"
      "summary ...:%s\n"
      "fingerprint: %s\n"
      "created ...: %sexpires ...: %svalidity ..: %s\n"
      "val.reason : %s\n"
      "pubkey algo: %s\n"
      "digest algo: %s\n"
      "pka address: %s\n"
      "pka trust .: %s\n"
      "other flags:%s%s\n"
      "notations .: %s\n"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:126 ../geanypg/src/verify_aux.c:133
      msgid "[None]"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:131 ../geanypg/src/verify_aux.c:132
      #, fuzzy
      msgid "Unknown"
      msgstr "未知"
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "n/a"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "bad"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "okay"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:134
      msgid "RFU"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " wrong-key-usage"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:135
      msgid " chain-model"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "yes"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:136
      msgid "no"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:153
      msgid "Found a signature from"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:156
      msgid "Signature"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:179
      msgid "Could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_aux.c:180
      msgid "Error, could not find verification results"
      msgstr ""
      
      #: ../geanypg/src/verify_cb.c:27
      #, fuzzy
      msgid "Open a signature file"
      msgstr "打开文件"
      
      #: ../geanyprj/src/geanyprj.c:38
      msgid "Alternative project support."
      msgstr "可选的项目支持。"
      
      #: ../geanyprj/src/geanyprj.c:224
      msgid "Find a text in geanyprj's project"
      msgstr ""
      
      #: ../geanyprj/src/geanyprj.c:238
      msgid "Display sidebar"
      msgstr ""
      
      #: ../geanyprj/src/menu.c:92
      msgid "Project Preferences"
      msgstr "项目首选项"
      
      #: ../geanyprj/src/menu.c:101 ../geanyprj/src/menu.c:377
      #: ../geanyprj/src/sidebar.c:172
      msgid "New Project"
      msgstr "新项目"
      
      #: ../geanyprj/src/menu.c:110
      msgid "C_reate"
      msgstr "创建(_R)"
      
      #: ../geanyprj/src/menu.c:123 ../scope/data/scope.glade.h:114
      msgid "Name:"
      msgstr "名称:"
      
      #: ../geanyprj/src/menu.c:132
      msgid "Location:"
      msgstr "位置:"
      
      #: ../geanyprj/src/menu.c:147
      msgid "Choose Project Location"
      msgstr "选择项目位置"
      
      #: ../geanyprj/src/menu.c:155
      msgid "Base path:"
      msgstr "根目录:"
      
      #: ../geanyprj/src/menu.c:160
      msgid ""
      "Base directory of all files that make up the project. This can be a new "
      "path, or an existing directory tree. You can use paths relative to the "
      "project filename."
      msgstr ""
      "根目录中的文件组成项目。这可以是一个新的路径,也可以是已经存在的目录树。您可"
      "以使用相对于项目文件名的目录。"
      
      #: ../geanyprj/src/menu.c:163
      msgid "Choose Project Base Path"
      msgstr "选择项目根目录"
      
      #: ../geanyprj/src/menu.c:170
      msgid "Generate file list on load"
      msgstr "载入时生成文件列表"
      
      #: ../geanyprj/src/menu.c:172
      #, fuzzy
      msgid ""
      "Automatically add files that match project type on project load "
      "automatically. You can't manually add/remove files if you checked this "
      "option, since your modification will be lost on on next project load"
      msgstr ""
      "在载入项目时自动添加符合项目类型的文件。如果您选择此选项,您将不能手动添加/删"
      "除文件,因为您的修改将在下次载入项目时丢失。"
      
      #: ../geanyprj/src/menu.c:180
      msgid "Type:"
      msgstr "类型:"
      
      #: ../geanyprj/src/menu.c:218
      #, c-format
      msgid "Project file \"%s\" already exists"
      msgstr "项目文件“%s”已经存在"
      
      #: ../geanyprj/src/menu.c:368
      msgid "_Project"
      msgstr "项目(_P)"
      
      #: ../geanyprj/src/menu.c:386 ../geanyprj/src/sidebar.c:181
      msgid "Delete Project"
      msgstr "删除项目"
      
      #: ../geanyprj/src/menu.c:397 ../geanyprj/src/sidebar.c:194
      msgid "Add File"
      msgstr "添加文件"
      
      #: ../geanyprj/src/menu.c:408 ../geanyprj/src/sidebar.c:216
      msgid "Preferences"
      msgstr "首选项"
      
      #: ../geanyprj/src/menu.c:419 ../geanyprj/src/sidebar.c:229
      msgid "Find in Project"
      msgstr "在项目中查找"
      
      #: ../geanyprj/src/sidebar.c:203
      msgid "Remove File"
      msgstr "移除文件"
      
      #: ../geanyprj/src/sidebar.c:240 ../projectorganizer/src/prjorg-sidebar.c:1416
      msgid "H_ide Sidebar"
      msgstr "隐藏侧栏(_I)"
      
      #: ../geanyprj/src/sidebar.c:456 ../projectorganizer/src/prjorg-sidebar.c:1438
      msgid "Project"
      msgstr "项目"
      
      #: ../geanyprj/src/xproject.c:94
      #, c-format
      msgid "Project \"%s\" opened."
      msgstr "项目“%s”已打开。"
      
      #: ../geanypy/src/geanypy-plugin.c:38
      msgid "GeanyPy"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:39
      msgid "Python plugins support"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:81
      #, c-format
      msgid "Unable to pre-load Python library: %s."
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:161
      msgid "Failed to import manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:170
      msgid "Failed to retrieve PluginManager from manager module"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:186
      #, fuzzy
      msgid "System plugin directory not found."
      msgstr "未找到 tty 临时目录!\n"
      
      #: ../geanypy/src/geanypy-plugin.c:215
      msgid "Unable to instantiate new PluginManager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:231
      msgid "Unable to get show_all() method on plugin manager"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:259
      #, c-format
      msgid "Unable to create Python plugins directory: %s: %s"
      msgstr ""
      
      #: ../geanypy/src/geanypy-plugin.c:270
      msgid "Python Plugin Manager"
      msgstr ""
      
      #: ../geanysendmail/src/geanysendmail.c:43
      msgid "GeanySendMail"
      msgstr "GeanySendMail"
      
      #: ../geanysendmail/src/geanysendmail.c:44
      #, fuzzy
      msgid "Sends the current file as attachment with your favorite mailer"
      msgstr "一个小插件,可以使用用户喜欢的邮件程序将当前文件作为附件发送。"
      
      #: ../geanysendmail/src/geanysendmail.c:97
      msgid "Recipient's Address"
      msgstr "收件人地址"
      
      #: ../geanysendmail/src/geanysendmail.c:99
      msgid "Enter the recipient's e-mail address:"
      msgstr "输入收件人的电子邮件地址:"
      
      #: ../geanysendmail/src/geanysendmail.c:139
      msgid "Filename placeholder not found. The executed command might have failed."
      msgstr "没有找到文件名的占位符。执行的命令可能会失败。"
      
      #: ../geanysendmail/src/geanysendmail.c:145
      msgid ""
      "Recipient address placeholder not found. The executed command might have "
      "failed."
      msgstr "没有找到收件人地址的占位符。执行的命令可能会失败。"
      
      #: ../geanysendmail/src/geanysendmail.c:159
      msgid "Could not execute mailer. Please check your configuration."
      msgstr "无法执行邮件程序。请检查您的设置。"
      
      #: ../geanysendmail/src/geanysendmail.c:168
      msgid "Please define a mail client first."
      msgstr "请先指定一个邮件客户端。"
      
      #: ../geanysendmail/src/geanysendmail.c:173
      msgid "File has to be saved before sending."
      msgstr "文件在发送前必须保存。"
      
      #: ../geanysendmail/src/geanysendmail.c:189
      msgid "Mail"
      msgstr "邮件"
      
      #: ../geanysendmail/src/geanysendmail.c:220
      msgid "Send by mail"
      msgstr "用邮件发送"
      
      #. add a label and a text entry to the dialog
      #: ../geanysendmail/src/geanysendmail.c:310
      msgid "Path and options for the mail client:"
      msgstr "邮件客户端路径和选项:"
      
      #: ../geanysendmail/src/geanysendmail.c:318
      #, fuzzy
      msgid ""
      "Note: \n"
      "\t%f will be replaced by your file.\n"
      "\t%r will be replaced by recipient's email address.\n"
      "\t%b will be replaced by basename of a file\n"
      "\tExamples:\n"
      "\tsylpheed --attach \"%f\" --compose \"%r\"\n"
      "\tmutt -s \"Sending '%b'\" -a \"%f\" \"%r\""
      msgstr ""
      "备注:\n"
      "\t\\%f 将被替代为您的文件。\n"
      "\t\\%r 将被替代为收件人的电子邮件地址。\n"
      "\t\\%b 将被替代为文件的基本名。\n"
      "\t举例:\n"
      "\tsylpheed --attach \"\\%f\" --compose \"\\%r\"\n"
      "\tmutt -s \"Sending '\\%b'\" -a \"\\%f\" \"\\%r\""
      
      #: ../geanysendmail/src/geanysendmail.c:328
      #, fuzzy
      msgid "Show toolbar icon"
      msgstr "显示工具提示。"
      
      #: ../geanysendmail/src/geanysendmail.c:330
      msgid "Shows a icon in the toolbar to send file more easy."
      msgstr "在工具栏上显示一个图标,可以更轻松地发送文件。"
      
      #: ../geanysendmail/src/geanysendmail.c:336
      #, fuzzy
      msgid "Use dialog for entering email address of recipients"
      msgstr "使用对话框输入收件人电子邮件地址"
      
      #: ../geanysendmail/src/geanysendmail.c:358
      msgid "Send file by mail"
      msgstr "用邮件发送文件"
      
      #. Build up menu entry
      #: ../geanysendmail/src/geanysendmail.c:381
      #, fuzzy
      msgid "_Mail document"
      msgstr "将文档作为邮件发送"
      
      #: ../geanysendmail/src/geanysendmail.c:384
      msgid ""
      "Sends the opened file as unzipped attachment by any mailer from your $PATH"
      msgstr "将打开的文件作为未压缩的附件通过您 $PATH 中的邮件程序发送"
      
      #: ../geanyvc/src/geanyvc.c:72
      msgid "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:73
      msgid "Interface to different Version Control systems."
      msgstr "不同的版本控制系统的界面。"
      
      #: ../geanyvc/src/geanyvc.c:485
      #, c-format
      msgid "geanyvc: s_spawn_sync error: %s"
      msgstr "geanyvc:s_spawn_sync 错误:%s"
      
      #: ../geanyvc/src/geanyvc.c:571
      #, c-format
      msgid "File %s: action %s executed via %s."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:624 ../geanyvc/src/geanyvc.c:635
      #, c-format
      msgid "geanyvc: vcdiff_file_activated: Unable to rename '%s' to '%s'"
      msgstr "geanyvc:vcdiff_file_activated:无法重命名“%s”为“%s”"
      
      #: ../geanyvc/src/geanyvc.c:661 ../geanyvc/src/geanyvc.c:711
      msgid "No changes were made."
      msgstr "没有作出任何修改。"
      
      #: ../geanyvc/src/geanyvc.c:738
      #, fuzzy
      msgid "No history available"
      msgstr "没有可用的历史"
      
      #: ../geanyvc/src/geanyvc.c:931 ../geanyvc/src/geanyvc.c:939
      #, c-format
      msgid "Do you really want to revert: %s?"
      msgstr "您真的想恢复:%s?"
      
      #: ../geanyvc/src/geanyvc.c:947
      #, c-format
      msgid "Do you really want to add: %s?"
      msgstr "您真的想添加:%s?"
      
      #: ../geanyvc/src/geanyvc.c:954
      #, c-format
      msgid "Do you really want to remove: %s?"
      msgstr "您真的想移除:%s?"
      
      #: ../geanyvc/src/geanyvc.c:977
      msgid "Do you really want to update?"
      msgstr "您真的想更新吗?"
      
      #: ../geanyvc/src/geanyvc.c:1104
      msgid ""
      "The resulting differences cannot be displayed because the changes are too "
      "big to display here and would slow down the UI significantly.\n"
      "\n"
      "To view the differences, cancel this dialog and open the differences in "
      "Geany directly by using the GeanyVC menu (Base Directory -> Diff)."
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1253
      msgid "Commit Y/N"
      msgstr "提交 Y/N"
      
      #: ../geanyvc/src/geanyvc.c:1263
      msgid "Status"
      msgstr "状态"
      
      #: ../geanyvc/src/geanyvc.c:1270
      msgid "Path"
      msgstr "路径"
      
      #: ../geanyvc/src/geanyvc.c:1334
      #, c-format
      msgid "Line: %d Column: %d"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1380
      msgid "Commit"
      msgstr "提交"
      
      #: ../geanyvc/src/geanyvc.c:1421
      msgid "_De-/select all files"
      msgstr "全不选/全选所有文件(_D)"
      
      #: ../geanyvc/src/geanyvc.c:1465
      msgid "Commit message:"
      msgstr "提交信息:"
      
      #: ../geanyvc/src/geanyvc.c:1484
      #, fuzzy
      msgid "C_ommit"
      msgstr "提交"
      
      #: ../geanyvc/src/geanyvc.c:1565
      msgid "Nothing to commit."
      msgstr "没有可以提交的。"
      
      #: ../geanyvc/src/geanyvc.c:1611
      #, fuzzy, c-format
      msgid ""
      "Error initializing GeanyVC spell checking: %s. Check your configuration."
      msgstr "初始化拼写检查时出现错误:%s"
      
      #: ../geanyvc/src/geanyvc.c:1886
      msgid "Set Changed-flag for document tabs created by the plugin"
      msgstr "为插件创建的文档页设置已更改标记"
      
      #: ../geanyvc/src/geanyvc.c:1889
      msgid ""
      "If this option is activated, every new by the VC-plugin created document tab "
      "will be marked as changed. Even this option is useful in some cases, it "
      "could cause a big number of annoying \"Do you want to save\"-dialogs."
      msgstr ""
      "如果开启这个选项,每个 VC 插件创建的文档页将被标记为已更改。某些情况下这个选"
      "项有用,但它也许也会带来许多烦人的“您要保存吗”对话框。"
      
      #: ../geanyvc/src/geanyvc.c:1897
      msgid "Confirm adding new files to a VCS"
      msgstr "确认添加新文件到VCS"
      
      #: ../geanyvc/src/geanyvc.c:1900
      msgid "Shows a confirmation dialog on adding a new (created) file to VCS."
      msgstr "添加新文件到VCS时显示一个确认对话框。"
      
      #: ../geanyvc/src/geanyvc.c:1906
      msgid "Maximize commit dialog"
      msgstr "最大化提交对话框"
      
      #: ../geanyvc/src/geanyvc.c:1907
      msgid "Show commit dialog maximize."
      msgstr "最大化显示提交对话框。"
      
      #: ../geanyvc/src/geanyvc.c:1913
      msgid "Use external diff viewer"
      msgstr "使用外部差异查看器"
      
      #: ../geanyvc/src/geanyvc.c:1915
      msgid "Use external diff viewer for file diff."
      msgstr "使用外部差异查看器查看文件差异。"
      
      #: ../geanyvc/src/geanyvc.c:1921
      msgid "Show VC entries at editor menu"
      msgstr "在编辑器菜单中显示VC条目"
      
      #: ../geanyvc/src/geanyvc.c:1923
      msgid "Show entries for VC functions inside editor menu"
      msgstr "在编辑器菜单中显示VC条目。"
      
      #: ../geanyvc/src/geanyvc.c:1928
      msgid "Attach menu to menubar"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1930
      msgid ""
      "Whether menu for this plugin are getting placed either inside tools menu or "
      "directly inside Geany's menubar.Will take in account after next start of "
      "GeanyVC"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:1938
      msgid "Enable CVS"
      msgstr "启用 CVS"
      
      #: ../geanyvc/src/geanyvc.c:1943
      msgid "Enable GIT"
      msgstr "启用 GIT"
      
      #: ../geanyvc/src/geanyvc.c:1948
      msgid "Enable SVN"
      msgstr "启用 SVN"
      
      #: ../geanyvc/src/geanyvc.c:1953
      msgid "Enable SVK"
      msgstr "启用 SVK"
      
      #: ../geanyvc/src/geanyvc.c:1958
      msgid "Enable Bazaar"
      msgstr "启用 Bazaar"
      
      #: ../geanyvc/src/geanyvc.c:1963
      msgid "Enable Mercurial"
      msgstr "启用 Mercurial"
      
      #: ../geanyvc/src/geanyvc.c:1969
      msgid "Spellcheck language"
      msgstr "拼写检查语言"
      
      #: ../geanyvc/src/geanyvc.c:2060
      msgid "_VC file Actions"
      msgstr "_VC 文件操作"
      
      #. Diff of current file
      #. Diff of the current dir
      #. Complete diff of base directory
      #: ../geanyvc/src/geanyvc.c:2066 ../geanyvc/src/geanyvc.c:2143
      #: ../geanyvc/src/geanyvc.c:2183
      msgid "_Diff"
      msgstr "差异(_D)"
      
      #: ../geanyvc/src/geanyvc.c:2069
      msgid "Make a diff from the current active file"
      msgstr "从当前活动的文件生成差异"
      
      #. Revert current file
      #. Revert current dir
      #. Revert everything
      #: ../geanyvc/src/geanyvc.c:2074 ../geanyvc/src/geanyvc.c:2152
      #: ../geanyvc/src/geanyvc.c:2191
      msgid "_Revert"
      msgstr "恢复(_R)"
      
      #: ../geanyvc/src/geanyvc.c:2077
      msgid "Restore pristine working copy file (undo local edits)."
      msgstr "还原原始的工作复制文件(撤销本地编辑)。"
      
      #. Blame for current file
      #: ../geanyvc/src/geanyvc.c:2086
      msgid "_Blame"
      msgstr ""
      
      #: ../geanyvc/src/geanyvc.c:2089
      msgid "Shows the changes made at one file per revision and author."
      msgstr "显示文件每个作者和每次修订的更改。"
      
      #. History/log of current file
      #. History/log of the current dir
      #. Complete History/Log of base directory
      #: ../geanyvc/src/geanyvc.c:2096 ../geanyvc/src/geanyvc.c:2162
      #: ../geanyvc/src/geanyvc.c:2203
      msgid "_History (log)"
      msgstr "历史(日志)(_H)"
      
      #: ../geanyvc/src/geanyvc.c:2099
      msgid "Shows the log of the current file"
      msgstr "显示当前文件日志"
      
      #. base version of the current file
      #: ../geanyvc/src/geanyvc.c:2104
      msgid "_Original"
      msgstr "原始(_O)"
      
      #: ../geanyvc/src/geanyvc.c:2107
      #, fuzzy
      msgid "Shows the original of the current file"
      msgstr "显示当前文件的最初版本"
      
      #. add current file
      #: ../geanyvc/src/geanyvc.c:2115
      msgid "_Add to Version Control"
      msgstr "添加到版本控制(_A)"
      
      #: ../geanyvc/src/geanyvc.c:2117
      msgid "Add file to repository."
      msgstr "添加文件到库。"
      
      #. remove current file
      #: ../geanyvc/src/geanyvc.c:2123
      msgid "_Remove from Version Control"
      msgstr "从版本控制中移除(_R)"
      
      #: ../geanyvc/src/geanyvc.c:2125
      msgid "Remove file from repository."
      msgstr "从库中移除文件。"
      
      #: ../geanyvc/src/geanyvc.c:2140
      msgid "_Directory"
      msgstr "目录(_D)"
      
      #: ../geanyvc/src/geanyvc.c:2146
      msgid "Make a diff from the directory of the current active file"
      msgstr "从文件夹生成与当前活动文件之间的差异"
      
      #: ../geanyvc/src/geanyvc.c:2155
      msgid "Restore original files in the current folder (undo local edits)."
      msgstr "还原当前文件夹中的原始文件(撤销本地编辑)。"
      
      #: ../geanyvc/src/geanyvc.c:2165
      msgid "Shows the log of the current directory"
      msgstr "显示当前目录日志"
      
      #: ../geanyvc/src/geanyvc.c:2179
      msgid "_Base Directory"
      msgstr "根目录(_B)"
      
      #: ../geanyvc/src/geanyvc.c:2185
      msgid "Make a diff from the top VC directory"
      msgstr "从顶层VC目录生成差异"
      
      #: ../geanyvc/src/geanyvc.c:2193
      msgid "Revert any local edits."
      msgstr "恢复所有本地编辑。"
      
      #: ../geanyvc/src/geanyvc.c:2206
      msgid "Shows the log of the top VC directory"
      msgstr "显示顶层VC目录差异"
      
      #: ../geanyvc/src/geanyvc.c:2232
      msgid "VC _Commit"
      msgstr "VC 提交(_C)"
      
      #: ../geanyvc/src/geanyvc.c:2267
      msgid "Show diff of file"
      msgstr "显示文件差异"
      
      #: ../geanyvc/src/geanyvc.c:2269
      msgid "Show diff of directory"
      msgstr "显示目录差异"
      
      #: ../geanyvc/src/geanyvc.c:2271
      msgid "Show diff of basedir"
      msgstr "显示根目录差异"
      
      #: ../geanyvc/src/geanyvc.c:2274
      msgid "Commit changes"
      msgstr "提交更改"
      
      #: ../geanyvc/src/geanyvc.c:2276
      msgid "Show status"
      msgstr "显示状态"
      
      #: ../geanyvc/src/geanyvc.c:2278
      msgid "Revert single file"
      msgstr "恢复单个文件"
      
      #: ../geanyvc/src/geanyvc.c:2280
      msgid "Revert directory"
      msgstr "恢复目录"
      
      #: ../geanyvc/src/geanyvc.c:2282
      msgid "Revert base directory"
      msgstr "恢复根目录"
      
      #: ../geanyvc/src/geanyvc.c:2284
      msgid "Update file"
      msgstr "更新文件"
      
      #: ../geanyvc/src/geanyvc.c:2313
      msgid "_VC"
      msgstr "_VC"
      
      #: ../geanyvc/src/geanyvc.c:2318
      #, fuzzy
      msgid "_Version Control"
      msgstr "添加到版本控制(_A)"
      
      #. Status of basedir
      #: ../geanyvc/src/geanyvc.c:2340
      msgid "_Status"
      msgstr "状态(_S)"
      
      #: ../geanyvc/src/geanyvc.c:2342
      msgid "Show status."
      msgstr "显示状态。"
      
      #: ../geanyvc/src/geanyvc.c:2349
      #, fuzzy
      msgid "Update from remote repository."
      msgstr "从远程库更新。"
      
      #. Commit all changes
      #: ../geanyvc/src/geanyvc.c:2354
      msgid "_Commit"
      msgstr "提交(_C)"
      
      #: ../geanyvc/src/geanyvc.c:2356
      msgid "Commit changes."
      msgstr "提交更改。"
      
      #: ../geniuspaste/src/geniuspaste.c:94
      msgid "Paste your code on your favorite pastebin"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:115
      #, fuzzy, c-format
      msgid "Group \"%s\" not found."
      msgstr "未找到字典 %s!\n"
      
      #: ../geniuspaste/src/geniuspaste.c:134
      #, c-format
      msgid "Group \"%s\" has no key \"%s\"."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:648
      msgid "Invalid pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:649
      #, c-format
      msgid ""
      "Unknown pastebin service \"%s\". Select an existing pastebin service in the "
      "preferences or create an appropriate pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:661
      msgid "Refusing to create blank paste"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:681
      #, fuzzy
      msgid "Failed to paste the code"
      msgstr "打开脚本文件失败。"
      
      #: ../geniuspaste/src/geniuspaste.c:682
      #, c-format
      msgid ""
      "Error pasting the code to the pastebin service %s.\n"
      "Error code: %u (%s).\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:686
      msgid "Check your connection or the pastebin configuration and retry."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:688
      msgid ""
      "Wait for the service to come back and retry, or retry with another pastebin "
      "service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:690 ../geniuspaste/src/geniuspaste.c:707
      #, fuzzy
      msgid "Check the pastebin configuration and retry."
      msgstr "取回 GDB 工作路径设置失败"
      
      #: ../geniuspaste/src/geniuspaste.c:701
      #, fuzzy
      msgid "Failed to obtain paste URL."
      msgstr "打开脚本文件失败。"
      
      #: ../geniuspaste/src/geniuspaste.c:702
      #, c-format
      msgid ""
      "The code was successfully pasted on %s, but an error occurred trying to "
      "obtain its URL: %s\n"
      "\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:706
      msgid "unexpected response from the pastebin service."
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:719
      msgid "Paste Successful"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:720
      #, c-format
      msgid ""
      "Your paste can be found here:\n"
      "%s"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:738
      msgid "There are no opened documents. Open one and retry.\n"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:751
      msgid "The author name field is empty!"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:771
      #, fuzzy
      msgid "Select a pastebin:"
      msgstr "选择文件"
      
      #: ../geniuspaste/src/geniuspaste.c:774
      msgid "Enter the author name:"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:795
      msgid "Show your paste in a new browser tab"
      msgstr ""
      
      #: ../geniuspaste/src/geniuspaste.c:816
      msgid "_Paste it!"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:1
      msgid "_Monitor repository for changes"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:2
      msgid ""
      "Whether to automatically update the diff in order to maintain it up to date "
      "when the underlying Git repository changes.  This should generally be "
      "enabled for optimal user experience."
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:3
      msgid "_Added lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:4
      msgid "_Changed lines:"
      msgstr ""
      
      #: ../git-changebar/data/prefs.ui.h:5
      #, fuzzy
      msgid "_Removed lines:"
      msgstr "移除文件"
      
      #: ../git-changebar/data/prefs.ui.h:6
      msgid "Colors"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:59
      msgid "Git Change Bar"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:60
      msgid "Highlights uncommitted changes in files tracked with Git"
      msgstr ""
      
      #: ../git-changebar/src/gcb-plugin.c:1126 ../pohelper/src/gph-plugin.c:1577
      #, fuzzy, c-format
      msgid "Failed to load configuration file: %s"
      msgstr "显示当前文件日志"
      
      #: ../git-changebar/src/gcb-plugin.c:1151 ../pohelper/src/gph-plugin.c:1602
      #, fuzzy, c-format
      msgid "Failed to create configuration directory \"%s\": %s"
      msgstr "取回 GDB 工作路径设置失败"
      
      #: ../git-changebar/src/gcb-plugin.c:1154 ../pohelper/src/gph-plugin.c:1605
      #, fuzzy, c-format
      msgid "Failed to save configuration file: %s"
      msgstr "显示当前文件日志"
      
      #: ../git-changebar/src/gcb-plugin.c:1233
      #, fuzzy
      msgid "Go to the previous hunk"
      msgstr "返回上一个对话框。"
      
      #: ../git-changebar/src/gcb-plugin.c:1235
      #, fuzzy
      msgid "Go to the next hunk"
      msgstr "单步进入下一行。"
      
      #: ../git-changebar/src/gcb-plugin.c:1360 ../pohelper/src/gph-plugin.c:1373
      #: ../pohelper/src/gph-plugin.c:1706
      #, fuzzy, c-format
      msgid ""
      "Failed to load UI definition, please check your installation. The error was: "
      "%s"
      msgstr ""
      "%s 插件未能正确加载。\n"
      "请检查您的安装。"
      
      #: ../lineoperations/src/lineoperations.c:67
      msgid "Remove Duplicate Lines, _Sorted"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:69
      msgid "Remove Duplicate Lines, _Ordered"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:71
      #, fuzzy
      msgid "Remove _Unique Lines"
      msgstr "移除文件"
      
      #: ../lineoperations/src/lineoperations.c:74
      #, fuzzy
      msgid "Remove _Empty Lines"
      msgstr "移除文件"
      
      #: ../lineoperations/src/lineoperations.c:76
      msgid "Remove _Whitespace Lines"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:79
      msgid "Sort Lines _Ascending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:81
      msgid "Sort Lines _Descending"
      msgstr ""
      
      #: ../lineoperations/src/lineoperations.c:85
      #, fuzzy
      msgid "_Line Operations"
      msgstr "二元运算"
      
      #: ../lineoperations/src/lineoperations.c:127
      #, fuzzy
      msgid "Line Operations"
      msgstr "二元运算"
      
      #: ../lineoperations/src/lineoperations.c:128
      msgid ""
      "Line Operations provides a handful of functions that can be applied to a "
      "document such as, removing duplicate lines, removing empty lines, removing "
      "lines with only whitespace, and sorting lines."
      msgstr ""
      
      #. POSITION OF VIEW
      #: ../markdown/src/conf.c:567
      #, fuzzy
      msgid "Position:"
      msgstr "Edition"
      
      #: ../markdown/src/conf.c:573
      #, fuzzy
      msgid "Sidebar"
      msgstr "隐藏侧栏(_I)"
      
      #: ../markdown/src/conf.c:581
      msgid "Message Window"
      msgstr ""
      
      #: ../markdown/src/conf.c:595
      msgid "Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:612
      msgid "Code Font:"
      msgstr ""
      
      #: ../markdown/src/conf.c:629
      msgid "BG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:645
      msgid "FG Color:"
      msgstr ""
      
      #: ../markdown/src/conf.c:663
      #, fuzzy
      msgid "Select Template File"
      msgstr "选择字体"
      
      #: ../markdown/src/plugin.c:35
      msgid "Real-time Markdown preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:51
      msgid "Markdown Preview"
      msgstr ""
      
      #: ../markdown/src/plugin.c:162
      msgid "The current document does not have a Markdown filetype."
      msgstr ""
      
      #: ../multiterm/src/config.vala:47 ../multiterm/src/config.c:133
      #, fuzzy, c-format
      msgid "Unable to save config file %s: %s"
      msgstr "显示当前文件日志"
      
      #: ../multiterm/src/config.vala:85 ../multiterm/src/config.vala:89
      #: ../multiterm/src/config.c:370 ../multiterm/src/config.c:387
      #, fuzzy, c-format
      msgid "Unable to load config file %s: %s"
      msgstr "显示当前文件日志"
      
      #: ../multiterm/src/context-menu.vala:52 ../multiterm/src/context-menu.vala:140
      #: ../multiterm/src/context-menu.c:134 ../multiterm/src/context-menu.c:546
      #, fuzzy
      msgid "Move to message window"
      msgstr "将选中部分左对齐"
      
      #: ../multiterm/src/context-menu.vala:58 ../multiterm/src/context-menu.vala:135
      #: ../multiterm/src/context-menu.c:144 ../multiterm/src/context-menu.c:535
      #, fuzzy
      msgid "Move to sidebar"
      msgstr "隐藏侧栏(_I)"
      
      #: ../multiterm/src/context-menu.vala:81 ../multiterm/src/context-menu.c:385
      #, fuzzy
      msgid "Open Tab"
      msgstr "在终端中运行"
      
      #: ../multiterm/src/context-menu.vala:96 ../multiterm/src/context-menu.c:471
      #, fuzzy
      msgid "Open Window"
      msgstr "打开URI"
      
      #: ../multiterm/src/context-menu.vala:103 ../multiterm/src/context-menu.c:483
      msgid "Next tab"
      msgstr ""
      
      #. this.append(item);
      #. item.show();
      #: ../multiterm/src/context-menu.vala:108 ../multiterm/src/context-menu.c:490
      #, fuzzy
      msgid "Previous tab"
      msgstr "在项目中查找"
      
      #. this.append(image_item);
      #. image_item.show();
      #. add_separator();
      #: ../multiterm/src/context-menu.vala:127 ../multiterm/src/context-menu.c:509
      #, fuzzy
      msgid "Show Tabs"
      msgstr "显示状态"
      
      #: ../multiterm/src/notebook.vala:91 ../multiterm/src/notebook.c:236
      #, c-format
      msgid "Unable to launch external terminal: %s"
      msgstr ""
      
      #: ../multiterm/src/notebook.vala:137 ../multiterm/src/notebook.c:421
      #, fuzzy
      msgid "Unable to locate default shell in configuration file"
      msgstr "显示当前文件日志"
      
      #: ../multiterm/src/notebook.vala:202 ../multiterm/src/notebook.c:646
      #, fuzzy
      msgid "New terminal"
      msgstr "在终端中运行"
      
      #: ../multiterm/src/plugin.vala:46 ../multiterm/src/plugin.vala:88
      #: ../multiterm/src/plugin.c:104 ../multiterm/src/plugin.c:276
      msgid "MultiTerm"
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:47 ../multiterm/src/plugin.c:105
      msgid "Multi-tabbed virtual terminal emulator."
      msgstr ""
      
      #: ../multiterm/src/plugin.vala:78 ../multiterm/src/plugin.c:242
      #, fuzzy, c-format
      msgid "Unable to write default config file: %s"
      msgstr "显示当前文件日志"
      
      #: ../multiterm/src/shell-config.vala:30
      #, c-format
      msgid "Unable to read value for '%s' key: %s"
      msgstr ""
      
      #: ../multiterm/src/tab-label.vala:62 ../treebrowser/src/treebrowser.c:1963
      #, fuzzy
      msgid "Terminal"
      msgstr "已终止"
      
      #: ../multiterm/src/tab-label.vala:84 ../multiterm/src/tab-label.c:168
      #, fuzzy
      msgid "Close terminal"
      msgstr "在终端中运行"
      
      #: ../multiterm/src/terminal.vala:88 ../multiterm/src/terminal.c:121
      #, c-format
      msgid "Unable to run command: %s"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:49
      msgid "Provides an overview of the active document"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:192
      msgid "Toggle Visibility"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:199
      msgid "Toggle Left/Right Position"
      msgstr ""
      
      #: ../overview/overview/overviewplugin.c:206
      msgid "Toggle Overlay Inversion"
      msgstr ""
      
      #: ../overview/overview/overviewscintilla.c:516
      #, c-format
      msgid "Line %d, Column %d, Position %d"
      msgstr ""
      
      #: ../overview/overview/overviewui.c:289
      #, fuzzy
      msgid "Show Overview"
      msgstr "在终端中运行"
      
      #: ../overview/data/prefs.ui.h:1
      msgid ""
      "The amount to zoom the overview sidebar. This should probably negative if "
      "you want the sidebar zoomed out."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:2
      msgid "Zoom Level:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:3
      msgid "The width of the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:4
      msgid "Width:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:5
      msgid ""
      "The number of lines to scroll at a time when scrolling the overview sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:6
      msgid "Scroll Lines:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:7
      #, fuzzy
      msgid "Position on left"
      msgstr "Edition"
      
      #: ../overview/data/prefs.ui.h:8
      msgid ""
      "Position the overview bar on the left rather than the right (requires Geany "
      "1.25 or greater)."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:9
      #, fuzzy
      msgid "Hide tooltip"
      msgstr "显示工具提示。"
      
      #: ../overview/data/prefs.ui.h:10
      msgid ""
      "Hide the tooltip that is displayed when mousing over the overview that shows "
      "line, column and position information."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:11
      msgid "Hide editor scrollbar"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:12
      msgid ""
      "Whether to hide Geany's regular editor scrollbar while the overview bar is "
      "visible."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:13
      msgid "Disable overlay"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:14
      msgid ""
      "Turn off drawing overlay, which shows the region of the main editor view "
      "that is currently in view, ontop of the overview bar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:15 ../scope/data/scope.glade.h:109
      #, fuzzy
      msgid "Options"
      msgstr "选项(_O)"
      
      #: ../overview/data/prefs.ui.h:16
      msgid ""
      "The color and opacity of the overlay drawn ontop of the overlay sidebar."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:17
      msgid "Color:"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:18
      msgid ""
      "The color and opacity of the border drawn around the revealed area in the "
      "overview sidebar. Set to the same as Overlay Color to disable."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:19
      #, fuzzy
      msgid "Outline Color:"
      msgstr "选择颜色"
      
      #: ../overview/data/prefs.ui.h:20
      msgid "Draw over visible area"
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:21
      msgid ""
      "When checked it will draw the overlay ontop of the area that is visible in "
      "the main editor view, when unchecked, it will do the opposite and draw the "
      "overlay everywhere but the visible area, \"revealing\" the visible part."
      msgstr ""
      
      #: ../overview/data/prefs.ui.h:22
      msgid "Overlay"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:35
      msgid "Pair Tag Highlighter"
      msgstr ""
      
      #: ../pairtaghighlighter/src/pair_tag_highlighter.c:36
      msgid "Finds and highlights matching opening/closing HTML tag"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:1
      msgid "_Translation Helper"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:2
      msgid "_Previous String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:3 ../pohelper/src/gph-plugin.c:1506
      #, fuzzy
      msgid "Go to previous string"
      msgstr "返回上一个对话框。"
      
      #: ../pohelper/data/menus.ui.h:4
      msgid "_Next String"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:5 ../pohelper/src/gph-plugin.c:1509
      #, fuzzy
      msgid "Go to next string"
      msgstr "单步进入下一行。"
      
      #: ../pohelper/data/menus.ui.h:6
      msgid "Pre_vious Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:7 ../pohelper/src/gph-plugin.c:1512
      msgid "Go to previous untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:8
      msgid "Next _Untranslated"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:9 ../pohelper/src/gph-plugin.c:1515
      msgid "Go to next untranslated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:10
      msgid "Previous Fu_zzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:11 ../pohelper/src/gph-plugin.c:1518
      msgid "Go to previous fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:12
      msgid "Next _Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:13 ../pohelper/src/gph-plugin.c:1521
      msgid "Go to next fuzzily translated string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:14
      msgid "Previous Untranslated or Fuzz_y"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:15 ../pohelper/src/gph-plugin.c:1524
      msgid "Go to previous untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:16
      msgid "Next Untranslated _or Fuzzy"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:17 ../pohelper/src/gph-plugin.c:1528
      msgid "Go to next untranslated or fuzzy string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:18 ../pohelper/src/gph-plugin.c:1539
      #, fuzzy
      msgid "Toggle current translation fuzziness"
      msgstr "文件交互"
      
      #: ../pohelper/data/menus.ui.h:19
      msgid "_Toggle Fuzziness"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:20
      msgid "Paste _Message as Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:21
      msgid "Paste the original untranslated string to the translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:22 ../pohelper/src/gph-plugin.c:1536
      msgid "Reflow the current translation string"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:23
      msgid "_Reflow Translation"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:24 ../pohelper/src/gph-plugin.c:1542
      #, fuzzy
      msgid "Show statistics of the current document"
      msgstr "检查当前文件的拼写。"
      
      #: ../pohelper/data/menus.ui.h:25
      #, fuzzy
      msgid "_Show stats"
      msgstr "显示状态"
      
      #: ../pohelper/data/menus.ui.h:26
      msgid ""
      "Whether to update the translation headers (author, revision date, ...) upon "
      "file save"
      msgstr ""
      
      #: ../pohelper/data/menus.ui.h:27
      msgid "Update _Headers Upon Save"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:1
      msgid "Translation statistics"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:2
      msgid "Choose a color for translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:3
      msgid "Choose a color for fuzzily translated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:4
      msgid "Choose a color for untranslated strings"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:5
      msgid "Translated:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:6
      msgid "Fuzzy:"
      msgstr ""
      
      #: ../pohelper/data/stats.ui.h:7
      msgid "Untranslated:"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:41
      msgid "Translation Helper"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:42
      msgid "Improves support for GetText translation files."
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1305 ../pohelper/src/gph-plugin.c:1322
      #, c-format
      msgid "Translated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1307 ../pohelper/src/gph-plugin.c:1325
      #, c-format
      msgid "Fuzzy: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1309 ../pohelper/src/gph-plugin.c:1327
      #, c-format
      msgid "Untranslated: %.3g%%"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1407
      #, c-format
      msgid "%u (%.3g%%)"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1532
      msgid "Paste original untranslated string to translation"
      msgstr ""
      
      #: ../pohelper/src/gph-plugin.c:1747
      #, c-format
      msgid ""
      "Cannot find widget \"%s\" in the UI definition, please check your "
      "installation."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:37
      msgid "XML PrettyPrinter"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:38
      msgid "Formats an XML and makes it human-readable."
      msgstr ""
      
      #. put the menu into the Tools
      #: ../pretty-printer/src/PluginEntry.c:62
      msgid "PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:70
      msgid "Run the PrettyPrinter XML"
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:144
      msgid "Unable to parse the content as XML."
      msgstr ""
      
      #: ../pretty-printer/src/PluginEntry.c:155
      msgid ""
      "Unable to process PrettyPrinting on the specified XML because some features "
      "are not supported.\n"
      "\n"
      "See Help > Debug messages for more details..."
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73
      #, fuzzy
      msgid "Comments"
      msgstr "内容"
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Put on one line"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Inline if possible"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:73 ../pretty-printer/src/ConfigUI.c:74
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "Alignment"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:74
      msgid "Text nodes"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:75
      msgid "CDATA"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:205
      #, fuzzy
      msgid "Empty nodes"
      msgstr "(空行)"
      
      #: ../pretty-printer/src/ConfigUI.c:206
      msgid "Concatenation ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:207
      msgid "Spacing ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:208
      msgid "Expansion ( to )"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:235
      #, fuzzy
      msgid "Indentation"
      msgstr "简报"
      
      #: ../pretty-printer/src/ConfigUI.c:240
      msgid "Space"
      msgstr ""
      
      #: ../pretty-printer/src/ConfigUI.c:264
      msgid "Line break"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-main.c:41
      #, fuzzy
      msgid "Project Organizer"
      msgstr "项目首选项"
      
      #: ../projectorganizer/src/prjorg-main.c:42
      msgid ""
      "Project file tree, project-wide indexing and search, extra navigation "
      "options (was GProject)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:386
      #, fuzzy
      msgid "Find in Project Files..."
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-menu.c:392
      #, fuzzy
      msgid "Find in project files"
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-menu.c:396
      #, fuzzy
      msgid "Find Project File..."
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-menu.c:402
      #, fuzzy
      msgid "Find project file"
      msgstr "选择文件"
      
      #: ../projectorganizer/src/prjorg-menu.c:406
      #, fuzzy
      msgid "Find Project Symbol..."
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-menu.c:412
      #, fuzzy
      msgid "Find project symbol"
      msgstr "选择文件"
      
      #: ../projectorganizer/src/prjorg-menu.c:414
      msgid "Swap Header/Source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:419
      msgid "Swap header/source"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-menu.c:425
      msgid "Open Selected File (Project Organizer)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:575
      msgid "Source patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:581
      msgid ""
      "Space separated list of patterns that are used to identify source files. "
      "Used for header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:587
      msgid "Header patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:593
      msgid ""
      "Space separated list of patterns that are used to identify headers. Used for "
      "header/source swapping."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:599
      msgid "Ignored file patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:605
      msgid ""
      "Space separated list of patterns that are used to identify files that are "
      "not displayed in the project tree."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:611
      msgid "Ignored directory patterns:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:617
      msgid ""
      "Space separated list of patterns that are used to identify directories that "
      "are not scanned for source files."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:623
      #, fuzzy
      msgid "Index all project files:"
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-project.c:626
      msgid "Auto (index if less than 300 files)"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:627
      msgid "Yes"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:628
      #, fuzzy
      msgid "No"
      msgstr "No."
      
      #: ../projectorganizer/src/prjorg-project.c:632
      msgid ""
      "Generate symbol list for all project files instead of only for the currently "
      "opened files. Might be slow for big projects."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-project.c:638
      msgid ""
      "Note: the patterns above affect only the sidebar and are not used in the "
      "Find in Files\n"
      "dialog. You can further restrict the files belonging to the project by "
      "setting the\n"
      "File Patterns under the Project tab (these are also used for the Find in "
      "Files dialog)."
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:117
      #, fuzzy
      msgid "Find File"
      msgstr "添加文件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:144
      #: ../projectorganizer/src/prjorg-sidebar.c:488
      msgid "Search inside:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:159
      msgid "Search in full path"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:170
      #: ../projectorganizer/src/prjorg-sidebar.c:651
      #, fuzzy
      msgid "project or external directory"
      msgstr "恢复根目录"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:298
      #, fuzzy
      msgid "Add External Directory"
      msgstr "选择字典"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:301
      #, fuzzy
      msgid "Add"
      msgstr "附加组件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:443
      #, fuzzy
      msgid "Find Symbol"
      msgstr "添加文件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:472
      msgid "Match type:"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1062
      msgid "Set file patterns under Project->Properties"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1273
      msgid "Reload all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1282
      #, fuzzy
      msgid "Add external directory"
      msgstr "恢复目录"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1292
      #: ../treebrowser/src/treebrowser.c:1282
      msgid "Expand all"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1299
      msgid "Collapse to project root"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1310
      msgid "Follow active editor"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1356
      msgid "Open a project to start using the plugin"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1365
      msgid "Expand All"
      msgstr ""
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1374
      #, fuzzy
      msgid "Find in Files..."
      msgstr "在项目中查找"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1383
      #, fuzzy
      msgid "Find File..."
      msgstr "添加文件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1392
      #, fuzzy
      msgid "Find Symbol..."
      msgstr "添加文件"
      
      #: ../projectorganizer/src/prjorg-sidebar.c:1405
      #, fuzzy
      msgid "Remove External Directory"
      msgstr "恢复目录"
      
      #: ../scope/data/scope.glade.h:1
      #, fuzzy
      msgid "Debu_g"
      msgstr "调试器"
      
      #: ../scope/data/scope.glade.h:2
      msgid "_Setup Program"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:3
      #, fuzzy
      msgid "Recent _Programs"
      msgstr "无程序"
      
      #: ../scope/data/scope.glade.h:4
      #, fuzzy
      msgid "_Run/Continue"
      msgstr "继续(_C)"
      
      #: ../scope/data/scope.glade.h:5
      #, fuzzy
      msgid "Run to _Cursor"
      msgstr "运行到位置"
      
      #: ../scope/data/scope.glade.h:6
      #, fuzzy
      msgid "Run to _Source"
      msgstr "运行到位置"
      
      #: ../scope/data/scope.glade.h:7
      #, fuzzy
      msgid "Step _Into"
      msgstr "单步进入(_I)"
      
      #: ../scope/data/scope.glade.h:8
      msgid "Step _Over"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:9
      #, fuzzy
      msgid "Step O_ut"
      msgstr "单步进入(_I)"
      
      #: ../scope/data/scope.glade.h:10
      #, fuzzy
      msgid "_Terminate"
      msgstr "已终止"
      
      #: ../scope/data/scope.glade.h:11
      #, fuzzy
      msgid "Toggle _Breakpoint"
      msgstr "断点"
      
      #: ../scope/data/scope.glade.h:12
      #, fuzzy
      msgid "_GDB Command"
      msgstr "命令0:"
      
      #: ../scope/data/scope.glade.h:13
      #, fuzzy
      msgid "_More"
      msgstr "更多"
      
      #: ../scope/data/scope.glade.h:14
      #, fuzzy
      msgid "_Show Terminal"
      msgstr "在终端中运行"
      
      #: ../scope/data/scope.glade.h:15
      msgid "_Reset Markers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:16
      msgid "_Cleanup Files"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:17
      msgid "_Feed"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:18
      msgid "_Window"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:19
      msgid "_Auto Show"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:20
      msgid "Auto _Hide"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:21
      msgid "Show on _Error"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:22
      msgid "_Unsorted"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:23
      msgid "_View Source"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:24
      msgid "S_ynchronize"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:25
      msgid "_Interrupt"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:26
      msgid "_Send Signal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:27
      #, fuzzy
      msgid "S_elect on"
      msgstr "选择字体"
      
      #: ../scope/data/scope.glade.h:28
      #, fuzzy
      msgid "_Running"
      msgstr "运行中"
      
      #: ../scope/data/scope.glade.h:29
      #, fuzzy
      msgid "_Stopped"
      msgstr "已停止"
      
      #: ../scope/data/scope.glade.h:30
      msgid "_Exited"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:31
      msgid "_Follow"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:32
      #, fuzzy
      msgid "_Columns"
      msgstr "移列"
      
      #: ../scope/data/scope.glade.h:33
      msgid "Show _Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:34
      #, fuzzy
      msgid "Show _Core"
      msgstr "显示状态"
      
      #: ../scope/data/scope.glade.h:35
      #, fuzzy
      msgid "Add _Break"
      msgstr "增加断点"
      
      #: ../scope/data/scope.glade.h:36
      #, fuzzy
      msgid "Add _Watch"
      msgstr "观察点"
      
      #: ../scope/data/scope.glade.h:37
      msgid "Apply on _Run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:38
      msgid "_Show @entry"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:39
      #, fuzzy
      msgid "Show _Address"
      msgstr "Address"
      
      #: ../scope/data/scope.glade.h:40
      msgid "_Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:41
      #, fuzzy
      msgid "_Watch"
      msgstr "观察点"
      
      #: ../scope/data/scope.glade.h:42
      msgid "_Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:43
      msgid "_8-bit mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:44
      #, fuzzy
      msgid "_Default"
      msgstr "默认(%s)"
      
      #: ../scope/data/scope.glade.h:45
      msgid "_7 bit"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:46
      msgid "_Locale"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:47
      #, fuzzy
      msgid "_UTF-8"
      msgstr "UTF-8"
      
      #: ../scope/data/scope.glade.h:48
      #, fuzzy
      msgid "_Show .names"
      msgstr "显示图标。"
      
      #: ../scope/data/scope.glade.h:49
      msgid "R_ead"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:50
      msgid "_Group by"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:51
      msgid "_1"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:52
      msgid "_2"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:53
      msgid "_4"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:54
      msgid "_8"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:55
      msgid "_Jump To"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:56
      msgid "_Apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:57
      msgid "_Expand"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:59
      msgid "_Natural"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:60
      msgid "_Decimal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:61
      msgid "_Hex"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:62
      msgid "_Octal"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:63
      msgid "_Binary"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:64
      msgid "_Raw"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:65
      msgid "_Evaluate/Modify"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:66
      msgid "_Watch Expression"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:67
      #, fuzzy
      msgid "_Inspect Variable"
      msgstr "环境"
      
      #: ../scope/data/scope.glade.h:68
      msgid "Threads"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:69
      #, fuzzy
      msgid "Stack"
      msgstr "堆栈(_K)"
      
      #: ../scope/data/scope.glade.h:70
      msgid "Locals"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:71
      #, fuzzy
      msgid "Watches"
      msgstr "观察点"
      
      #: ../scope/data/scope.glade.h:72
      msgid "Memory"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:73
      #, fuzzy
      msgid "Enter gdb command:"
      msgstr "插入环境"
      
      #: ../scope/data/scope.glade.h:74
      #, fuzzy
      msgid "Convert _UTF-8 to locale"
      msgstr "将选中部分左对齐"
      
      #: ../scope/data/scope.glade.h:75
      msgid "_Thread"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:76
      msgid "_Group"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:77
      #, fuzzy
      msgid "_Frame"
      msgstr "帧信息"
      
      #: ../scope/data/scope.glade.h:78
      #, fuzzy
      msgid "Setup Program"
      msgstr "无程序"
      
      #: ../scope/data/scope.glade.h:79
      msgid "_Executable:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:80
      msgid "_Arguments:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:81
      #, fuzzy
      msgid "En_vironment:"
      msgstr "环境:"
      
      #: ../scope/data/scope.glade.h:82
      msgid "_Working dir:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:83
      #, fuzzy
      msgid "_Load script:"
      msgstr "_Lua 脚本"
      
      #: ../scope/data/scope.glade.h:84
      msgid "Auto _run program/exit gdb"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:85
      msgid "_Non-stop mode"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:86
      msgid "_Temporary breakpoint on load at:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:87
      msgid "_Delete all breakpoints, watches, inspects and registers"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:88 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program"
      msgstr "无程序"
      
      #: ../scope/data/scope.glade.h:89
      #, fuzzy
      msgid "Open on"
      msgstr "打开URI"
      
      #: ../scope/data/scope.glade.h:90
      #, fuzzy
      msgid "g_db load"
      msgstr "卸载(_U)"
      
      #: ../scope/data/scope.glade.h:91
      msgid "p_rogram start"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:92
      #, fuzzy
      msgid "Update all _views"
      msgstr "更新文件"
      
      #: ../scope/data/scope.glade.h:93
      msgid "Panel"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:94
      msgid "Default 8-bit text mode:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:95
      msgid "_7-bit \\nnn"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:96
      msgid "Display"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:97
      #, fuzzy
      msgid "_member"
      msgstr "Number"
      
      #: ../scope/data/scope.glade.h:98
      #, fuzzy
      msgid "and"
      msgstr "直斜体"
      
      #: ../scope/data/scope.glade.h:99
      #, fuzzy
      msgid "_argument"
      msgstr "将文档作为邮件发送"
      
      #: ../scope/data/scope.glade.h:100
      #, fuzzy
      msgid "names"
      msgstr "文件名:"
      
      #: ../scope/data/scope.glade.h:101
      msgid "Values"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:102
      msgid "E_xpand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:103
      msgid "S_how"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:104
      msgid "children"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:105
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:106
      msgid "Show =li_brary messages"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:107
      #, fuzzy
      msgid "Show _tooltips"
      msgstr "显示工具提示。"
      
      #: ../scope/data/scope.glade.h:108
      msgid "Others"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:110
      #, fuzzy
      msgid "_Import"
      msgstr "报告"
      
      #: ../scope/data/scope.glade.h:111
      msgid "Enter assignment expression:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:112
      msgid "Inspect"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:113
      #, fuzzy
      msgid "Object:"
      msgstr "目标信息"
      
      #: ../scope/data/scope.glade.h:115
      msgid "-"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:116
      #, fuzzy
      msgid "Frame:"
      msgstr "名称:"
      
      #: ../scope/data/scope.glade.h:117
      msgid "@"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:118
      msgid "_Apply on run"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:119
      msgid "Expand"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:120
      #, fuzzy
      msgid "Start:"
      msgstr "状态(_S)"
      
      #: ../scope/data/scope.glade.h:121
      msgid "Count:"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:122
      msgid "_Expand on apply"
      msgstr ""
      
      #: ../scope/data/scope.glade.h:123 ../scope/src/scope.c:518
      #, fuzzy
      msgid "Program Terminal"
      msgstr "在终端中运行"
      
      #: ../scope/data/scope.glade.h:125
      msgid "Registers"
      msgstr ""
      
      #: ../scope/src/break.c:97
      #, fuzzy
      msgid "breakpoint"
      msgstr "断点"
      
      #: ../scope/src/break.c:98
      #, fuzzy
      msgid "hardware breakpoint"
      msgstr "编辑断点"
      
      #: ../scope/src/break.c:99
      #, fuzzy
      msgid "tracepoint"
      msgstr "观察点"
      
      #: ../scope/src/break.c:100
      #, fuzzy
      msgid "fast tracepoint"
      msgstr "观察点"
      
      #: ../scope/src/break.c:101
      #, fuzzy
      msgid "write watchpoint"
      msgstr "编辑观察点"
      
      #: ../scope/src/break.c:104
      #, fuzzy
      msgid "access watchpoint"
      msgstr "观察点"
      
      #: ../scope/src/break.c:106
      #, fuzzy
      msgid "read watchpoint"
      msgstr "编辑观察点"
      
      #: ../scope/src/break.c:108
      #, fuzzy
      msgid "catchpoint"
      msgstr "观察点"
      
      #: ../scope/src/break.c:135 ../scope/src/break.c:139
      msgid "CLI"
      msgstr ""
      
      #: ../scope/src/break.c:136
      msgid "unsupported MI"
      msgstr ""
      
      #: ../scope/src/break.c:141
      #, fuzzy
      msgid "on load"
      msgstr "卸载(_U)"
      
      #: ../scope/src/break.c:142
      #, fuzzy
      msgid "Run to Cursor"
      msgstr "运行到位置"
      
      #: ../scope/src/break.c:1013
      #, c-format
      msgid ""
      "There are two or more breakpoints at %s:%d.\n"
      "\n"
      "Use the breakpoint list to remove the exact one."
      msgstr ""
      
      #: ../scope/src/break.c:1250
      #, c-format
      msgid ", %s"
      msgstr ""
      
      #: ../scope/src/break.c:1276
      #, c-format
      msgid "func %s"
      msgstr ""
      
      #: ../scope/src/break.c:1307
      #, fuzzy
      msgid "Add Breakpoint"
      msgstr "增加断点"
      
      #: ../scope/src/break.c:1322
      #, fuzzy
      msgid "Add Watchpoint"
      msgstr "增加观察点"
      
      #: ../scope/src/conterm.c:109
      #, fuzzy
      msgid "Feed Terminal"
      msgstr "在终端中运行"
      
      #: ../scope/src/conterm.c:109
      msgid "Enter char # (0..255):"
      msgstr ""
      
      #: ../scope/src/conterm.c:512 ../scope/src/scope.c:546 ../scope/src/scope.c:547
      #, fuzzy, c-format
      msgid "Scope: %s."
      msgstr "关闭全部(_L)"
      
      #: ../scope/src/debug.c:138
      msgid "No breakpoints. Hanging."
      msgstr ""
      
      #: ../scope/src/debug.c:362
      #, c-format
      msgid "GDB died unexpectedly with status %d."
      msgstr ""
      
      #: ../scope/src/debug.c:364
      #, fuzzy
      msgid "Program terminated."
      msgstr "已终止"
      
      #: ../scope/src/debug.c:461 ../scope/src/debug.c:545 ../scope/src/thread.c:93
      #, c-format
      msgid "%s."
      msgstr ""
      
      #: ../scope/src/inspect.c:66
      #, fuzzy
      msgid "..."
      msgstr "更多..."
      
      #: ../scope/src/inspect.c:339
      msgid "invalid data"
      msgstr ""
      
      #: ../scope/src/inspect.c:371
      msgid "no children in range"
      msgstr ""
      
      #: ../scope/src/inspect.c:454
      #, fuzzy
      msgid "out of scope"
      msgstr "观察点 #%s 越界"
      
      #: ../scope/src/inspect.c:627
      msgid "Duplicate inspect variable name."
      msgstr ""
      
      #: ../scope/src/memory.c:292
      msgid "Read Memory"
      msgstr ""
      
      #: ../scope/src/memory.c:396
      #, c-format
      msgid "Scope: pointer size > %d, Data disabled."
      msgstr ""
      
      #: ../scope/src/menu.c:375
      msgid "Modify"
      msgstr ""
      
      #: ../scope/src/menu.c:481
      msgid "Evaluate/modify"
      msgstr ""
      
      #: ../scope/src/menu.c:482
      msgid "Watch expression"
      msgstr ""
      
      #: ../scope/src/menu.c:483
      #, fuzzy
      msgid "Inspect variable"
      msgstr "本地变量"
      
      #: ../scope/src/parse.c:438
      msgid "Undefined GDB error."
      msgstr ""
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select Folder"
      msgstr "选择颜色"
      
      #: ../scope/src/plugme.c:79
      #, fuzzy
      msgid "Select File"
      msgstr "选择文件"
      
      #: ../scope/src/prefs.c:314 ../scope/src/utils.c:449
      #, c-format
      msgid "Scope: %s: %s."
      msgstr ""
      
      #: ../scope/src/prefs.c:319
      #, fuzzy
      msgid "Scope: created configuration file."
      msgstr "显示当前文件日志"
      
      #: ../scope/src/program.c:255
      #, c-format
      msgid "Loaded debug settings for %s."
      msgstr ""
      
      #: ../scope/src/program.c:263
      #, c-format
      msgid "Could not load debug settings file %s: %s."
      msgstr ""
      
      #: ../scope/src/program.c:383
      #, fuzzy, c-format
      msgid ""
      "%s: %s.\n"
      "\n"
      "Continue?"
      msgstr "继续(_C)"
      
      #: ../scope/src/program.c:419
      msgid "Delete all breakpoints, watches et cetera?"
      msgstr ""
      
      #: ../scope/src/program.c:527
      msgid "as _Name=value"
      msgstr ""
      
      #: ../scope/src/program.c:528
      msgid "as _Name = value"
      msgstr ""
      
      #: ../scope/src/scope.c:33
      #, fuzzy
      msgid "Scope Debugger"
      msgstr "调试器"
      
      #: ../scope/src/scope.c:34
      msgid "Relatively simple GDB front-end."
      msgstr ""
      
      #: ../scope/src/scope.c:61
      #, fuzzy
      msgid "Setup program"
      msgstr "无程序"
      
      #: ../scope/src/scope.c:62
      #, fuzzy
      msgid "Run/continue"
      msgstr "继续(_C)"
      
      #: ../scope/src/scope.c:64
      #, fuzzy
      msgid "Run to source"
      msgstr "运行到位置"
      
      #: ../scope/src/scope.c:68
      #, fuzzy
      msgid "Terminate"
      msgstr "已终止"
      
      #: ../scope/src/scope.c:69
      #, fuzzy
      msgid "Toggle breakpoint"
      msgstr "断点"
      
      #: ../scope/src/scope.c:71 ../scope/src/scope.c:74
      #, fuzzy
      msgid "GDB command"
      msgstr "插入环境"
      
      #: ../scope/src/scope.c:72
      #, fuzzy
      msgid "Show terminal"
      msgstr "在终端中运行"
      
      #: ../scope/src/scope.c:225
      msgid "Busy"
      msgstr ""
      
      #: ../scope/src/scope.c:225
      msgid "Ready"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Hang"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      msgid "Assem"
      msgstr ""
      
      #: ../scope/src/scope.c:226
      #, fuzzy
      msgid "Load"
      msgstr "加载(_L)"
      
      #: ../scope/src/scope.c:417
      msgid "Build action activated. Terminate debugging?"
      msgstr ""
      
      #: ../scope/src/scope.c:520
      #, fuzzy
      msgid "Breaks"
      msgstr "断点"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Console"
      msgstr "控制台:"
      
      #: ../scope/src/scope.c:522
      #, fuzzy
      msgid "Debug Console"
      msgstr "控制台:"
      
      #: ../scope/src/thread.c:49
      #, c-format
      msgid "Thread group %s started."
      msgstr ""
      
      #: ../scope/src/thread.c:64
      msgid "Thread group "
      msgstr ""
      
      #: ../scope/src/thread.c:84
      msgid " exited"
      msgstr ""
      
      #: ../scope/src/thread.c:87
      #, c-format
      msgid " with exit code %s"
      msgstr ""
      
      #: ../scope/src/thread.c:749
      #, fuzzy
      msgid "Send Signal"
      msgstr "用邮件发送"
      
      #: ../scope/src/thread.c:749
      msgid "Enter signal #:"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Terminate Process"
      msgstr ""
      
      #: ../scope/src/thread.c:789
      msgid "Enter exit code:"
      msgstr ""
      
      #: ../scope/src/thread.c:892
      #, fuzzy
      msgid "Running"
      msgstr "运行中"
      
      #: ../scope/src/thread.c:893
      #, fuzzy
      msgid "Stopped"
      msgstr "已停止"
      
      #: ../scope/src/utils.c:37
      #, fuzzy, c-format
      msgid "%s: %s."
      msgstr "关闭全部(_L)"
      
      #: ../scope/src/utils.c:45
      #, fuzzy, c-format
      msgid "%s: %s"
      msgstr "关闭全部(_L)"
      
      #: ../scope/src/utils.c:225
      #, c-format
      msgid "Scope: error reading [%s]."
      msgstr ""
      
      #: ../scope/src/views.c:526
      msgid "…"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Send"
      msgstr ""
      
      #: ../scope/src/views.c:549
      msgid "_Busy"
      msgstr ""
      
      #: ../scope/src/views.c:558
      #, fuzzy
      msgid "GDB Command"
      msgstr "命令0:"
      
      #: ../spellcheck/src/speller.c:180
      msgid "Try: "
      msgstr "尝试:"
      
      #: ../spellcheck/src/speller.c:265
      msgid "Checking"
      msgstr "检查中"
      
      #: ../spellcheck/src/speller.c:278
      #, c-format
      msgid "Checking file \"%s\" (lines %d to %d using %s):"
      msgstr "正在检查文件“%s”(第 %d 行至第 %d 行,使用 %s)"
      
      #: ../spellcheck/src/speller.c:288
      #, c-format
      msgid "Checking file \"%s\" (using %s):"
      msgstr "正在检查文件“%s”(使用 %s)"
      
      #: ../spellcheck/src/speller.c:309
      msgid "The checked text is spelled correctly."
      msgstr "已检查的文字拼写正确。"
      
      #: ../spellcheck/src/speller.c:319
      #, c-format
      msgid "The Enchant library couldn't be initialized (%s)."
      msgstr "无法初始化 Enchant 库(%s)。"
      
      #: ../spellcheck/src/speller.c:320
      msgid "unknown error (maybe the chosen language is not available)"
      msgstr "未知错误(可能不支持选取的语言)"
      
      #: ../spellcheck/src/scplugin.c:47
      msgid "Spell Check"
      msgstr "拼写检查"
      
      #: ../spellcheck/src/scplugin.c:48
      msgid "Checks the spelling of the current document."
      msgstr "检查当前文件的拼写。"
      
      #: ../spellcheck/src/scplugin.c:219
      msgid "Run Spell Check"
      msgstr "运行拼写检查"
      
      #: ../spellcheck/src/scplugin.c:222
      msgid "Toggle Check While Typing"
      msgstr "开关输入时的拼写检查"
      
      #. initialise the dialog
      #: ../spellcheck/src/scplugin.c:233
      msgid "Select Directory"
      msgstr "选择字典"
      
      #: ../spellcheck/src/scplugin.c:285
      msgid "Show toolbar item to toggle spell checking"
      msgstr "在工具栏中显示开关拼写检查的项"
      
      #: ../spellcheck/src/scplugin.c:289
      #, fuzzy
      msgid "Show editor menu item to show spelling suggestions"
      msgstr "在工具栏中显示开关拼写检查的项"
      
      #: ../spellcheck/src/scplugin.c:294
      #, fuzzy
      msgid "Show suggestions in a sub menu of the editor menu"
      msgstr "在编辑器菜单中显示“打开URI”"
      
      #: ../spellcheck/src/scplugin.c:309
      msgid "Print misspelled words and suggestions in the messages window"
      msgstr "在消息窗口输出拼写错误的单词和建议"
      
      #: ../spellcheck/src/scplugin.c:319
      msgid "Interface"
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:327
      msgid "Check spelling while typing"
      msgstr "输入时进行拼写检查"
      
      #: ../spellcheck/src/scplugin.c:330
      #, fuzzy
      msgid "Check spelling when opening a document"
      msgstr "输入时进行拼写检查"
      
      #: ../spellcheck/src/scplugin.c:332
      msgid ""
      "Enabling this option will check every document after it is opened in Geany. "
      "Reloading a document will also trigger a re-check."
      msgstr ""
      
      #: ../spellcheck/src/scplugin.c:336
      msgid "Language to use for the spell check:"
      msgstr "拼写检查时使用的语言:"
      
      #: ../spellcheck/src/scplugin.c:348
      msgid "_Directory to look for dictionary files:"
      msgstr "查找字典文件的目录(_D)"
      
      #: ../spellcheck/src/scplugin.c:355
      msgid ""
      "Read additional dictionary files from this directory. For now, this only "
      "works with myspell dictionaries."
      msgstr "在这个目录中读取附加的字典文件,目前,只有 myspell 字典可以使用。"
      
      #: ../spellcheck/src/scplugin.c:386
      msgid "Behavior"
      msgstr ""
      
      #: ../spellcheck/src/gui.c:76
      msgid "Spell checking while typing is now enabled"
      msgstr "输入时的拼写检查已启用"
      
      #: ../spellcheck/src/gui.c:78
      msgid "Spell checking while typing is now disabled"
      msgstr "输入时的拼写检查已禁用"
      
      #: ../spellcheck/src/gui.c:326
      msgid "More..."
      msgstr "更多..."
      
      #: ../spellcheck/src/gui.c:347
      msgid "(No Suggestions)"
      msgstr "(无建议)"
      
      #: ../spellcheck/src/gui.c:360
      #, c-format
      msgid "Add \"%s\" to Dictionary"
      msgstr "添加“%s”到字典"
      
      #: ../spellcheck/src/gui.c:368
      msgid "Ignore All"
      msgstr "忽略全部"
      
      #: ../spellcheck/src/gui.c:441
      msgid ""
      "Search term is too long to provide\n"
      "spelling suggestions in the editor menu."
      msgstr ""
      
      #: ../spellcheck/src/gui.c:447
      #, fuzzy
      msgid "Perform Spell Check"
      msgstr "拼写检查"
      
      #: ../spellcheck/src/gui.c:609
      #, c-format
      msgid "Default (%s)"
      msgstr "默认(%s)"
      
      #: ../spellcheck/src/gui.c:620
      #, c-format
      msgid "Toggle spell check while typing (current language: %s)"
      msgstr "开关输入时的拼写检查(当前语言:%s)"
      
      #: ../spellcheck/src/gui.c:698
      msgid "Spelling Suggestions"
      msgstr "拼写建议"
      
      #: ../shiftcolumn/src/shiftcolumn.c:49
      msgid "Shift Column"
      msgstr "移列"
      
      #: ../shiftcolumn/src/shiftcolumn.c:50
      msgid "Shift a selection left and right"
      msgstr "将选中部分左移或右移"
      
      #: ../shiftcolumn/src/shiftcolumn.c:380 ../shiftcolumn/src/shiftcolumn.c:400
      msgid "Shift Left"
      msgstr "左移"
      
      #: ../shiftcolumn/src/shiftcolumn.c:387 ../shiftcolumn/src/shiftcolumn.c:402
      msgid "Shift Right"
      msgstr "右移"
      
      #: ../tableconvert/src/tableconvert.c:31
      msgid "Tableconvert"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:32
      msgid "Converts lists into tables for different filetypes"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:42
      #, fuzzy
      msgid "LaTeX"
      msgstr "_LaTeX"
      
      #: ../tableconvert/src/tableconvert.c:59
      msgid "HTML"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:79
      msgid "SQL"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:96
      msgid "DokuWiki"
      msgstr ""
      
      #. OK. Something went not as expected.
      #. * We do have a selection but cannot parse it into rows.
      #. * Aborting
      #: ../tableconvert/src/tableconvert.c:297
      msgid "Something went wrong on parsing selection. Aborting"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert.c:329
      #, fuzzy
      msgid "Convert selection to table"
      msgstr "将选中部分左对齐"
      
      #. Build up menu entry for table_convert based on global file type
      #: ../tableconvert/src/tableconvert_ui.c:40
      msgid "_Convert to table"
      msgstr ""
      
      #: ../tableconvert/src/tableconvert_ui.c:43
      msgid "Converts current marked list to a table."
      msgstr ""
      
      #. Build up menu entries for table convert based on explicit choice
      #. * This is needed for e.g. different wiki-Syntax or differenz stiles
      #. * within a special file type
      #: ../tableconvert/src/tableconvert_ui.c:52
      msgid "_More TableConvert"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:127
      #, fuzzy
      msgid "TreeBrowser"
      msgstr "浏览..."
      
      #: ../treebrowser/src/treebrowser.c:128
      msgid ""
      "This plugin adds a tree browser to Geany, allowing the user to browse files "
      "using a tree view of the directory being browsed."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:433
      #, c-format
      msgid "%s: no such directory."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:536 ../treebrowser/src/treebrowser.c:571
      #: ../treebrowser/src/treebrowser.c:669
      #, fuzzy
      msgid "(Empty)"
      msgstr "(空行)"
      
      #: ../treebrowser/src/treebrowser.c:972
      #, c-format
      msgid "Could not execute configured external command '%s' (%s)."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1043
      #, fuzzy
      msgid "NewDirectory"
      msgstr "目录(_D)"
      
      #: ../treebrowser/src/treebrowser.c:1045
      #, fuzzy
      msgid "NewFile"
      msgstr "文件(_F)"
      
      #: ../treebrowser/src/treebrowser.c:1050
      #, c-format
      msgid ""
      "Target file '%s' exists\n"
      ", do you really want to replace it with empty file?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1096
      #, fuzzy, c-format
      msgid "Do you really want to delete '%s' ?"
      msgstr "您真的想恢复:%s?"
      
      #: ../treebrowser/src/treebrowser.c:1208 ../treebrowser/src/treebrowser.c:1739
      msgid "Go up"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1212 ../treebrowser/src/treebrowser.c:1754
      #, fuzzy
      msgid "Set path from document"
      msgstr "为您的新文档设置编码"
      
      #: ../treebrowser/src/treebrowser.c:1216
      #, fuzzy
      msgid "_Open externally"
      msgstr "在终端中运行"
      
      #: ../treebrowser/src/treebrowser.c:1221
      #, fuzzy
      msgid "Open Terminal"
      msgstr "在终端中运行"
      
      #: ../treebrowser/src/treebrowser.c:1225
      msgid "Set as root"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1230 ../treebrowser/src/treebrowser.c:1744
      #: ../treebrowser/src/treebrowser.c:2139
      #, fuzzy
      msgid "Refresh"
      msgstr "Series"
      
      #: ../treebrowser/src/treebrowser.c:1234
      #, fuzzy
      msgid "_Find in Files"
      msgstr "在项目中查找"
      
      #: ../treebrowser/src/treebrowser.c:1242
      #, fuzzy
      msgid "Create new directory"
      msgstr "恢复根目录"
      
      #: ../treebrowser/src/treebrowser.c:1246
      #, fuzzy
      msgid "Create new file"
      msgstr "更新文件"
      
      #: ../treebrowser/src/treebrowser.c:1250
      #, fuzzy
      msgid "Rename"
      msgstr "文件名:"
      
      #: ../treebrowser/src/treebrowser.c:1255
      #, fuzzy
      msgid "Delete"
      msgstr "删除项目"
      
      #: ../treebrowser/src/treebrowser.c:1263
      #, fuzzy, c-format
      msgid "Close: %s"
      msgstr "关闭全部(_L)"
      
      #: ../treebrowser/src/treebrowser.c:1268
      #, fuzzy, c-format
      msgid "Close Child Documents "
      msgstr "关闭其他文件(_H)"
      
      #: ../treebrowser/src/treebrowser.c:1273
      msgid "_Copy full path to clipboard"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1286
      #, fuzzy
      msgid "Collapse all"
      msgstr "关闭全部(_L)"
      
      #: ../treebrowser/src/treebrowser.c:1293 ../treebrowser/src/treebrowser.c:2048
      #, fuzzy
      msgid "Show bookmarks"
      msgstr "书签"
      
      #: ../treebrowser/src/treebrowser.c:1298 ../treebrowser/src/treebrowser.c:1997
      #, fuzzy
      msgid "Show hidden files"
      msgstr "显示文件差异"
      
      #: ../treebrowser/src/treebrowser.c:1303
      #, fuzzy
      msgid "Show toolbars"
      msgstr "显示状态"
      
      #: ../treebrowser/src/treebrowser.c:1622
      #, c-format
      msgid "Target file '%s' exists, do you really want to replace it?"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1749
      #, fuzzy
      msgid "Home"
      msgstr "Volume"
      
      #: ../treebrowser/src/treebrowser.c:1759
      #, fuzzy
      msgid "Track path"
      msgstr "根目录:"
      
      #: ../treebrowser/src/treebrowser.c:1764
      #, fuzzy
      msgid "Hide bars"
      msgstr "隐藏侧栏(_I)"
      
      #: ../treebrowser/src/treebrowser.c:1774
      msgid ""
      "Filter (*.c;*.h;*.cpp), and if you want temporary filter using the '!' "
      "reverse try for example this '!;*.c;*.h;*.cpp'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1782
      msgid "Addressbar for example '/projects/my-project'"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1807
      msgid "Tree Browser"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1950
      msgid "External open command"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1955
      #, c-format
      msgid ""
      "The command to execute when using \"Open with\". You can use %f and %d "
      "wildcards.\n"
      "%f will be replaced with the filename including full path\n"
      "%d will be replaced with the path name of the selected file without the "
      "filename"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1968
      msgid "The terminal to use with the command \"Open Terminal\""
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1974
      msgid "Toolbar"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1976
      msgid "Hidden"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1977
      msgid "Top"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1978
      msgid "Bottom"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1983
      msgid "If position is changed, the option require plugin restart."
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1987
      #, fuzzy
      msgid "Show icons"
      msgstr "显示图标。"
      
      #: ../treebrowser/src/treebrowser.c:1989
      msgid "None"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:1990
      #, fuzzy
      msgid "Base"
      msgstr "暂停(_P)"
      
      #: ../treebrowser/src/treebrowser.c:1991
      #, fuzzy
      msgid "Content-type"
      msgstr "内容"
      
      #: ../treebrowser/src/treebrowser.c:2002
      msgid "On Windows, this just hide files that are prefixed with '.' (dot)"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2004
      #, fuzzy
      msgid "Hide object files"
      msgstr "选择文件"
      
      #: ../treebrowser/src/treebrowser.c:2009
      msgid ""
      "Don't show generated object files in the file browser, this includes *.o, *."
      "obj. *.so, *.dll, *.a, *.lib"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2011
      #, fuzzy
      msgid "Reverse filter"
      msgstr "恢复单个文件"
      
      #: ../treebrowser/src/treebrowser.c:2016
      msgid "Follow current document"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2021
      msgid "Single click, open document and focus it"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2026
      #, fuzzy
      msgid "Double click open directory"
      msgstr "显示目录差异"
      
      #: ../treebrowser/src/treebrowser.c:2031
      msgid "On delete file, close it if is opened"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2036
      msgid "Focus editor on file open"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2041
      #, fuzzy
      msgid "Show tree lines"
      msgstr "显示工具提示。"
      
      #: ../treebrowser/src/treebrowser.c:2053
      #, fuzzy
      msgid "Open new files"
      msgstr "打开文件"
      
      #: ../treebrowser/src/treebrowser.c:2129
      #, fuzzy
      msgid "Focus File List"
      msgstr "焦点书签列表"
      
      #: ../treebrowser/src/treebrowser.c:2131
      msgid "Focus Path Entry"
      msgstr ""
      
      #: ../treebrowser/src/treebrowser.c:2133
      #, fuzzy
      msgid "Rename Object"
      msgstr "文件名:"
      
      #: ../treebrowser/src/treebrowser.c:2135
      #, fuzzy
      msgid "Create New File"
      msgstr "更新文件"
      
      #: ../treebrowser/src/treebrowser.c:2137
      #, fuzzy
      msgid "Create New Directory"
      msgstr "恢复根目录"
      
      #: ../updatechecker/src/updatechecker.c:41
      #, fuzzy
      msgid "Updatechecker"
      msgstr "更新(_U)"
      
      #: ../updatechecker/src/updatechecker.c:42
      msgid "Checks whether there are updates for Geany available"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:195
      #, c-format
      msgid "There is a more recent version of Geany available: %s"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:203
      msgid "No newer Geany version available."
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:218
      #, c-format
      msgid ""
      "Unable to perform version check.\n"
      "Error code: %d \n"
      "Error message: »%s«"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:290
      msgid "Run updatecheck on startup"
      msgstr ""
      
      #: ../updatechecker/src/updatechecker.c:333
      msgid "Check for Updates"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:15
      msgid "message-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:16
      #, fuzzy
      msgid "sidebar"
      msgstr "隐藏侧栏(_I)"
      
      #: ../webhelper/src/gwh-enum-types.c:17
      msgid "separate-window"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:32
      msgid "none"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:33
      msgid "on-connexion"
      msgstr ""
      
      #: ../webhelper/src/gwh-enum-types.c:48
      #, fuzzy
      msgid "normal"
      msgstr "格式(_F)"
      
      #: ../webhelper/src/gwh-enum-types.c:49
      msgid "utility"
      msgstr ""
      
      #: ../webhelper/src/gwh-settings.c:804
      #, c-format
      msgid "%s:"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:474
      #, fuzzy
      msgid "Bookmark this website"
      msgstr "焦点书签列表"
      
      #: ../webhelper/src/gwh-browser.c:645
      msgid "_Zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:667
      msgid "Full-_content zoom"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:678
      #, fuzzy
      msgid "Flip panes orientation"
      msgstr "简报"
      
      #: ../webhelper/src/gwh-browser.c:950
      msgid "Back"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:954
      msgid "Forward"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:958
      #, fuzzy
      msgid "Cancel loading"
      msgstr "编码:"
      
      #: ../webhelper/src/gwh-browser.c:962
      msgid "Reload current page"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:978
      msgid "Website information and settings"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:987 ../webhelper/src/gwh-browser.c:1037
      msgid "Web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-browser.c:988
      msgid "Toggle web inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:50
      msgid "Web helper"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:51
      msgid ""
      "Display a preview web page that gets updated upon document saving and "
      "provide web analysis and debugging tools (aka Web Inspector), all using "
      "WebKit."
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:141
      msgid "Web view"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:186
      msgid "Web preview"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:265
      msgid "Reload upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:317
      msgid "Browser auto reload"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:318
      msgid "Whether the browser reloads itself upon document saving"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:323
      msgid "Browser last URI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:324
      msgid "Last URI visited by the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:330
      #, fuzzy
      msgid "List of bookmarks"
      msgstr "书签"
      
      #: ../webhelper/src/gwh-plugin.c:335
      #, fuzzy
      msgid "Browser orientation"
      msgstr "简报"
      
      #: ../webhelper/src/gwh-plugin.c:336
      #, fuzzy
      msgid "Orientation of the browser widget"
      msgstr "交叉引用条目中的引用键"
      
      #: ../webhelper/src/gwh-plugin.c:342
      msgid "Browser position"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:343
      msgid "Position of the browser widget in Geany's UI"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:349
      msgid "Browser separate window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:350
      msgid "Last geometry of the separated browser's window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:355
      msgid "Inspector window geometry"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:356
      msgid "Last geometry of the inspector window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:361
      msgid "Inspector detached"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:362
      msgid "Whether the inspector is in a separate window or docked in the browser"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:367
      msgid "Secondary windows skip task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:368
      msgid ""
      "Whether to tell the window manager not to show the secondary windows in the "
      "task bar"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:373
      msgid "Secondary windows are transient"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:374
      msgid "Whether secondary windows are transient children of their parent"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:379
      msgid "Secondary windows type"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:380
      msgid "The type of the secondary windows"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:456
      msgid "Toggle Web Inspector"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:461
      msgid "Show/Hide Web View's Window"
      msgstr ""
      
      #: ../webhelper/src/gwh-plugin.c:464
      msgid "Toggle bookmark for the current website"
      msgstr ""
      
      #. Browser
      #: ../webhelper/src/gwh-plugin.c:530
      #, fuzzy
      msgid "Browser"
      msgstr "浏览..."
      
      #. Windows
      #: ../webhelper/src/gwh-plugin.c:542
      msgid "Windows"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:45
      msgid "XML Snippets"
      msgstr ""
      
      #: ../xmlsnippets/src/plugin.c:46
      msgid "Autocompletes XML/HTML tags using snippets."
      msgstr ""
      
      #, fuzzy
      #~ msgid "Program received a signal"
      #~ msgstr "程序收到信号:"
      
      #~ msgid "Plugin to provide better LaTeX support"
      #~ msgstr "提供更好的 LaTeX 支持的插件"
      
      #~ msgid ""
      #~ "Error while setting up language for spellchecking. Please check "
      #~ "configuration. Error message was: %s"
      #~ msgstr "为拼写检查设置语言时出现错误。请检查设置。错误信息:%s"
      
      #, fuzzy
      #~ msgid "Find Project Tag..."
      #~ msgstr "在项目中查找"
      
      #, fuzzy
      #~ msgid "Find project tag"
      #~ msgstr "选择文件"
      
      #~ msgid ""
      #~ "This plugin adds features to facilitate navigation between source files.\n"
      #~ "As for the moment, it implements :\n"
      #~ "- switching between a .cpp file and the corresponding .h file\n"
      #~ "- [opening a file by typing its name -> TODO]"
      #~ msgstr ""
      #~ "这个插件增加了在源文件之间跳转的功能。\n"
      #~ "目前已实现:\n"
      #~ "- 在一个 .cpp 文件和相关的 .h 文件之间切换\n"
      #~ "- [输入文件名来打开一个文件 -> TODO]"
      
      #~ msgid "Goto file"
      #~ msgstr "转到文件"
      
      #~ msgid "(From the %s plugin)"
      #~ msgstr "(来自 %s 插件)"
      
      #, fuzzy
      #~ msgid "GProject"
      #~ msgstr "项目"
      
      #, fuzzy
      #~ msgid "No update available"
      #~ msgstr "没有可用的历史"
      
      #~ msgid "Added breakpoint #%s in %s() at %s:%s\n"
      #~ msgstr "已于 %3$s:%4$s 在 %2$s() 中增加断点 #%1$s\n"
      
      #~ msgid "Added breakpoint #%s at %s:%s\n"
      #~ msgstr "已于 %2$s:%3$s 增加断点 #%1$s\n"
      
      #~ msgid "Added write watchpoint #%s for %s\n"
      #~ msgstr "已为 %2$s 增加写观察点 #%1$s\n"
      
      #~ msgid "Added read/write watchpoint #%s for %s\n"
      #~ msgstr "已为 %2$s 增加读/写观察点 #%1$s\n"
      
      #~ msgid "Added read watchpoint #%s for %s\n"
      #~ msgstr "已为 %2$s 增加读观察点 #%1$s\n"
      
      #~ msgid "Watch/breakpoint deleted.\n"
      #~ msgstr "观察点/断点已删除。\n"
      
      #~ msgid "Failed to toggle breakpoint -\n"
      #~ msgstr "开关断点失败 -\n"
      
      #~ msgid "Watch/breakpoint toggled.\n"
      #~ msgstr "观察点/断点已切换。\n"
      
      #~ msgid "Watch/breakpoint modified.\n"
      #~ msgstr "观察点/断点已更改。\n"
      
      #~ msgid "Failed to retrieve source search path setting from GDB."
      #~ msgstr "取回 GDB 源文件搜索路径设置失败。"
      
      #~ msgid "Failed to retrieve executable search path setting from GDB."
      #~ msgstr "取回 GDB 可执行文件搜索路径设置失败。"
      
      #~ msgid "Field list too long, not all items can be displayed.\n"
      #~ msgstr "字段列表太长,无法显示所有项。\n"
      
      #~ msgid "Error starting target process!\n"
      #~ msgstr "启动目标进程错误!\n"
      
      #~ msgid ""
      #~ "This executable does not appear to contain the required debugging "
      #~ "information."
      #~ msgstr "这个可执行文件看起来没有包含必需的调试信息。"
      
      #~ msgid "Program received signal %s (%s) at %s in function %s() at %s:%s"
      #~ msgstr ""
      #~ "程序于 %5$s:%6$s 在 %4$s() 函数 中的 %3$s 接收到一个信号 %1$s(%2$s)"
      
      #~ msgid "Program exited on signal %s (%s).\n"
      #~ msgstr "程序已退出,信号 %s(%s)。\n"
      
      #~ msgid "Unknown signal"
      #~ msgstr "未知信号"
      
      #~ msgid "Program exited with code %d [%s]\n"
      #~ msgstr "程序退出,代码 %d [%s]\n"
      
      #~ msgid "(unknown)"
      #~ msgstr "(未知)"
      
      #~ msgid "Program exited normally.\n"
      #~ msgstr "程序正常退出。\n"
      
      #~ msgid "tty temporary directory not specified!\n"
      #~ msgstr "未指定 tty 临时目录!\n"
      
      #~ msgid "tty helper program not specified!\n"
      #~ msgstr "未指定 tty helper program!\n"
      
      #~ msgid "tty helper program not found!\n"
      #~ msgstr "未找到 tty helper program!\n"
      
      #~ msgid "Attaching to terminal %s\n"
      #~ msgstr "附加到终端 %s\n"
      
      #~ msgid "Timeout waiting for TTY name.\n"
      #~ msgstr "等待 TTY 名称超时。\n"
      
      #~ msgid "GDB exited (pid=%d)\n"
      #~ msgstr "GDB已退出(pid=%d)\n"
      
      #~ msgid "Target process exited. (pid=%d; %s%s)\n"
      #~ msgstr "目标进程已退出。(pid=%d; %s%s)\n"
      
      #~ msgid "code="
      #~ msgstr "代码="
      
      #~ msgid "reason:"
      #~ msgstr "原因:"
      
      #~ msgid "Shutting down target program.\n"
      #~ msgstr "正在结束目标程序。\n"
      
      #~ msgid "Killing target program.\n"
      #~ msgstr "正在杀死目标程序。\n"
      
      #~ msgid "Timeout waiting for target process.\n"
      #~ msgstr "等待目标进程超时。\n"
      
      #, fuzzy
      #~ msgid "Using a bigger hammer!\n"
      #~ msgstr "使用大铁锤!\n"
      
      #~ msgid "Waiting for target process to exit.\n"
      #~ msgstr "等待目标进程退出。\n"
      
      #~ msgid "Killing GDB (pid=%d)\n"
      #~ msgstr "正在杀死GDB(pid = %d)\n"
      
      #~ msgid "Timeout trying to kill GDB.\n"
      #~ msgstr "尝试杀死GDB超时。\n"
      
      #~ msgid "Shutting down GDB\n"
      #~ msgstr "正在结束GDB\n"
      
      #~ msgid "Waiting for GDB to exit.\n"
      #~ msgstr "等待GDB退出。\n"
      
      #~ msgid "Timeout waiting for GDB to exit.\n"
      #~ msgstr "等待GDB退出超时。\n"
      
      #~ msgid "Starting gdb (pid=%d)\n"
      #~ msgstr "正在启动GDB(pid = %d)\n"
      
      #~ msgid "Started target process. (pid=%d)\n"
      #~ msgstr "目标进程已启动。(pid = %d)\n"
      
      #~ msgid "No %s selected"
      #~ msgstr "未选择任何 %s"
      
      #~ msgid "Delete selected watchpoint?"
      #~ msgstr "删除选定的观察点?"
      
      #~ msgid "Delete selected breakpoint?"
      #~ msgstr "删除选定的断点?"
      
      #~ msgid "Enabled"
      #~ msgstr "已启用"
      
      #, fuzzy
      #~ msgid "Break after "
      #~ msgstr " 之后停止 "
      
      #, fuzzy
      #~ msgid " times."
      #~ msgstr " 次。"
      
      #, fuzzy
      #~ msgid "Break when "
      #~ msgstr " 时停止 "
      
      #, fuzzy
      #~ msgid " is true."
      #~ msgstr " 为真。"
      
      #~ msgid "Watchpoints"
      #~ msgstr "观察点"
      
      #~ msgid "Environment settings"
      #~ msgstr "环境设置"
      
      #~ msgid ""
      #~ "\n"
      #~ " Command-line arguments passed to target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " 命令行参数已传给目标程序:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for source files:"
      #~ msgstr ""
      #~ "\n"
      #~ " 源文件搜索路径:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Working directory for target program:"
      #~ msgstr ""
      #~ "\n"
      #~ " 目标程序工作目录:"
      
      #~ msgid ""
      #~ "\n"
      #~ " Search path for executables:"
      #~ msgstr ""
      #~ "\n"
      #~ " 可执行文件搜索路径:"
      
      #~ msgid "Keep debug window on top."
      #~ msgstr "保持 debug 窗口置顶。"
      
      #~ msgid "Show icons."
      #~ msgstr "显示图标。"
      
      #~ msgid "Font for source code listings:"
      #~ msgstr "源码列表字体:"
      
      #~ msgid "Terminal program:"
      #~ msgstr "终端程序:"
      
      #~ msgid "_Examine"
      #~ msgstr "检查(_E)"
      
      #~ msgid "Elements"
      #~ msgstr "元素"
      
      #~ msgid "Fields"
      #~ msgstr "字段"
      
      #~ msgid "Return to previous dialog."
      #~ msgstr "返回上一个对话框。"
      
      #~ msgid "Display additional information about the selected item."
      #~ msgstr "显示选定项的更多信息。"
      
      #, fuzzy
      #~ msgid ""
      #~ "\n"
      #~ "Frame #%s in %s() at %s:%s\n"
      #~ msgstr ""
      #~ "\n"
      #~ "帧 #%s 在 %s() 中 于 %s: %s\n"
      
      #~ msgid "Function arguments"
      #~ msgstr "函数参数"
      
      #~ msgid "Local variables"
      #~ msgstr "本地变量"
      
      #~ msgid "Return to stack list dialog."
      #~ msgstr "返回堆栈列表对话框。"
      
      #~ msgid "Stack trace"
      #~ msgstr "堆栈跟踪"
      
      #~ msgid "Display additional information about the selected frame."
      #~ msgstr "显示选定帧的附加信息。"
      
      #~ msgid "Clea_r"
      #~ msgstr "清除(_R)"
      
      #~ msgid "Filename: "
      #~ msgstr "文件名:"
      
      #~ msgid "Variable to watch:"
      #~ msgstr "观察的变量:"
      
      #~ msgid "Line number or function name: "
      #~ msgstr "行号或函数名:"
      
      #~ msgid "Access trigger:"
      #~ msgstr "访问触发器"
      
      #~ msgid "(no program)"
      #~ msgstr "(无程序)"
      
      #~ msgid "loaded"
      #~ msgstr "已加载"
      
      #~ msgid "starting"
      #~ msgstr "正在启动"
      
      #~ msgid "paused"
      #~ msgstr "暂停"
      
      #~ msgid "Error:"
      #~ msgstr "错误:"
      
      #~ msgid "Select executable to debug"
      #~ msgstr "选择要调试的可执行文件"
      
      #~ msgid "Debugging of object files is not supported."
      #~ msgstr "不支持调试目标文件。"
      
      #~ msgid "You don't have permission to execute this file."
      #~ msgstr "您没有执行这个文件的权限。"
      
      #~ msgid "Debugging of shared libraries is not supported."
      #~ msgstr "不支持调试共享库。"
      
      #~ msgid "Debugging of core files id not supported."
      #~ msgstr "不支持调试核心文件(core file)。"
      
      #~ msgid "Target file must be ELF 32-bit x86 executable."
      #~ msgstr "目标文件必须是 ELF 32位 x86 可执行文件。"
      
      #~ msgid "You don't have permission to read this file."
      #~ msgstr "您没有读这个文件的权限"
      
      #~ msgid "Run to location"
      #~ msgstr "运行到位置"
      
      #~ msgid "Execute target program inside a terminal window."
      #~ msgstr "在一个终端窗口中运行目标程序。"
      
      #~ msgid "Ignore SIGPIPE"
      #~ msgstr "忽略 SIGPIPE"
      
      #~ msgid ""
      #~ "Don't pause execution when target gets a SIGPIPE signal.\n"
      #~ "(Useful for certain networking applications.)"
      #~ msgstr ""
      #~ "当目标程序接收到 SIGPIPE 信号时不要暂停执行。\n"
      #~ "(对一些网络应用程序有用)"
      
      #~ msgid "Send a GDB command directly to the debugger."
      #~ msgstr "向调试器直接发送一条 GDB 命令。"
      
      #~ msgid "_Quit"
      #~ msgstr "退出(_Q)"
      
      #~ msgid "Exit everything"
      #~ msgstr "退出所有"
      
      #~ msgid "Integrated debugging with GDB."
      #~ msgstr "集成 GDB 调试。"
      
      #~ msgid "Plugin configuration directory (%s) could not be created."
      #~ msgstr "无法创建插件配置文件目录(%s)。"
      
      #~ msgid "geanygdb: ttyhelper program not found."
      #~ msgstr "geanygdb:未找到 ttyhelper program。"
      
      #, fuzzy
      #~ msgid "Error reading config file"
      #~ msgstr "显示当前文件日志"
      
      #, fuzzy
      #~ msgid "Couldn't create tempfile"
      #~ msgstr "更新文件"
      
      #~ msgid "Lionel Fuentes"
      #~ msgstr "Lionel Fuentes"
      
      #~ msgid "Yura Siamshka "
      #~ msgstr "Yura Siamshka "
      
      #, fuzzy
      #~ msgid "Jeff Pohlmeyer, Dominic Hopf"
      #~ msgstr "Jeff Pohlmeyer"
      
      #~ msgid ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      #~ msgstr ""
      #~ "Yura Siamashka ,\n"
      #~ "Frank Lanitz "
      
      #~ msgid "Yura Siamashka "
      #~ msgstr "Yura Siamashka "
      
      #~ msgid "goto_file"
      #~ msgstr "goto_file"
      
      #~ msgid "switch_head_impl"
      #~ msgstr "switch_head_impl"
      
      #~ msgid "Booklet"
      #~ msgstr "Booklet"
      
      #~ msgid "Conference"
      #~ msgstr "Conference"
      
      #~ msgid "Inbook"
      #~ msgstr "Inbook"
      
      #~ msgid "PhdThesis"
      #~ msgstr "PhdThesis"
      
      #~ msgid "Proceedings"
      #~ msgstr "Proceedings"
      
      #~ msgid "Techreport"
      #~ msgstr "Techreport"
      
      #~ msgid "Unpublished"
      #~ msgstr "Unpublished"
      
      #~ msgid "Showing icon in toolbar"
      #~ msgstr "在工具栏上显示图标"
      
      #~ msgid "The Geany developer team"
      #~ msgstr "Geany 开发团队"
      
      #, fuzzy
      #~ msgid "Directory '%s' not exists."
      #~ msgstr "未找到字典 %s!\n"
      
      #~ msgid "Load target program into debugger."
      #~ msgstr "加载目标程序到调试器。"
      
      #~ msgid "Kill the target program AND the debugger."
      #~ msgstr "杀死目标程序和调试器。"
      
      #~ msgid "Execute target program in debugger."
      #~ msgstr "在调试器中执行目标程序。"
      
      #~ msgid "_Kill"
      #~ msgstr "杀死(_K)"
      
      #~ msgid "Kill the target program with SIGKILL."
      #~ msgstr "使用 SIGKILL 杀死目标程序。"
      
      #~ msgid "Pause the target program with SIGINT."
      #~ msgstr "使用 SIGINT 暂停目标程序。"
      
      #~ msgid "Continue executing target program."
      #~ msgstr "继续执行目标程序"
      
      #~ msgid "Step to the next line or function call."
      #~ msgstr "单步进入下一行或函数调用。"
      
      #~ msgid "Execute the next machine instruction or function call."
      #~ msgstr "执行下一个机器指令或函数调用。"
      
      #~ msgid "Ne_xt in"
      #~ msgstr "单步(_X)"
      
      #~ msgid "Execute the next machine instruction."
      #~ msgstr "执行下一个机器指令。"
      
      #~ msgid "Run _to"
      #~ msgstr "运行到(_T)"
      
      #~ msgid "Run to specified source line."
      #~ msgstr "运行到指定的源码行。"
      
      #~ msgid "Display a backtrace of the current call stack."
      #~ msgstr "显示当前调用的堆栈的回溯。"
      
      #~ msgid "Add or remove watchpoints."
      #~ msgstr "添加/删除观察点。"
      
      #~ msgid "_Finish"
      #~ msgstr "完成(_F)"
      
      #~ msgid "_Return"
      #~ msgstr "返回(_R)"
      
      #~ msgid "Return immediately from the current function."
      #~ msgstr "立即从当前函数返回。"
      
      #~ msgid "En_viron"
      #~ msgstr "环境(_V)"
      
      #~ msgid "Set target environment and command line options."
      #~ msgstr "设置目标环境和命令行选项。"
      
      #~ msgid "Set user interface options."
      #~ msgstr "设置用户界面选项。"
      
      #~ msgid "VC"
      #~ msgstr "VC"
      geany-plugins-1.27/build/0000755000175000017500000000000012671261441015616 5ustar00frlanfrlan00000000000000geany-plugins-1.27/build/commander.m40000644000175000017500000000054012671261352020025 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_COMMANDER],
      [
          GP_ARG_DISABLE([Commander], [auto])
      
          GP_CHECK_PLUGIN_DEPS([Commander], [COMMANDER],
                               [$GP_GTK_PACKAGE >= 2.16
                                glib-2.0 >= 2.4])
      
          GP_COMMIT_PLUGIN_STATUS([Commander])
      
          AC_CONFIG_FILES([
              commander/Makefile
              commander/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/debugger.m40000644000175000017500000000062212671261352017645 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_DEBUGGER],
      [
          GP_ARG_DISABLE([Debugger], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([Debugger])
          GP_CHECK_PLUGIN_DEPS([debugger], [VTE],
                               [vte >= 0.24])
          AC_CHECK_HEADERS([util.h pty.h libutil.h])
          GP_COMMIT_PLUGIN_STATUS([Debugger])
          AC_CONFIG_FILES([
              debugger/Makefile
              debugger/src/Makefile
              debugger/img/Makefile
          ])
      ])
      geany-plugins-1.27/build/unittests.m40000644000175000017500000000046212671261352020125 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_UNITTESTS],
      [
          gp_have_unittests=no
          PKG_CHECK_MODULES([CHECK], [check >= $1],
                  [AM_CONDITIONAL(UNITTESTS, true)
                   gp_have_unittests=yes],
                  [AM_CONDITIONAL(UNITTESTS, false)])
          GP_STATUS_BUILD_FEATURE_ADD([Unit tests], [$gp_have_unittests])
      ])
      
      geany-plugins-1.27/build/geanyprj.m40000644000175000017500000000036112671261352017700 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYPRJ],
      [
          GP_ARG_DISABLE([GeanyPrj], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([GeanyPrj])
          GP_COMMIT_PLUGIN_STATUS([GeanyPrj])
          AC_CONFIG_FILES([
              geanyprj/Makefile
              geanyprj/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/devhelp.m40000644000175000017500000000144112671261352017510 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_DEVHELP],
      [
          GP_ARG_DISABLE([devhelp], [auto])
      
          GTK_VERSION=2.16
          WEBKIT_VERSION=1.1.13
          GCONF_VERSION=2.6.0
          LIBWNCK_VERSION=2.10.0
      
          AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
          AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
      
          GP_CHECK_PLUGIN_DEPS([devhelp], [DEVHELP],
                               [gtk+-2.0 >= ${GTK_VERSION}
                                webkit-1.0 >= ${WEBKIT_VERSION}
                                libwnck-1.0 >= ${LIBWNCK_VERSION}
                                gconf-2.0 >= ${GCONF_VERSION}
                                gthread-2.0
                                zlib])
      
          GP_COMMIT_PLUGIN_STATUS([DevHelp])
      
          AC_CONFIG_FILES([
              devhelp/Makefile
              devhelp/devhelp/Makefile
              devhelp/src/Makefile
              devhelp/data/Makefile
          ])
      ])
      geany-plugins-1.27/build/markdown.m40000644000175000017500000000510212671261352017701 0ustar00frlanfrlan00000000000000dnl _CHECK_LIBMARKDOWN([action-if-found], [action-if-not-found])
      dnl Searches for libmarkdown and define HAVE_MKDIO_H, LIBMARKDOWN_LIBS and
      dnl LIBMARKDOWN_CFLAGS
      AC_DEFUN([_CHECK_LIBMARKDOWN],
      [
          old_LIBS=$LIBS
          LIBS=
          LIBMARKDOWN_LIBS=
          LIBMARKDOWN_CFLAGS=
          AC_SEARCH_LIBS([mkd_compile], [markdown],
                         [AC_CHECK_HEADERS([mkdio.h],
                                           [LIBMARKDOWN_LIBS=$LIBS
                                            LIBMARKDOWN_CFLAGS=
                                            $1],
                                           [$2])],
                         [$2])
          AC_SUBST([LIBMARKDOWN_CFLAGS])
          AC_SUBST([LIBMARKDOWN_LIBS])
          LIBS=$old_LIBS
      ])
      
      AC_DEFUN([GP_CHECK_MARKDOWN],
      [
          GP_ARG_DISABLE([markdown], [auto])
          AC_ARG_ENABLE([peg-markdown],
                        [AS_HELP_STRING([--enable-peg-markdown],
                                        [Whether to use Peg-Markdown library [[default=auto]]])],
                        [enable_peg_markdown=$enableval],
                        [enable_peg_markdown=auto])
      
          dnl check which markdown library to use
          AS_IF([test "x$enable_markdown" != xno &&
                 test "x$enable_peg_markdown" != xyes],
                [_CHECK_LIBMARKDOWN([enable_peg_markdown=no],
                                    [AS_IF([test "x$enable_peg_markdown" != xno],
                                           [enable_peg_markdown=yes],
                                           [test "x$enable_markdown" = xyes],
                                           [AC_MSG_ERROR([libmarkdown not found])],
                                           [enable_markdown=no
                                            AC_MSG_WARN([libmarkdown not found, disabling Markdown plugin])])])])
          AM_CONDITIONAL([MARKDOWN_PEG_MARKDOWN],
                         [test "x$enable_peg_markdown" = xyes])
          dnl fancy status
          AS_IF([test "x$enable_peg_markdown" = xyes],
                [markdown_library=peg-markdown],
                [markdown_library=libmarkdown])
          GP_STATUS_FEATURE_ADD([Markdown library], [$markdown_library])
      
          GTK_VERSION=2.16
          WEBKIT_VERSION=1.1.13
      
          GP_CHECK_GTK3([webkit_package=webkitgtk-3.0],
                        [webkit_package=webkit-1.0])
      
          GP_CHECK_PLUGIN_DEPS([markdown], [MARKDOWN],
                               [$GP_GTK_PACKAGE >= ${GTK_VERSION}
                                $webkit_package >= ${WEBKIT_VERSION}
                                gthread-2.0])
      
          GP_COMMIT_PLUGIN_STATUS([Markdown])
      
          AC_CONFIG_FILES([
              markdown/Makefile
              markdown/src/Makefile
              markdown/docs/Makefile
              markdown/peg-markdown/Makefile
              markdown/peg-markdown/peg-0.1.9/Makefile
          ])
      ])
      geany-plugins-1.27/build/pairtaghighlighter.m40000644000175000017500000000037112671261352021730 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_PAIRTAGHIGHLIGHTER],
      [
          GP_ARG_DISABLE([PairTagHighlighter], [auto])
          GP_COMMIT_PLUGIN_STATUS([PairTagHighlighter])
          AC_CONFIG_FILES([
              pairtaghighlighter/Makefile
              pairtaghighlighter/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanyctags.m40000644000175000017500000000032112671261352020202 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYCTAGS],
      [
          GP_ARG_DISABLE([GeanyCtags], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyCtags])
          AC_CONFIG_FILES([
              geanyctags/Makefile
              geanyctags/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/vars.docs.mk0000644000175000017500000000025512671261352020054 0ustar00frlanfrlan00000000000000plugindocdir = $(docdir)/$(plugin)
      htmldocdir = $(plugindocdir)
      plugindatadir = $(pkgdatadir)/$(plugin)
      pluginlibdir = $(pkglibdir)/$(plugin)
      examplesdir = $(plugindatadir)
      geany-plugins-1.27/build/vars.auxfiles.mk0000644000175000017500000000022212671261352020736 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.docs.mk
      
      dist_plugindoc_DATA = \
      	README \
      	ChangeLog \
      	NEWS \
      	COPYING \
      	AUTHORS \
      	$(AUXFILES)
      
      EXTRA_DIST =
      geany-plugins-1.27/build/geanyminiscript.m40000644000175000017500000000035212671261352021266 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYMINISCRIPT],
      [
          GP_ARG_DISABLE([GeanyMiniScript], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyMiniScript])
          AC_CONFIG_FILES([
              geanyminiscript/Makefile
              geanyminiscript/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanyvc.m40000644000175000017500000000211412671261352017513 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYVC],
      [
          GP_ARG_DISABLE([GeanyVC], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyVC])
          AC_ARG_ENABLE(gtkspell,
              AC_HELP_STRING([--enable-gtkspell=ARG],
                  [Enable GtkSpell support in GeanyVC. [[default=auto]]]),,
              enable_gtkspell=auto)
          GP_CHECK_GTK3([gtkspell_package=gtkspell3-3.0],
                        [gtkspell_package=gtkspell-2.0])
          if [[ x"$enable_gtkspell" = "xauto" ]]; then
              PKG_CHECK_MODULES(GTKSPELL, $gtkspell_package,
                  enable_gtkspell=yes, enable_gtkspell=no)
          elif [[ x"$enable_gtkspell" = "xyes" ]]; then
              PKG_CHECK_MODULES(GTKSPELL, [$gtkspell_package])
          fi
          if [[ x"$enable_gtkspell" = "xyes" ]]; then
              AC_DEFINE(USE_GTKSPELL, 1, [GtkSpell support])
          fi
      
          if [[ "$enable_gtkspell" = yes -a "$enable_geanyvc" = no ]]; then
             AC_MSG_WARN([GtkSpell support for GeanyVC enabled, but GeanyVC itself not enabled.])
          fi
      
          GP_STATUS_FEATURE_ADD([GeanyVC GtkSpell support], [$enable_gtkspell])
      
          AC_CONFIG_FILES([
              geanyvc/Makefile
              geanyvc/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/lineoperations.m40000644000175000017500000000034512671261352021116 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_LINEOPERATIONS],
      [
          GP_ARG_DISABLE([LineOperations], [auto])
          GP_COMMIT_PLUGIN_STATUS([LineOperations])
          AC_CONFIG_FILES([
              lineoperations/Makefile
              lineoperations/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanypy.m40000644000175000017500000000312112671261352017532 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYPY],
      [
          GP_ARG_DISABLE([Geanypy], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([Geanypy])
          GP_CHECK_PLUGIN_DEPS([Geanypy], [PYGTK], [pygtk-2.0])
          GP_CHECK_PLUGIN_DEPS([Geanypy], [GMODULE], [gmodule-2.0])
          dnl FIXME: Checks for Python below should gracefully disable the plugin
          dnl        if they don't succeed and enable_geanypy is set to `auto`.
          dnl        However, since these macros don't seem to gracefully handle
          dnl        failure, and since if PyGTK is found they are likely to succeed
          dnl        anyway, we assume that if the plugin is not disabled at this
          dnl        point it is OK for these checks to be fatal.  The user can pass
          dnl        always pass --disable-geanypy anyway.
          AS_IF([! test x$enable_geanypy = xno], [
              AX_PYTHON_DEVEL([>= '2.6'])
              AX_PYTHON_LIBRARY(,[AC_MSG_ERROR([Cannot find Python library])])
              AC_SUBST([PYTHON])
              AC_DEFINE_UNQUOTED([GEANYPY_PYTHON_LIBRARY],
                                 ["$PYTHON_LIBRARY"],
                                 [Location of Python library to dlopen()])
      
              dnl check for C flags we wish to use
              GEANYPY_CFLAGS=
              for flag in -fno-strict-aliasing \
                          -Wno-write-strings \
                          -Wno-long-long
              do
                  GP_CHECK_CFLAG([$flag], [GEANYPY_CFLAGS="${GEANYPY_CFLAGS} $flag"])
              done
              AC_SUBST([GEANYPY_CFLAGS])
          ])
          GP_COMMIT_PLUGIN_STATUS([Geanypy])
          AC_CONFIG_FILES([
              geanypy/Makefile
              geanypy/src/Makefile
              geanypy/geany/Makefile
              geanypy/plugins/Makefile
          ])
      ])
      geany-plugins-1.27/build/automark.m40000644000175000017500000000045312671261352017706 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_AUTOMARK],
      [
          GP_ARG_DISABLE([Automark], [auto])
          GP_CHECK_PLUGIN_DEPS([Automark], [AUTOMARK],
                               [$GP_GTK_PACKAGE >= 2.8])
          GP_COMMIT_PLUGIN_STATUS([Automark])
          AC_CONFIG_FILES([
              automark/Makefile
              automark/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/bundled/0000755000175000017500000000000012671261441017233 5ustar00frlanfrlan00000000000000geany-plugins-1.27/build/bundled/gpgme.m40000644000175000017500000002406412671261352020603 0ustar00frlanfrlan00000000000000# gpgme.m4 - autoconf macro to detect GPGME.
      # Copyright (C) 2002, 2003, 2004 g10 Code GmbH
      #
      # This file is free software; as a special exception the author gives
      # unlimited permission to copy and/or distribute it, with or without
      # modifications, as long as this notice is preserved.
      #
      # This file is distributed in the hope that it will be useful, but
      # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
      # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
      
      
      AC_DEFUN([_AM_PATH_GPGME_CONFIG],
      [ AC_ARG_WITH(gpgme-prefix,
                  AC_HELP_STRING([--with-gpgme-prefix=PFX],
                                 [prefix where GPGME is installed (optional)]),
           gpgme_config_prefix="$withval", gpgme_config_prefix="")
        if test "x$gpgme_config_prefix" != x ; then
            GPGME_CONFIG="$gpgme_config_prefix/bin/gpgme-config"
        fi
        AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no)
      
        if test "$GPGME_CONFIG" != "no" ; then
          gpgme_version=`$GPGME_CONFIG --version`
        fi
        gpgme_version_major=`echo $gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
        gpgme_version_minor=`echo $gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
        gpgme_version_micro=`echo $gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
      ])
      
      dnl AM_PATH_GPGME([MINIMUM-VERSION,
      dnl               [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
      dnl Test for libgpgme and define GPGME_CFLAGS and GPGME_LIBS.
      dnl
      AC_DEFUN([AM_PATH_GPGME],
      [ AC_REQUIRE([_AM_PATH_GPGME_CONFIG])dnl
        tmp=ifelse([$1], ,1:0.4.2,$1)
        if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
           req_gpgme_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
           min_gpgme_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
        else
           req_gpgme_api=0
           min_gpgme_version="$tmp"
        fi
      
        AC_MSG_CHECKING(for GPGME - version >= $min_gpgme_version)
        ok=no
        if test "$GPGME_CONFIG" != "no" ; then
          req_major=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
          req_minor=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
          req_micro=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
          if test "$gpgme_version_major" -gt "$req_major"; then
              ok=yes
          else 
              if test "$gpgme_version_major" -eq "$req_major"; then
                  if test "$gpgme_version_minor" -gt "$req_minor"; then
                     ok=yes
                  else
                     if test "$gpgme_version_minor" -eq "$req_minor"; then
                         if test "$gpgme_version_micro" -ge "$req_micro"; then
                           ok=yes
                         fi
                     fi
                  fi
              fi
          fi
        fi
        if test $ok = yes; then
           # If we have a recent GPGME, we should also check that the
           # API is compatible.
           if test "$req_gpgme_api" -gt 0 ; then
              tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
              if test "$tmp" -gt 0 ; then
                 if test "$req_gpgme_api" -ne "$tmp" ; then
                   ok=no
                 fi
              fi
           fi
        fi
        if test $ok = yes; then
          GPGME_CFLAGS=`$GPGME_CONFIG --cflags`
          GPGME_LIBS=`$GPGME_CONFIG --libs`
          AC_MSG_RESULT(yes)
          ifelse([$2], , :, [$2])
        else
          GPGME_CFLAGS=""
          GPGME_LIBS=""
          AC_MSG_RESULT(no)
          ifelse([$3], , :, [$3])
        fi
        AC_SUBST(GPGME_CFLAGS)
        AC_SUBST(GPGME_LIBS)
      ])
      
      dnl AM_PATH_GPGME_PTH([MINIMUM-VERSION,
      dnl                   [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
      dnl Test for libgpgme and define GPGME_PTH_CFLAGS and GPGME_PTH_LIBS.
      dnl
      AC_DEFUN([AM_PATH_GPGME_PTH],
      [ AC_REQUIRE([_AM_PATH_GPGME_CONFIG])dnl
        tmp=ifelse([$1], ,1:0.4.2,$1)
        if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
           req_gpgme_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
           min_gpgme_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
        else
           req_gpgme_api=0
           min_gpgme_version="$tmp"
        fi
      
        AC_MSG_CHECKING(for GPGME Pth - version >= $min_gpgme_version)
        ok=no
        if test "$GPGME_CONFIG" != "no" ; then
          if `$GPGME_CONFIG --thread=pth 2> /dev/null` ; then
            req_major=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
            req_minor=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
            req_micro=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
            if test "$gpgme_version_major" -gt "$req_major"; then
              ok=yes
            else 
              if test "$gpgme_version_major" -eq "$req_major"; then
                if test "$gpgme_version_minor" -gt "$req_minor"; then
                  ok=yes
                else
                  if test "$gpgme_version_minor" -eq "$req_minor"; then
                    if test "$gpgme_version_micro" -ge "$req_micro"; then
                      ok=yes
                    fi
                  fi
                fi
              fi
            fi
          fi
        fi
        if test $ok = yes; then
           # If we have a recent GPGME, we should also check that the
           # API is compatible.
           if test "$req_gpgme_api" -gt 0 ; then
              tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
              if test "$tmp" -gt 0 ; then
                 if test "$req_gpgme_api" -ne "$tmp" ; then
                   ok=no
                 fi
              fi
           fi
        fi
        if test $ok = yes; then
          GPGME_PTH_CFLAGS=`$GPGME_CONFIG --thread=pth --cflags`
          GPGME_PTH_LIBS=`$GPGME_CONFIG --thread=pth --libs`
          AC_MSG_RESULT(yes)
          ifelse([$2], , :, [$2])
        else
          GPGME_PTH_CFLAGS=""
          GPGME_PTH_LIBS=""
          AC_MSG_RESULT(no)
          ifelse([$3], , :, [$3])
        fi
        AC_SUBST(GPGME_PTH_CFLAGS)
        AC_SUBST(GPGME_PTH_LIBS)
      ])
      
      dnl AM_PATH_GPGME_PTHREAD([MINIMUM-VERSION,
      dnl                       [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
      dnl Test for libgpgme and define GPGME_PTHREAD_CFLAGS
      dnl  and GPGME_PTHREAD_LIBS.
      dnl
      AC_DEFUN([AM_PATH_GPGME_PTHREAD],
      [ AC_REQUIRE([_AM_PATH_GPGME_CONFIG])dnl
        tmp=ifelse([$1], ,1:0.4.2,$1)
        if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
           req_gpgme_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
           min_gpgme_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
        else
           req_gpgme_api=0
           min_gpgme_version="$tmp"
        fi
      
        AC_MSG_CHECKING(for GPGME pthread - version >= $min_gpgme_version)
        ok=no
        if test "$GPGME_CONFIG" != "no" ; then
          if `$GPGME_CONFIG --thread=pthread 2> /dev/null` ; then
            req_major=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
            req_minor=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
            req_micro=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
            if test "$gpgme_version_major" -gt "$req_major"; then
              ok=yes
            else 
              if test "$gpgme_version_major" -eq "$req_major"; then
                if test "$gpgme_version_minor" -gt "$req_minor"; then
                  ok=yes
                else
                  if test "$gpgme_version_minor" -eq "$req_minor"; then
                    if test "$gpgme_version_micro" -ge "$req_micro"; then
                      ok=yes
                    fi
                  fi
                fi
              fi
            fi
          fi
        fi
        if test $ok = yes; then
           # If we have a recent GPGME, we should also check that the
           # API is compatible.
           if test "$req_gpgme_api" -gt 0 ; then
              tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
              if test "$tmp" -gt 0 ; then
                 if test "$req_gpgme_api" -ne "$tmp" ; then
                   ok=no
                 fi
              fi
           fi
        fi
        if test $ok = yes; then
          GPGME_PTHREAD_CFLAGS=`$GPGME_CONFIG --thread=pthread --cflags`
          GPGME_PTHREAD_LIBS=`$GPGME_CONFIG --thread=pthread --libs`
          AC_MSG_RESULT(yes)
          ifelse([$2], , :, [$2])
        else
          GPGME_PTHREAD_CFLAGS=""
          GPGME_PTHREAD_LIBS=""
          AC_MSG_RESULT(no)
          ifelse([$3], , :, [$3])
        fi
        AC_SUBST(GPGME_PTHREAD_CFLAGS)
        AC_SUBST(GPGME_PTHREAD_LIBS)
      ])
      
      
      dnl AM_PATH_GPGME_GLIB([MINIMUM-VERSION,
      dnl               [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]])
      dnl Test for libgpgme-glib and define GPGME_GLIB_CFLAGS and GPGME_GLIB_LIBS.
      dnl
      AC_DEFUN([AM_PATH_GPGME_GLIB],
      [ AC_REQUIRE([_AM_PATH_GPGME_CONFIG])dnl
        tmp=ifelse([$1], ,1:0.4.2,$1)
        if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
           req_gpgme_api=`echo "$tmp"     | sed 's/\(.*\):\(.*\)/\1/'`
           min_gpgme_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
        else
           req_gpgme_api=0
           min_gpgme_version="$tmp"
        fi
      
        AC_MSG_CHECKING(for GPGME - version >= $min_gpgme_version)
        ok=no
        if test "$GPGME_CONFIG" != "no" ; then
          req_major=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
          req_minor=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
          req_micro=`echo $min_gpgme_version | \
                     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
          if test "$gpgme_version_major" -gt "$req_major"; then
              ok=yes
          else 
              if test "$gpgme_version_major" -eq "$req_major"; then
                  if test "$gpgme_version_minor" -gt "$req_minor"; then
                     ok=yes
                  else
                     if test "$gpgme_version_minor" -eq "$req_minor"; then
                         if test "$gpgme_version_micro" -ge "$req_micro"; then
                           ok=yes
                         fi
                     fi
                  fi
              fi
          fi
        fi
        if test $ok = yes; then
           # If we have a recent GPGME, we should also check that the
           # API is compatible.
           if test "$req_gpgme_api" -gt 0 ; then
              tmp=`$GPGME_CONFIG --api-version 2>/dev/null || echo 0`
              if test "$tmp" -gt 0 ; then
                 if test "$req_gpgme_api" -ne "$tmp" ; then
                   ok=no
                 fi
              fi
           fi
        fi
        if test $ok = yes; then
          GPGME_GLIB_CFLAGS=`$GPGME_CONFIG --glib --cflags`
          GPGME_GLIB_LIBS=`$GPGME_CONFIG --glib --libs`
          AC_MSG_RESULT(yes)
          ifelse([$2], , :, [$2])
        else
          GPGME_GLIB_CFLAGS=""
          GPGME_GLIB_LIBS=""
          AC_MSG_RESULT(no)
          ifelse([$3], , :, [$3])
        fi
        AC_SUBST(GPGME_GLIB_CFLAGS)
        AC_SUBST(GPGME_GLIB_LIBS)
      ])
      
      geany-plugins-1.27/build/status.m40000644000175000017500000000312412671261352017404 0ustar00frlanfrlan00000000000000dnl add plugin status message, e.g. GP_STATUS_PLUGIN_ADD(plugin,yes)
      AC_DEFUN([GP_STATUS_PLUGIN_ADD],
      [
          plugins_statusmsg="${plugins_statusmsg}$1:$2
      "
      ])
      
      dnl add feature status message, e.g. GP_STATUS_FEATURE_ADD(feature,yes)
      AC_DEFUN([GP_STATUS_FEATURE_ADD],
      [
          feature_statusmsg="${feature_statusmsg}$1:$2
      "
      ])
      
      dnl add build feature status message, e.g.
      dnl GP_STATUS_BUIL_FEATURE_ADD(build_feature,yes)
      AC_DEFUN([GP_STATUS_BUILD_FEATURE_ADD],
      [
          build_feature_statusmsg="${build_feature_statusmsg}$1:$2
      "
      ])
      
      dnl indent $1_statusmsg with RHS at col $2
      AC_DEFUN([_GP_STATUS_PRINT_INDENT_],
      [
          while read line; do
              test -z "$line" && break;
              plugin="    ${line%:*}:"
              status=${line#*:}
              printf "%-*s%s\n" "$2" "$plugin" "$status"
          done << GPEOF
      $$1_statusmsg
      GPEOF
      ])
      
      dnl print status message
      AC_DEFUN([GP_STATUS_PRINT],
      [
          GP_EXPAND_DIR(datadir)
          GP_EXPAND_DIR(libdir)
          GP_EXPAND_DIR(docdir)
      
          cat <= 2.4.0])
      
          GP_COMMIT_PLUGIN_STATUS([Updatechecker])
      
          AC_CONFIG_FILES([
              updatechecker/Makefile
              updatechecker/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/autoclose.m40000644000175000017500000000046212671261352020061 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_AUTOCLOSE],
      [
          GP_ARG_DISABLE([Autoclose], [auto])
          GP_CHECK_PLUGIN_DEPS([Autoclose], [AUTOCLOSE],
                               [$GP_GTK_PACKAGE >= 2.8])
          GP_COMMIT_PLUGIN_STATUS([Autoclose])
          AC_CONFIG_FILES([
              autoclose/Makefile
              autoclose/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/cppcheck.m40000644000175000017500000000173612671261352017650 0ustar00frlanfrlan00000000000000dnl GP_CHECK_CPPCHECK
      dnl Checks for cppcheck
      AC_DEFUN([GP_CHECK_CPPCHECK],
      [
          AC_ARG_ENABLE([cppcheck],
                        AS_HELP_STRING([--enable-cppcheck],
                                       [use cppcheck to check the source code
                                        @<:@default=auto@:>@]),
                        [enable_cppcheck="$enableval"],
                        [enable_cppcheck="auto"])
      
          gp_have_cppcheck=no
          AS_IF([test "x$enable_cppcheck" != xno],
                [AC_PATH_PROG([CPPCHECK], [cppcheck], [NONE])
                 AS_IF([test "x$CPPCHECK" != xNONE],
                       [gp_have_cppcheck=yes
                        AC_SUBST([CPPCHECK])],
                       [gp_have_cppcheck=no
                        AS_IF([test "x$enable_cppcheck" != xauto],
                              [AC_MSG_ERROR([cannot find cppcheck])])])])
          AM_CONDITIONAL([HAVE_CPPCHECK], [test "x$gp_have_cppcheck" = xyes])
          GP_STATUS_BUILD_FEATURE_ADD([Static code checking],
                                      [$gp_have_cppcheck])
      ])
      geany-plugins-1.27/build/ldflags.m40000644000175000017500000000252012671261352017474 0ustar00frlanfrlan00000000000000dnl GP_CHECK_LDFLAG(FLAG, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
      dnl Checks whether the linker understands FLAG
      AC_DEFUN([GP_CHECK_LDFLAG],
      [
          gp_check_ldflag_LDFLAGS="$LDFLAGS"
          LDFLAGS="$1"
          AC_MSG_CHECKING([whether the linker understands $LDFLAGS])
          AC_LANG_PUSH(C)
          AC_LINK_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
                         [AC_MSG_RESULT([yes])
                          $2],
                         [AC_MSG_RESULT([no])
                          $3])
          AC_LANG_POP(C)
          LDFLAGS="$gp_check_ldflag_LDFLAGS"
      ])
      
      dnl GP_CHECK_LDFLAGS
      dnl Checks for default Geany-Plugins LDFLAGS and defines GP_LDFLAGS
      AC_DEFUN([GP_CHECK_LDFLAGS],
      [
          AC_ARG_ENABLE([extra-ld-flags],
                        AS_HELP_STRING([--disable-extra-ld-flags],
                                       [Disable extra linker flags]),
                        [enable_extra_ld_flags=$enableval],
                        [enable_extra_ld_flags=yes])
      
          GP_LDFLAGS=
          AS_IF([test "x$enable_extra_ld_flags" != xno],
          [
              enable_extra_ld_flags=yes
              for flag in -Wl,-z,defs # do not allow undefined symbols in object files
              do
                  GP_CHECK_LDFLAG([$flag], [GP_LDFLAGS="${GP_LDFLAGS} $flag"])
              done
          ])
          AC_SUBST([GP_LDFLAGS])
          GP_STATUS_BUILD_FEATURE_ADD([Extra linker options],
                                      [$enable_extra_c_warnings])
      ])
      geany-plugins-1.27/build/shiftcolumn.m40000644000175000017500000000032512671261352020414 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_SHIFTCOLUMN],
      [
          GP_ARG_DISABLE([ShiftColumn], [yes])
          GP_COMMIT_PLUGIN_STATUS([ShiftColumn])
          AC_CONFIG_FILES([
              shiftcolumn/Makefile
              shiftcolumn/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanypg.m40000644000175000017500000000165412671261352017521 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYPG],
      [
          GP_ARG_DISABLE([geanypg], [auto])
          if test "$enable_geanypg" = "auto"; then
              enable_geanypg=no
              m4_ifdef([AM_PATH_GPGME], [AM_PATH_GPGME(, enable_geanypg=auto)])
          elif test "$enable_geanypg" = "yes"; then
              m4_ifdef([AM_PATH_GPGME],
                      [AM_PATH_GPGME(,, [AC_MSG_ERROR([Could not find GPGME. Please define GPGME_CFLAGS and GPGME_LIBS if it is installed.])])],
                      [AC_MSG_ERROR([Could not find GPGME. Please install it])])
      
          fi
      
          AS_IF([test "$enable_geanypg" != "no"], [
              AC_CHECK_FUNCS([fdopen],,[
                  AS_IF([test "$enable_geanypg" = "yes"],
                        [AC_MSG_ERROR([Could not find fdopen])],
                        [enable_geanypg=no])
              ])
          ])
      
          # necessary for gpgme
          AC_SYS_LARGEFILE
      
          GP_COMMIT_PLUGIN_STATUS([GeanyPG])
          AC_CONFIG_FILES([
              geanypg/Makefile
              geanypg/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/git-changebar.m40000644000175000017500000000067612671261352020565 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GITCHANGEBAR],
      [
          GP_ARG_DISABLE([GitChangeBar], [auto])
      
          GP_CHECK_PLUGIN_DEPS([GitChangeBar], [GITCHANGEBAR],
                               [$GP_GTK_PACKAGE >= 2.18
                                glib-2.0
                                libgit2 >= 0.21])
      
          GP_COMMIT_PLUGIN_STATUS([GitChangeBar])
      
          AC_CONFIG_FILES([
              git-changebar/Makefile
              git-changebar/data/Makefile
              git-changebar/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/common.m40000644000175000017500000000545412671261352017361 0ustar00frlanfrlan00000000000000dnl _GP_ARG_DISABLE_ALL
      dnl Adds the --disable-all-plugins option
      dnl Sets gp_enable_all=[$enableval|auto]
      AC_DEFUN([_GP_ARG_DISABLE_ALL],
      [
          AC_ARG_ENABLE([all-plugins],
                        [AS_HELP_STRING([--disable-all-plugins],
                                        [Disable all plugins])],
                        [gp_enable_all=$enableval],
                        [gp_enable_all=auto])
      ])
      
      dnl GP_ARG_DISABLE(PluginName, default)
      dnl - default can either be yes(enabled) or no(disabled), or auto(to be used
      dnl   with GP_CHECK_PLUGIN_DEPS)
      dnl Generates --enable/disable options with help strings
      AC_DEFUN([GP_ARG_DISABLE],
      [
          AC_REQUIRE([_GP_ARG_DISABLE_ALL])
      
          AC_ARG_ENABLE(m4_tolower(AS_TR_SH($1)),
              AS_HELP_STRING(m4_join(-,
                                     --m4_if($2, no, enable, disable),
                                     m4_tolower(AS_TR_SH($1))),
                             [Do not build the $1 plugin]),
              m4_tolower(AS_TR_SH(enable_$1))=$enableval,
              [AS_CASE([$gp_enable_all],
                       [no],  [m4_tolower(AS_TR_SH(enable_$1))=no],
                       [yes], [m4_tolower(AS_TR_SH(enable_$1))=yes],
                              [m4_tolower(AS_TR_SH(enable_$1))=$2])])
      ])
      
      dnl GP_CHECK_PLUGIN_DEPS(PluginName, VARIABLE-PREFIX,  modules...)
      dnl Checks whether modules exist using PKG_CHECK_MODULES, and error
      dnl out/disables plugins appropriately depending on enable_$plugin
      AC_DEFUN([GP_CHECK_PLUGIN_DEPS],
      [
          AC_REQUIRE([GP_CHECK_GTK_VERSION])
      
          gtk_dep=m4_bmatch([$3], [gtk\+-2\.0], [2], [gtk\+-3\.0], [3], [0])
          if test $gtk_dep -ne 0; then
              GP_CHECK_PLUGIN_GTKN_ONLY([$1], [$gtk_dep])
          fi
      
          if test "$m4_tolower(AS_TR_SH(enable_$1))" = "yes"; then
              PKG_CHECK_MODULES([$2], [$3])
          elif test "$m4_tolower(AS_TR_SH(enable_$1))" = "auto"; then
              PKG_CHECK_MODULES([$2], [$3],
                                [],
                                [m4_tolower(AS_TR_SH(enable_$1))=no])
          fi
      ])
      
      dnl GP_COMMIT_PLUGIN_STATUS(PluginName)
      dnl Commits the enabled status of a plugin
      dnl This macro must be called once for each plugin after all other GP macros.
      AC_DEFUN([GP_COMMIT_PLUGIN_STATUS],
      [
          dnl if choice wasn't made yet, enable it
          if test "$m4_tolower(AS_TR_SH(enable_$1))" = "auto"; then
              m4_tolower(AS_TR_SH(enable_$1))=yes
          fi
          AM_CONDITIONAL(m4_toupper(AS_TR_SH(ENABLE_$1)),
                         test "$m4_tolower(AS_TR_SH(enable_$1))" = yes)
          GP_STATUS_PLUGIN_ADD([$1], [$m4_tolower(AS_TR_SH(enable_$1))])
      ])
      
      dnl GP_CHECK_MINGW
      dnl Checks whether we're building for MinGW, and defines appropriate stuff
      dnl if it is the case.
      dnl Most importantly, AM_CODITIONALs MINGW
      AC_DEFUN([GP_CHECK_MINGW],
      [
      	case "${host}" in
      		*mingw*)
      			AC_DEFINE([WIN32], [1], [we are cross compiling for WIN32])
      			AM_CONDITIONAL([MINGW], true)
      			;;
      		*)
      			AM_CONDITIONAL([MINGW], false)
      			;;
      	esac
      ])
      geany-plugins-1.27/build/geanyinsertnum.m40000644000175000017500000000034512671261352021133 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYINSERTNUM],
      [
          GP_ARG_DISABLE([GeanyInsertNum], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyInsertNum])
          AC_CONFIG_FILES([
              geanyinsertnum/Makefile
              geanyinsertnum/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geniuspaste.m40000644000175000017500000000054112671261352020410 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GENIUSPASTE],
      [
          GP_ARG_DISABLE([GeniusPaste], [auto])
      
          GP_CHECK_PLUGIN_DEPS([GeniusPaste], GENIUSPASTE,
                               [libsoup-2.4 >= 2.4.0])
      
          GP_COMMIT_PLUGIN_STATUS([GeniusPaste])
      
          AC_CONFIG_FILES([
              geniuspaste/Makefile
              geniuspaste/data/Makefile
              geniuspaste/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/codenav.m40000644000175000017500000000030112671261352017472 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_CODENAV],
      [
          GP_ARG_DISABLE([CodeNav], [yes])
          GP_COMMIT_PLUGIN_STATUS([CodeNav])
          AC_CONFIG_FILES([
              codenav/Makefile
              codenav/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/pohelper.m40000644000175000017500000000055212671261352017701 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_POHELPER],
      [
          GP_ARG_DISABLE([PoHelper], [auto])
      
          dnl We require GLib >= 2.22, and Geany only depends on 2.20
          GP_CHECK_PLUGIN_DEPS([PoHelper], [GLIB], [glib-2.0 >= 2.22])
      
          GP_COMMIT_PLUGIN_STATUS([PoHelper])
      
          AC_CONFIG_FILES([
              pohelper/Makefile
              pohelper/data/Makefile
              pohelper/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/treebrowser.m40000644000175000017500000000202512671261352020423 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_TREEBROWSER],
      [
          GP_ARG_DISABLE([Treebrowser], [auto])
          if [[ "$enable_treebrowser" != no ]]; then
              AC_CHECK_FUNC([creat],
                  [enable_treebrowser=yes],
                  [
                      if [[ "$enable_treebrowser" = auto ]]; then
                          enable_treebrowser=no
                      else
                          AC_MSG_ERROR([Treebrowser cannot be enabled because creat() is missing.
                                        Please disable it (--disable-treebrowser) or make sure creat()
                                        works on your system.])
                      fi
                  ])
          fi
      
          PKG_CHECK_MODULES([GIO], [gio-2.0],
              [AC_DEFINE([HAVE_GIO], 1, [Whether we have GIO])
               have_gio=yes],
              [have_gio=no])
      
          AM_CONDITIONAL(ENABLE_TREEBROWSER, test "x$enable_treebrowser" = "xyes")
          GP_COMMIT_PLUGIN_STATUS([TreeBrowser])
          GP_STATUS_FEATURE_ADD([TreeBrowser GIO support], [$have_gio])
      
          AC_CONFIG_FILES([
              treebrowser/Makefile
              treebrowser/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geany.m40000644000175000017500000000256512671261352017174 0ustar00frlanfrlan00000000000000AC_DEFUN([_GP_GEANY_LIBDIR],
      [
          AC_REQUIRE([PKG_PROG_PKG_CONFIG])
          AC_ARG_WITH([geany-libdir],
              AC_HELP_STRING([--with-geany-libdir=PATH],
                  [Set Geany's installation libdir [[default=auto]]]),
              [geany_libdir=${withval}],
              [geany_libdir=$(${PKG_CONFIG} --variable=libdir geany)])
      ])
      
      dnl GP_GEANY_PKG_CONFIG_PATH_PUSH
      dnl Updates PKG_CONFIG_PATH to include the appropriate directory to match
      dnl --with-geany-libdir option.  This is useful when calling PKG_CONFIG on the
      dnl geany package but should be avoided for any other package.
      dnl Call GP_GEANY_PKG_CONFIG_PATH_POP to undo the action
      AC_DEFUN([GP_GEANY_PKG_CONFIG_PATH_PUSH],
      [
          AC_REQUIRE([_GP_GEANY_LIBDIR])
          export PKG_CONFIG_PATH="$geany_libdir/pkgconfig:$PKG_CONFIG_PATH"
      ])
      
      dnl GP_GEANY_PKG_CONFIG_PATH_POP
      dnl Undoes what GP_GEANY_PKG_CONFIG_PATH_PUSH did
      AC_DEFUN([GP_GEANY_PKG_CONFIG_PATH_POP],
      [
          AC_REQUIRE([_GP_GEANY_LIBDIR])
          export PKG_CONFIG_PATH="${PKG_CONFIG_PATH#*:}"
          test -z "${PKG_CONFIG_PATH}" && unset PKG_CONFIG_PATH
      ])
      
      AC_DEFUN([GP_CHECK_GEANY],
      [
          AC_REQUIRE([PKG_PROG_PKG_CONFIG])
      
          GP_GEANY_PKG_CONFIG_PATH_PUSH
      
          PKG_CHECK_MODULES([GEANY], [geany >= $1])
          geanypluginsdir=$geany_libdir/geany
          GEANY_VERSION=$(${PKG_CONFIG} --modversion geany)
          AC_SUBST([geanypluginsdir])
          AC_SUBST([GEANY_VERSION])
      
          GP_GEANY_PKG_CONFIG_PATH_POP
      ])
      geany-plugins-1.27/build/scope.m40000644000175000017500000000104412671261352017171 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_SCOPE],
      [
          GP_ARG_DISABLE([Scope], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([Scope])
      
          GP_CHECK_PLUGIN_DEPS([scope], [VTE],
                               [vte >= 0.17])
          AC_CHECK_HEADERS([util.h pty.h libutil.h])
          GP_COMMIT_PLUGIN_STATUS([Scope])
      
          case "$host_os" in
              cygwin* | mingw* | win32*) PTY_LIBS="" ;;
              *) PTY_LIBS="-lutil" ;;
          esac
      
          AC_SUBST(PTY_LIBS)
      
          AC_CONFIG_FILES([
              scope/Makefile
              scope/data/Makefile
              scope/docs/Makefile
              scope/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanynumberedbookmarks.m40000644000175000017500000000050512671261352022617 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYNUMBEREDBOOKMARKS],
      [
          GP_ARG_DISABLE([GeanyNumberedBookmarks], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([GeanyNumberedBookmarks])
          GP_COMMIT_PLUGIN_STATUS([GeanyNumberedBookmarks])
          AC_CONFIG_FILES([
              geanynumberedbookmarks/Makefile
              geanynumberedbookmarks/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanymacro.m40000644000175000017500000000037512671261352020213 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYMACRO],
      [
          GP_ARG_DISABLE([GeanyMacro], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([GeanyMacro])
          GP_COMMIT_PLUGIN_STATUS([GeanyMacro])
          AC_CONFIG_FILES([
              geanymacro/Makefile
              geanymacro/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanygendoc.m40000644000175000017500000000146512671261352020352 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYGENDOC],
      [
          GP_ARG_DISABLE([GeanyGenDoc], [auto])
      
          GTK_VERSION=2.12
          GLIB_VERSION=2.14
          GIO_VERSION=2.18
          CTPL_VERSION=0.3
      
          GP_CHECK_PLUGIN_DEPS([GeanyGenDoc], GEANYGENDOC,
                               [$GP_GTK_PACKAGE >= ${GTK_VERSION}
                                glib-2.0 >= ${GLIB_VERSION}
                                gio-2.0 >= ${GIO_VERSION}
                                ctpl >= ${CTPL_VERSION}])
      
          AC_PATH_PROG([RST2HTML], [rst2html], [no])
          AC_SUBST([RST2HTML])
          AM_CONDITIONAL([BUILD_RST], [test "x$RST2HTML" != "xno"])
      
          GP_COMMIT_PLUGIN_STATUS([GeanyGenDoc])
      
          AC_CONFIG_FILES([
              geanygendoc/Makefile
              geanygendoc/src/Makefile
              geanygendoc/data/Makefile
              geanygendoc/data/filetypes/Makefile
              geanygendoc/docs/Makefile
          ])
      ])
      geany-plugins-1.27/build/cppcheck.mk0000644000175000017500000000027612671261352017735 0ustar00frlanfrlan00000000000000
      if HAVE_CPPCHECK
      
      check-cppcheck: $(srcdir)
      	$(CPPCHECK) \
      		-q --template gcc --error-exitcode=2 \
      		$(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \
      		$(srcdir)
      
      check-local: check-cppcheck
      
      endif
      geany-plugins-1.27/build/geanyextrasel.m40000644000175000017500000000033712671261352020737 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYEXTRASEL],
      [
          GP_ARG_DISABLE([GeanyExtraSel], [yes])
          GP_COMMIT_PLUGIN_STATUS([GeanyExtraSel])
          AC_CONFIG_FILES([
              geanyextrasel/Makefile
              geanyextrasel/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/cflags.m40000644000175000017500000000446112671261352017325 0ustar00frlanfrlan00000000000000dnl _GP_CHECK_CFLAG(FLAG, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
      dnl Checks whether the C compiler works when passed FLAG
      dnl This might not mean it actually understand the flag, in case it is
      dnl forgiving about unknown flags.
      AC_DEFUN([_GP_CHECK_CFLAG],
      [
          gp_check_cflag_CFLAGS="$CFLAGS"
          CFLAGS="$1"
          AC_LANG_PUSH(C)
          AC_COMPILE_IFELSE([AC_LANG_SOURCE([int main(void) {return 0;}])],
                            [$2], [$3])
          AC_LANG_POP(C)
          CFLAGS="$gp_check_cflag_CFLAGS"
      ])
      
      dnl _GP_CHECK_CFLAG_WERROR
      dnl Checks for the flag the compiler has to treat warnings as errors
      dnl Sets $_GP_CFLAG_WERROR
      AC_DEFUN([_GP_CHECK_CFLAG_WERROR],
      [
          _GP_CFLAG_WERROR=
          AC_MSG_CHECKING([for the C compiler flag to treat warnings as errors])
          _GP_CHECK_CFLAG([-Werror], [_GP_CFLAG_WERROR="-Werror"])
          AC_MSG_RESULT([${_GP_CFLAG_WERROR:-none}])
      ])
      
      dnl GP_CHECK_CFLAG(FLAG, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
      dnl Checks whether the C compiler understands FLAG
      AC_DEFUN([GP_CHECK_CFLAG],
      [
          AC_REQUIRE([_GP_CHECK_CFLAG_WERROR])
      
          AC_MSG_CHECKING([whether the C compiler understands $1])
          _GP_CHECK_CFLAG([$1 $_GP_CFLAG_WERROR],
                          [AC_MSG_RESULT([yes])
                           $2],
                          [AC_MSG_RESULT([no])
                           $3])
      ])
      
      dnl GP_CHECK_CFLAGS
      dnl Checks for default Geany-Plugins CFLAGS and defines GP_CFLAGS
      AC_DEFUN([GP_CHECK_CFLAGS],
      [
          AC_ARG_ENABLE([extra-c-warnings],
                        AS_HELP_STRING([--disable-extra-c-warnings],
                                       [Disable extra C Compiler warnings]),
                        [enable_extra_c_warnings=$enableval],
                        [enable_extra_c_warnings=yes])
      
          GP_CFLAGS=
          AS_IF([test "x$enable_extra_c_warnings" != xno],
          [
              enable_extra_c_warnings=yes
              for flag in -Wall \
                          -Wimplicit-function-declaration \
                          -Wmissing-parameter-type \
                          -Wold-style-declaration \
                          -Wpointer-arith \
                          -Wshadow \
                          -Wundef \
                          -Wwrite-strings
              do
                  GP_CHECK_CFLAG([$flag], [GP_CFLAGS="${GP_CFLAGS} $flag"])
              done
          ])
          AC_SUBST([GP_CFLAGS])
          GP_STATUS_BUILD_FEATURE_ADD([Extra C compiler warnings],
                                      [$enable_extra_c_warnings])
      ])
      geany-plugins-1.27/build/multiterm.m40000644000175000017500000000046712671261352020112 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_MULTITERM],
      [
          GP_ARG_DISABLE([multiterm], [auto])
      
          GP_CHECK_PLUGIN_VALA([multiterm])
          GP_CHECK_PLUGIN_DEPS([multiterm], [MULTITERM], [gtk+-2.0 vte])
          GP_COMMIT_PLUGIN_STATUS([MultiTerm])
      
          AC_CONFIG_FILES([
              multiterm/Makefile
              multiterm/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/overview.m40000644000175000017500000000035512671261352017732 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_OVERVIEW],
      [
          GP_ARG_DISABLE([overview], [auto])
      
          GP_COMMIT_PLUGIN_STATUS([Overview])
      
          AC_CONFIG_FILES([
              overview/Makefile
              overview/data/Makefile
              overview/overview/Makefile
          ])
      ])
      geany-plugins-1.27/build/webhelper.m40000644000175000017500000000224312671261352020037 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_WEBHELPER],
      [
          GP_ARG_DISABLE([WebHelper], [auto])
      
          GTK_VERSION=2.16
          dnl 2.22 for glib-mkenums' @basename@ template
          GLIB_VERSION=2.22
          GIO_VERSION=2.18
          GDK_PIXBUF_VERSION=2.0
          WEBKIT_VERSION=1.1.18
      
          AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums], [no])
          AC_SUBST([GLIB_MKENUMS])
          if [[ x"$GLIB_MKENUMS" = "xno" ]]; then
              if [[ x"$enable_webhelper" = "xyes" ]]; then
                  AC_MSG_ERROR([glib-mkenums not found, are GLib dev tools installed?])
              else
                  enable_webhelper=no
              fi
          fi
      
          GP_CHECK_GTK3([webkit_package=webkitgtk-3.0],
                        [webkit_package=webkit-1.0])
          GP_CHECK_PLUGIN_DEPS([WebHelper], [WEBHELPER],
                               [$GP_GTK_PACKAGE >= ${GTK_VERSION}
                                glib-2.0 >= ${GLIB_VERSION}
                                gio-2.0 >= ${GIO_VERSION}
                                gdk-pixbuf-2.0 >= ${GDK_PIXBUF_VERSION}
                                $webkit_package >= ${WEBKIT_VERSION}
                                gthread-2.0])
      
      
          GP_COMMIT_PLUGIN_STATUS([WebHelper])
      
          AC_CONFIG_FILES([
              webhelper/Makefile
              webhelper/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanydoc.m40000644000175000017500000000042112671261352017647 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYDOC],
      [
          GP_ARG_DISABLE([GeanyDoc], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([GeanyDoc])
          GP_COMMIT_PLUGIN_STATUS([GeanyDoc])
          AC_CONFIG_FILES([
              geanydoc/Makefile
              geanydoc/src/Makefile
              geanydoc/tests/Makefile
          ])
      ])
      geany-plugins-1.27/build/expansions.m40000644000175000017500000000054112671261352020250 0ustar00frlanfrlan00000000000000AC_DEFUN([_GP_EXPAND_PREFIX_],
      [
          case $prefix in
              NONE) prefix=$ac_default_prefix ;;
              *) ;;
          esac
      
          case $exec_prefix in
              NONE) exec_prefix=$prefix ;;
              *) ;;
          esac
      ])
      
      AC_DEFUN([GP_EXPAND_DIR],
      [
          AC_REQUIRE([_GP_EXPAND_PREFIX_])
      
          expanded_$1=$(eval echo $$1)
          expanded_$1=$(eval echo $expanded_$1)
      ])
      geany-plugins-1.27/build/xmlsnippets.m40000644000175000017500000000032112671261352020443 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_XMLSNIPPETS],
      [
          GP_ARG_DISABLE(XMLSnippets, yes)
          GP_COMMIT_PLUGIN_STATUS([XMLSnippets])
          AC_CONFIG_FILES([
              xmlsnippets/Makefile
              xmlsnippets/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/gtk.m40000644000175000017500000000367712671261352016663 0ustar00frlanfrlan00000000000000dnl checks for the GTK version to build against (2 or 3)
      dnl defines GP_GTK_PACKAGE (e.g. "gtk+-2.0"), GP_GTK_VERSION (e.g. "2.24") and
      dnl GP_GTK_VERSION_MAJOR (e.g. "2");  and defines the GP_GTK3 AM conditional
      AC_DEFUN([GP_CHECK_GTK_VERSION],
      [
          AC_REQUIRE([AC_PROG_AWK])
          AC_REQUIRE([PKG_PROG_PKG_CONFIG])
      
          GP_GEANY_PKG_CONFIG_PATH_PUSH
      
          _gtk_req=$(${PKG_CONFIG} --print-requires geany | ${AWK} '/^gtk\+-/{print}')
          GP_GTK_PACKAGE=$(echo ${_gtk_req} | ${AWK} '{print $[]1}')
          GP_GTK_VERSION=$(echo ${_gtk_req} | ${AWK} '{print $[]3}')
          GP_GTK_VERSION_MAJOR=$(echo ${GP_GTK_VERSION} | cut -d. -f1)
          AC_SUBST([GP_GTK_PACKAGE])
          AC_SUBST([GP_GTK_VERSION])
          AC_SUBST([GP_GTK_VERSION_MAJOR])
      
          AM_CONDITIONAL([GP_GTK3], [test "x$GP_GTK_VERSION_MAJOR" = x3])
      
          GP_GEANY_PKG_CONFIG_PATH_POP
      ])
      
      dnl executes $1 if GTK3 is used, and $2 otherwise
      AC_DEFUN([GP_CHECK_GTK3],
      [
          AC_REQUIRE([GP_CHECK_GTK_VERSION])
          AS_IF([test ${GP_GTK_VERSION_MAJOR} = 3],[$1],[$2])
      ])
      
      dnl GP_CHECK_PLUGIN_GTKN_ONLY pluginname gtkversion
      AC_DEFUN([GP_CHECK_PLUGIN_GTKN_ONLY],
      [
          AC_REQUIRE([GP_CHECK_GTK_VERSION])
      
          AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = no],[],
                [AC_MSG_CHECKING([whether the GTK version in use is compatible with plugin $1])
                 AS_IF([test ${GP_GTK_VERSION_MAJOR} = $2],
                       [AC_MSG_RESULT([yes])],
                       [AC_MSG_RESULT([no])
                        AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = yes],
                              [AC_MSG_ERROR([$1 is not compatible with the GTK version in use])],
                              [test "$m4_tolower(AS_TR_SH(enable_$1))" = auto],
                              [m4_tolower(AS_TR_SH(enable_$1))=no])])])
      ])
      
      dnl GP_CHECK_PLUGIN_GTK2_ONLY pluginname
      AC_DEFUN([GP_CHECK_PLUGIN_GTK2_ONLY],
      [
          GP_CHECK_PLUGIN_GTKN_ONLY([$1], [2])
      ])
      
      dnl GP_CHECK_PLUGIN_GTK3_ONLY pluginname
      AC_DEFUN([GP_CHECK_PLUGIN_GTK3_ONLY],
      [
          GP_CHECK_PLUGIN_GTKN_ONLY([$1], [3])
      ])
      geany-plugins-1.27/build/i18n.m40000644000175000017500000000110312671261352016633 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_I18N],
      [
          if test -n "${LINGUAS}"
          then
              ALL_LINGUAS="${LINGUAS}"
          else
              if test -z "$conf_dir" ; then
                  conf_dir="."
              fi
              ALL_LINGUAS=`cd "$conf_dir/po" 2>/dev/null && ls *.po 2>/dev/null | $AWK 'BEGIN { FS="."; ORS=" " } { print $[1] }'`
          fi
          GETTEXT_PACKAGE=geany-plugins
          AC_SUBST(GETTEXT_PACKAGE)
          AC_DEFINE_UNQUOTED(
              [GETTEXT_PACKAGE],
              ["$GETTEXT_PACKAGE"],
              [The domain to use with gettext])
          LOCALEDIR="${datadir}/locale"
          AC_SUBST(LOCALEDIR)
          AM_GLIB_GNU_GETTEXT
      ])
      geany-plugins-1.27/build/addons.m40000644000175000017500000000027512671261352017335 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_ADDONS],
      [
          GP_ARG_DISABLE([Addons], [auto])
          GP_COMMIT_PLUGIN_STATUS([Addons])
          AC_CONFIG_FILES([
              addons/Makefile
              addons/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/projectorganizer.m40000644000175000017500000000042712671261352021453 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_PROJECTORGANIZER],
      [
          GP_ARG_DISABLE([ProjectOrganizer], [auto])
          GP_COMMIT_PLUGIN_STATUS([ProjectOrganizer])
          AC_CONFIG_FILES([
              projectorganizer/Makefile
              projectorganizer/src/Makefile
              projectorganizer/icons/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanylua.m40000644000175000017500000000206712671261352017673 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYLUA],
      [
          GP_ARG_DISABLE([GeanyLua], [auto])
      
          AC_ARG_WITH([lua-pkg],
              AC_HELP_STRING([--with-lua-pkg=ARG],
                  [name of Lua pkg-config script [[default=lua5.1]]]),
              [LUA_PKG_NAME=${withval%.pc}],
              [LUA_PKG_NAME=lua5.1
      
              for L in lua5.1 lua51 lua-5.1 lua; do
                  PKG_CHECK_EXISTS([$L],
                      [LUA_PKG_NAME=$L]; break,[])
              done])
      
          LUA_VERSION=5.1
          LUA_VERSION_BOUNDARY=5.2
          GP_CHECK_PLUGIN_DEPS([GeanyLua], [LUA],
                               [${LUA_PKG_NAME} >= ${LUA_VERSION}
                                ${LUA_PKG_NAME} < ${LUA_VERSION_BOUNDARY}])
          GP_CHECK_PLUGIN_DEPS([GeanyLua], [GMODULE], [gmodule-2.0])
          GP_COMMIT_PLUGIN_STATUS([GeanyLua])
      
          AC_CONFIG_FILES([
              geanylua/examples/edit/Makefile
              geanylua/examples/scripting/Makefile
              geanylua/examples/info/Makefile
              geanylua/examples/work/Makefile
              geanylua/examples/dialogs/Makefile
              geanylua/examples/Makefile
              geanylua/docs/Makefile
              geanylua/Makefile
          ])
      ])
      geany-plugins-1.27/build/spellcheck.m40000644000175000017500000000113212671261352020173 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_SPELLCHECK],
      [
          GP_ARG_DISABLE([spellcheck], [auto])
      
          ENCHANT_VERSION=1.3
          OPT_ENCHANT_VERSION=1.5
          PKG_CHECK_MODULES([ENCHANT], [enchant >= ${OPT_ENCHANT_VERSION}],
                            have_enchant_1_5=yes,
                            have_enchant_1_5=no)
          GP_CHECK_PLUGIN_DEPS([spellcheck], [ENCHANT],
                               [enchant >= ${ENCHANT_VERSION}])
      
          AM_CONDITIONAL([HAVE_ENCHANT_1_5], [test "$have_enchant_1_5" = yes])
          GP_COMMIT_PLUGIN_STATUS([Spellcheck])
      
          AC_CONFIG_FILES([
              spellcheck/Makefile
              spellcheck/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanylipsum.m40000644000175000017500000000032612671261352020417 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYLIPSUM],
      [
          GP_ARG_DISABLE([GeanyLipsum], [auto])
          GP_COMMIT_PLUGIN_STATUS([GeanyLipsum])
          AC_CONFIG_FILES([
              geanylipsum/Makefile
              geanylipsum/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/pretty-printer.m40000644000175000017500000000056112671261352021073 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_PRETTYPRINTER],
      [
          LIBXML_VERSION=2.6.27
      
          GP_ARG_DISABLE([pretty-printer], [auto])
          GP_CHECK_PLUGIN_DEPS([pretty-printer], [LIBXML],
                               [libxml-2.0 >= ${LIBXML_VERSION}])
          GP_COMMIT_PLUGIN_STATUS([Pretty Printer])
      
          AC_CONFIG_FILES([
              pretty-printer/Makefile
              pretty-printer/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/geanysendmail.m40000644000175000017500000000033712671261352020704 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYSENDMAIL],
      [
          GP_ARG_DISABLE([GeanySendmail], [yes])
          GP_COMMIT_PLUGIN_STATUS([GeanySendmail])
          AC_CONFIG_FILES([
              geanysendmail/Makefile
              geanysendmail/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/defineformat.m40000644000175000017500000000050712671261352020526 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_DEFINEFORMAT],
      [
          GP_ARG_DISABLE([Defineformat], [auto])
          GP_CHECK_PLUGIN_DEPS([Defineformat], [DEFINEFORMAT],
                               [$GP_GTK_PACKAGE >= 2.8])
          GP_COMMIT_PLUGIN_STATUS([Defineformat])
          AC_CONFIG_FILES([
              defineformat/Makefile
              defineformat/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/vars.build.mk0000644000175000017500000000210612671261352020220 0ustar00frlanfrlan00000000000000if MINGW
      GP_PREFIX				= .
      GP_DATADIR				= $(GP_PREFIX)/share
      GP_LOCALEDIR			= $(GP_DATADIR)/locale
      GP_DOCDIR				= $(GP_DATADIR)/doc/$(PACKAGE)
      GP_PKGDATADIR			= $(GP_DATADIR)/$(PACKAGE)
      GP_LIBDIR				= $(GP_PREFIX)/lib
      GP_PKGLIBDIR			= $(GP_LIBDIR)/$(PACKAGE)
      else
      GP_PREFIX				= $(prefix)
      GP_DATADIR				= $(datadir)
      GP_LOCALEDIR			= $(LOCALEDIR)
      GP_DOCDIR				= $(docdir)
      GP_PKGDATADIR			= $(pkgdatadir)
      GP_LIBDIR				= $(libdir)
      GP_PKGLIBDIR			= $(pkglibdir)
      endif
      
      LOCAL_AM_CFLAGS = \
      	-DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \
      	-DPREFIX=\""$(GP_PREFIX)"\" \
      	-DDOCDIR=\""$(GP_DOCDIR)"\" \
      	-DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \
      	-DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \
      	-DLIBDIR=\""$(GP_LIBDIR)"\" \
      	-DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \
      	-DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \
      	-DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \
      	-DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \
      	-DPLUGIN="\"$(plugin)\""
      
      AM_CFLAGS = \
      	${LOCAL_AM_CFLAGS} \
      	$(GEANY_CFLAGS) \
      	$(GP_CFLAGS)
      
      
      AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS)
      
      COMMONLIBS = \
      	$(GEANY_LIBS) \
      	$(INTLLIBS)
      geany-plugins-1.27/build/cache/0000755000175000017500000000000012671261441016661 5ustar00frlanfrlan00000000000000geany-plugins-1.27/build/cache/intltool.m40000644000175000017500000002772412671261370021004 0ustar00frlanfrlan00000000000000## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*-
      ## Copyright (C) 2001 Eazel, Inc.
      ## Author: Maciej Stachowiak 
      ##         Kenneth Christiansen 
      ##
      ## This program is free software; you can redistribute it and/or modify
      ## it under the terms of the GNU General Public License as published by
      ## the Free Software Foundation; either version 2 of the License, or
      ## (at your option) any later version.
      ##
      ## This program is distributed in the hope that it will be useful, but
      ## WITHOUT ANY WARRANTY; without even the implied warranty of
      ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      ## General Public License for more details.
      ##
      ## You should have received a copy of the GNU General Public License
      ## along with this program; if not, write to the Free Software
      ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
      ##
      ## As a special exception to the GNU General Public License, if you
      ## distribute this file as part of a program that contains a
      ## configuration script generated by Autoconf, you may include it under
      ## the same distribution terms that you use for the rest of that program.
      
      dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
      # serial 42 IT_PROG_INTLTOOL
      AC_DEFUN([IT_PROG_INTLTOOL], [
      AC_PREREQ([2.50])dnl
      AC_REQUIRE([AM_NLS])dnl
      
      case "$am__api_version" in
          1.[01234])
      	AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
          ;;
          *)
          ;;
      esac
      
      INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
      INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
      INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
      if test -n "$1"; then
          AC_MSG_CHECKING([for intltool >= $1])
          AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
          test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
      	AC_MSG_ERROR([Your intltool is too old.  You need intltool $1 or later.])
      fi
      
      AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
      AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
      AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
      if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
          AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.])
      fi
      
      if test -z "$AM_DEFAULT_VERBOSITY"; then
        AM_DEFAULT_VERBOSITY=1
      fi
      AC_SUBST([AM_DEFAULT_VERBOSITY])
      
      INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))'
      INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))'
      INTLTOOL__v_MERGE_0='@echo "  ITMRG " [$]@;'
      AC_SUBST(INTLTOOL_V_MERGE)
      AC_SUBST(INTLTOOL__v_MERGE_)
      AC_SUBST(INTLTOOL__v_MERGE_0)
      
      INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))'
      intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))'
      intltool__v_merge_options_0='-q'
      AC_SUBST(INTLTOOL_V_MERGE_OPTIONS)
      AC_SUBST(intltool__v_merge_options_)
      AC_SUBST(intltool__v_merge_options_0)
      
        INTLTOOL_DESKTOP_RULE='%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
      INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
           INTLTOOL_KEYS_RULE='%.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
           INTLTOOL_PROP_RULE='%.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
            INTLTOOL_OAF_RULE='%.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@'
           INTLTOOL_PONG_RULE='%.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
         INTLTOOL_SERVER_RULE='%.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
          INTLTOOL_SHEET_RULE='%.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
      INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
             INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
            INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
      if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then
            INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@'
      else
            INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir'
      fi
            INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
            INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
          INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
        INTLTOOL_SCHEMAS_RULE='%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
          INTLTOOL_THEME_RULE='%.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
          INTLTOOL_SERVICE_RULE='%.service: %.service.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
         INTLTOOL_POLICY_RULE='%.policy:    %.policy.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
      
      _IT_SUBST(INTLTOOL_DESKTOP_RULE)
      _IT_SUBST(INTLTOOL_DIRECTORY_RULE)
      _IT_SUBST(INTLTOOL_KEYS_RULE)
      _IT_SUBST(INTLTOOL_PROP_RULE)
      _IT_SUBST(INTLTOOL_OAF_RULE)
      _IT_SUBST(INTLTOOL_PONG_RULE)
      _IT_SUBST(INTLTOOL_SERVER_RULE)
      _IT_SUBST(INTLTOOL_SHEET_RULE)
      _IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
      _IT_SUBST(INTLTOOL_UI_RULE)
      _IT_SUBST(INTLTOOL_XAM_RULE)
      _IT_SUBST(INTLTOOL_KBD_RULE)
      _IT_SUBST(INTLTOOL_XML_RULE)
      _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
      _IT_SUBST(INTLTOOL_CAVES_RULE)
      _IT_SUBST(INTLTOOL_SCHEMAS_RULE)
      _IT_SUBST(INTLTOOL_THEME_RULE)
      _IT_SUBST(INTLTOOL_SERVICE_RULE)
      _IT_SUBST(INTLTOOL_POLICY_RULE)
      
      # Check the gettext tools to make sure they are GNU
      AC_PATH_PROG(XGETTEXT, xgettext)
      AC_PATH_PROG(MSGMERGE, msgmerge)
      AC_PATH_PROG(MSGFMT, msgfmt)
      AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
      if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
          AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
      fi
      xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
      mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
      mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
      if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
          AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
      fi
      
      AC_PATH_PROG(INTLTOOL_PERL, perl)
      if test -z "$INTLTOOL_PERL"; then
         AC_MSG_ERROR([perl not found])
      fi
      AC_MSG_CHECKING([for perl >= 5.8.1])
      $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
      if test $? -ne 0; then
         AC_MSG_ERROR([perl 5.8.1 is required for intltool])
      else
         IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"`
         AC_MSG_RESULT([$IT_PERL_VERSION])
      fi
      if test "x$2" != "xno-xml"; then
         AC_MSG_CHECKING([for XML::Parser])
         if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
             AC_MSG_RESULT([ok])
         else
             AC_MSG_ERROR([XML::Parser perl module is required for intltool])
         fi
      fi
      
      # Substitute ALL_LINGUAS so we can use it in po/Makefile
      AC_SUBST(ALL_LINGUAS)
      
      # Set DATADIRNAME correctly if it is not set yet
      # (copied from glib-gettext.m4)
      if test -z "$DATADIRNAME"; then
        AC_LINK_IFELSE(
          [AC_LANG_PROGRAM([[]],
                           [[extern int _nl_msg_cat_cntr;
                             return _nl_msg_cat_cntr]])],
          [DATADIRNAME=share],
          [case $host in
          *-*-solaris*)
          dnl On Solaris, if bind_textdomain_codeset is in libc,
          dnl GNU format message catalog is always supported,
          dnl since both are added to the libc all together.
          dnl Hence, we'd like to go with DATADIRNAME=share
          dnl in this case.
          AC_CHECK_FUNC(bind_textdomain_codeset,
            [DATADIRNAME=share], [DATADIRNAME=lib])
          ;;
          *)
          [DATADIRNAME=lib]
          ;;
          esac])
      fi
      AC_SUBST(DATADIRNAME)
      
      IT_PO_SUBDIR([po])
      
      ])
      
      
      # IT_PO_SUBDIR(DIRNAME)
      # ---------------------
      # All po subdirs have to be declared with this macro; the subdir "po" is
      # declared by IT_PROG_INTLTOOL.
      #
      AC_DEFUN([IT_PO_SUBDIR],
      [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
      dnl
      dnl The following CONFIG_COMMANDS should be executed at the very end
      dnl of config.status.
      AC_CONFIG_COMMANDS_PRE([
        AC_CONFIG_COMMANDS([$1/stamp-it], [
          if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
             AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
          fi
          rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
          >"$1/stamp-it.tmp"
          [sed '/^#/d
      	 s/^[[].*] *//
      	 /^[ 	]*$/d
      	'"s|^|	$ac_top_srcdir/|" \
            "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
          ]
          [sed '/^POTFILES =/,/[^\\]$/ {
      		/^POTFILES =/!d
      		r $1/POTFILES
      	  }
      	 ' "$1/Makefile.in" >"$1/Makefile"]
          rm -f "$1/Makefile.tmp"
          mv "$1/stamp-it.tmp" "$1/stamp-it"
        ])
      ])dnl
      ])
      
      # _IT_SUBST(VARIABLE)
      # -------------------
      # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
      #
      AC_DEFUN([_IT_SUBST],
      [
      AC_SUBST([$1])
      m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
      ]
      )
      
      # deprecated macros
      AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
      # A hint is needed for aclocal from Automake <= 1.9.4:
      # AC_DEFUN([AC_PROG_INTLTOOL], ...)
      
      geany-plugins-1.27/build/cache/libtool.m40000644000175000017500000112631112671261374020601 0ustar00frlanfrlan00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
      #
      #   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
      #   Written by Gordon Matzigkeit, 1996
      #
      # This file is free software; the Free Software Foundation gives
      # unlimited permission to copy and/or distribute it, with or without
      # modifications, as long as this notice is preserved.
      
      m4_define([_LT_COPYING], [dnl
      # Copyright (C) 2014 Free Software Foundation, Inc.
      # This is free software; see the source for copying conditions.  There is NO
      # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
      
      # GNU Libtool 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 of the License, or
      # (at your option) any later version.
      #
      # As a special exception to the GNU General Public License, if you
      # distribute this file as part of a program or library that is built
      # using GNU Libtool, you may include this file under the  same
      # distribution terms that you use for the rest of that program.
      #
      # GNU Libtool is distributed in the hope that it will be useful, but
      # WITHOUT ANY WARRANTY; without even the implied warranty of
      # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      # GNU General Public License for more details.
      #
      # You should have received a copy of the GNU General Public License
      # along with this program.  If not, see .
      ])
      
      # serial 58 LT_INIT
      
      
      # LT_PREREQ(VERSION)
      # ------------------
      # Complain and exit if this libtool version is less that VERSION.
      m4_defun([LT_PREREQ],
      [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
             [m4_default([$3],
      		   [m4_fatal([Libtool version $1 or higher is required],
      		             63)])],
             [$2])])
      
      
      # _LT_CHECK_BUILDDIR
      # ------------------
      # Complain if the absolute build directory name contains unusual characters
      m4_defun([_LT_CHECK_BUILDDIR],
      [case `pwd` in
        *\ * | *\	*)
          AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
      esac
      ])
      
      
      # LT_INIT([OPTIONS])
      # ------------------
      AC_DEFUN([LT_INIT],
      [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
      AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
      AC_BEFORE([$0], [LT_LANG])dnl
      AC_BEFORE([$0], [LT_OUTPUT])dnl
      AC_BEFORE([$0], [LTDL_INIT])dnl
      m4_require([_LT_CHECK_BUILDDIR])dnl
      
      dnl Autoconf doesn't catch unexpanded LT_ macros by default:
      m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
      m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
      dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
      dnl unless we require an AC_DEFUNed macro:
      AC_REQUIRE([LTOPTIONS_VERSION])dnl
      AC_REQUIRE([LTSUGAR_VERSION])dnl
      AC_REQUIRE([LTVERSION_VERSION])dnl
      AC_REQUIRE([LTOBSOLETE_VERSION])dnl
      m4_require([_LT_PROG_LTMAIN])dnl
      
      _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
      
      dnl Parse OPTIONS
      _LT_SET_OPTIONS([$0], [$1])
      
      # This can be used to rebuild libtool when needed
      LIBTOOL_DEPS=$ltmain
      
      # Always use our own libtool.
      LIBTOOL='$(SHELL) $(top_builddir)/libtool'
      AC_SUBST(LIBTOOL)dnl
      
      _LT_SETUP
      
      # Only expand once:
      m4_define([LT_INIT])
      ])# LT_INIT
      
      # Old names:
      AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
      AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
      dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
      
      
      # _LT_PREPARE_CC_BASENAME
      # -----------------------
      m4_defun([_LT_PREPARE_CC_BASENAME], [
      # Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
      func_cc_basename ()
      {
          for cc_temp in @S|@*""; do
            case $cc_temp in
              compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
              distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
              \-*) ;;
              *) break;;
            esac
          done
          func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
      }
      ])# _LT_PREPARE_CC_BASENAME
      
      
      # _LT_CC_BASENAME(CC)
      # -------------------
      # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
      # but that macro is also expanded into generated libtool script, which
      # arranges for $SED and $ECHO to be set by different means.
      m4_defun([_LT_CC_BASENAME],
      [m4_require([_LT_PREPARE_CC_BASENAME])dnl
      AC_REQUIRE([_LT_DECL_SED])dnl
      AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
      func_cc_basename $1
      cc_basename=$func_cc_basename_result
      ])
      
      
      # _LT_FILEUTILS_DEFAULTS
      # ----------------------
      # It is okay to use these file commands and assume they have been set
      # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
      m4_defun([_LT_FILEUTILS_DEFAULTS],
      [: ${CP="cp -f"}
      : ${MV="mv -f"}
      : ${RM="rm -f"}
      ])# _LT_FILEUTILS_DEFAULTS
      
      
      # _LT_SETUP
      # ---------
      m4_defun([_LT_SETUP],
      [AC_REQUIRE([AC_CANONICAL_HOST])dnl
      AC_REQUIRE([AC_CANONICAL_BUILD])dnl
      AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
      AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
      
      _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
      dnl
      _LT_DECL([], [host_alias], [0], [The host system])dnl
      _LT_DECL([], [host], [0])dnl
      _LT_DECL([], [host_os], [0])dnl
      dnl
      _LT_DECL([], [build_alias], [0], [The build system])dnl
      _LT_DECL([], [build], [0])dnl
      _LT_DECL([], [build_os], [0])dnl
      dnl
      AC_REQUIRE([AC_PROG_CC])dnl
      AC_REQUIRE([LT_PATH_LD])dnl
      AC_REQUIRE([LT_PATH_NM])dnl
      dnl
      AC_REQUIRE([AC_PROG_LN_S])dnl
      test -z "$LN_S" && LN_S="ln -s"
      _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
      dnl
      AC_REQUIRE([LT_CMD_MAX_LEN])dnl
      _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
      _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
      dnl
      m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      m4_require([_LT_CHECK_SHELL_FEATURES])dnl
      m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
      m4_require([_LT_CMD_RELOAD])dnl
      m4_require([_LT_CHECK_MAGIC_METHOD])dnl
      m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
      m4_require([_LT_CMD_OLD_ARCHIVE])dnl
      m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
      m4_require([_LT_WITH_SYSROOT])dnl
      m4_require([_LT_CMD_TRUNCATE])dnl
      
      _LT_CONFIG_LIBTOOL_INIT([
      # See if we are running on zsh, and set the options that allow our
      # commands through without removal of \ escapes INIT.
      if test -n "\${ZSH_VERSION+set}"; then
         setopt NO_GLOB_SUBST
      fi
      ])
      if test -n "${ZSH_VERSION+set}"; then
         setopt NO_GLOB_SUBST
      fi
      
      _LT_CHECK_OBJDIR
      
      m4_require([_LT_TAG_COMPILER])dnl
      
      case $host_os in
      aix3*)
        # AIX sometimes has problems with the GCC collect2 program.  For some
        # reason, if we set the COLLECT_NAMES environment variable, the problems
        # vanish in a puff of smoke.
        if test set != "${COLLECT_NAMES+set}"; then
          COLLECT_NAMES=
          export COLLECT_NAMES
        fi
        ;;
      esac
      
      # Global variables:
      ofile=libtool
      can_build_shared=yes
      
      # All known linkers require a '.a' archive for static linking (except MSVC,
      # which needs '.lib').
      libext=a
      
      with_gnu_ld=$lt_cv_prog_gnu_ld
      
      old_CC=$CC
      old_CFLAGS=$CFLAGS
      
      # Set sane defaults for various variables
      test -z "$CC" && CC=cc
      test -z "$LTCC" && LTCC=$CC
      test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
      test -z "$LD" && LD=ld
      test -z "$ac_objext" && ac_objext=o
      
      _LT_CC_BASENAME([$compiler])
      
      # Only perform the check for file, if the check method requires it
      test -z "$MAGIC_CMD" && MAGIC_CMD=file
      case $deplibs_check_method in
      file_magic*)
        if test "$file_magic_cmd" = '$MAGIC_CMD'; then
          _LT_PATH_MAGIC
        fi
        ;;
      esac
      
      # Use C for the default configuration in the libtool script
      LT_SUPPORTED_TAG([CC])
      _LT_LANG_C_CONFIG
      _LT_LANG_DEFAULT_CONFIG
      _LT_CONFIG_COMMANDS
      ])# _LT_SETUP
      
      
      # _LT_PREPARE_SED_QUOTE_VARS
      # --------------------------
      # Define a few sed substitution that help us do robust quoting.
      m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
      [# Backslashify metacharacters that are still active within
      # double-quoted strings.
      sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
      
      # Same as above, but do not quote variable references.
      double_quote_subst='s/\([["`\\]]\)/\\\1/g'
      
      # Sed substitution to delay expansion of an escaped shell variable in a
      # double_quote_subst'ed string.
      delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
      
      # Sed substitution to delay expansion of an escaped single quote.
      delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
      
      # Sed substitution to avoid accidental globbing in evaled expressions
      no_glob_subst='s/\*/\\\*/g'
      ])
      
      # _LT_PROG_LTMAIN
      # ---------------
      # Note that this code is called both from 'configure', and 'config.status'
      # now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
      # 'config.status' has no value for ac_aux_dir unless we are using Automake,
      # so we pass a copy along to make sure it has a sensible value anyway.
      m4_defun([_LT_PROG_LTMAIN],
      [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
      _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
      ltmain=$ac_aux_dir/ltmain.sh
      ])# _LT_PROG_LTMAIN
      
      
      ## ------------------------------------- ##
      ## Accumulate code for creating libtool. ##
      ## ------------------------------------- ##
      
      # So that we can recreate a full libtool script including additional
      # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
      # in macros and then make a single call at the end using the 'libtool'
      # label.
      
      
      # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
      # ----------------------------------------
      # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
      m4_define([_LT_CONFIG_LIBTOOL_INIT],
      [m4_ifval([$1],
                [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
                           [$1
      ])])])
      
      # Initialize.
      m4_define([_LT_OUTPUT_LIBTOOL_INIT])
      
      
      # _LT_CONFIG_LIBTOOL([COMMANDS])
      # ------------------------------
      # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
      m4_define([_LT_CONFIG_LIBTOOL],
      [m4_ifval([$1],
                [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
                           [$1
      ])])])
      
      # Initialize.
      m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
      
      
      # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
      # -----------------------------------------------------
      m4_defun([_LT_CONFIG_SAVE_COMMANDS],
      [_LT_CONFIG_LIBTOOL([$1])
      _LT_CONFIG_LIBTOOL_INIT([$2])
      ])
      
      
      # _LT_FORMAT_COMMENT([COMMENT])
      # -----------------------------
      # Add leading comment marks to the start of each line, and a trailing
      # full-stop to the whole comment if one is not present already.
      m4_define([_LT_FORMAT_COMMENT],
      [m4_ifval([$1], [
      m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
                    [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
      )])
      
      
      
      ## ------------------------ ##
      ## FIXME: Eliminate VARNAME ##
      ## ------------------------ ##
      
      
      # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
      # -------------------------------------------------------------------
      # CONFIGNAME is the name given to the value in the libtool script.
      # VARNAME is the (base) name used in the configure script.
      # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
      # VARNAME.  Any other value will be used directly.
      m4_define([_LT_DECL],
      [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
          [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
      	[m4_ifval([$1], [$1], [$2])])
          lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
          m4_ifval([$4],
      	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
          lt_dict_add_subkey([lt_decl_dict], [$2],
      	[tagged?], [m4_ifval([$5], [yes], [no])])])
      ])
      
      
      # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
      # --------------------------------------------------------
      m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
      
      
      # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
      # ------------------------------------------------
      m4_define([lt_decl_tag_varnames],
      [_lt_decl_filter([tagged?], [yes], $@)])
      
      
      # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
      # ---------------------------------------------------------
      m4_define([_lt_decl_filter],
      [m4_case([$#],
        [0], [m4_fatal([$0: too few arguments: $#])],
        [1], [m4_fatal([$0: too few arguments: $#: $1])],
        [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
        [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
        [lt_dict_filter([lt_decl_dict], $@)])[]dnl
      ])
      
      
      # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
      # --------------------------------------------------
      m4_define([lt_decl_quote_varnames],
      [_lt_decl_filter([value], [1], $@)])
      
      
      # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
      # ---------------------------------------------------
      m4_define([lt_decl_dquote_varnames],
      [_lt_decl_filter([value], [2], $@)])
      
      
      # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
      # ---------------------------------------------------
      m4_define([lt_decl_varnames_tagged],
      [m4_assert([$# <= 2])dnl
      _$0(m4_quote(m4_default([$1], [[, ]])),
          m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
          m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
      m4_define([_lt_decl_varnames_tagged],
      [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
      
      
      # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
      # ------------------------------------------------
      m4_define([lt_decl_all_varnames],
      [_$0(m4_quote(m4_default([$1], [[, ]])),
           m4_if([$2], [],
      	   m4_quote(lt_decl_varnames),
      	m4_quote(m4_shift($@))))[]dnl
      ])
      m4_define([_lt_decl_all_varnames],
      [lt_join($@, lt_decl_varnames_tagged([$1],
      			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
      ])
      
      
      # _LT_CONFIG_STATUS_DECLARE([VARNAME])
      # ------------------------------------
      # Quote a variable value, and forward it to 'config.status' so that its
      # declaration there will have the same value as in 'configure'.  VARNAME
      # must have a single quote delimited value for this to work.
      m4_define([_LT_CONFIG_STATUS_DECLARE],
      [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
      
      
      # _LT_CONFIG_STATUS_DECLARATIONS
      # ------------------------------
      # We delimit libtool config variables with single quotes, so when
      # we write them to config.status, we have to be sure to quote all
      # embedded single quotes properly.  In configure, this macro expands
      # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
      #
      #    ='`$ECHO "$" | $SED "$delay_single_quote_subst"`'
      m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
      [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
          [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
      
      
      # _LT_LIBTOOL_TAGS
      # ----------------
      # Output comment and list of tags supported by the script
      m4_defun([_LT_LIBTOOL_TAGS],
      [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
      available_tags='_LT_TAGS'dnl
      ])
      
      
      # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
      # -----------------------------------
      # Extract the dictionary values for VARNAME (optionally with TAG) and
      # expand to a commented shell variable setting:
      #
      #    # Some comment about what VAR is for.
      #    visible_name=$lt_internal_name
      m4_define([_LT_LIBTOOL_DECLARE],
      [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
      					   [description])))[]dnl
      m4_pushdef([_libtool_name],
          m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
      m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
          [0], [_libtool_name=[$]$1],
          [1], [_libtool_name=$lt_[]$1],
          [2], [_libtool_name=$lt_[]$1],
          [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
      m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
      ])
      
      
      # _LT_LIBTOOL_CONFIG_VARS
      # -----------------------
      # Produce commented declarations of non-tagged libtool config variables
      # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
      # script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
      # section) are produced by _LT_LIBTOOL_TAG_VARS.
      m4_defun([_LT_LIBTOOL_CONFIG_VARS],
      [m4_foreach([_lt_var],
          m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
          [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
      
      
      # _LT_LIBTOOL_TAG_VARS(TAG)
      # -------------------------
      m4_define([_LT_LIBTOOL_TAG_VARS],
      [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
          [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
      
      
      # _LT_TAGVAR(VARNAME, [TAGNAME])
      # ------------------------------
      m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
      
      
      # _LT_CONFIG_COMMANDS
      # -------------------
      # Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
      # variables for single and double quote escaping we saved from calls
      # to _LT_DECL, we can put quote escaped variables declarations
      # into 'config.status', and then the shell code to quote escape them in
      # for loops in 'config.status'.  Finally, any additional code accumulated
      # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
      m4_defun([_LT_CONFIG_COMMANDS],
      [AC_PROVIDE_IFELSE([LT_OUTPUT],
      	dnl If the libtool generation code has been placed in $CONFIG_LT,
      	dnl instead of duplicating it all over again into config.status,
      	dnl then we will have config.status run $CONFIG_LT later, so it
      	dnl needs to know what name is stored there:
              [AC_CONFIG_COMMANDS([libtool],
                  [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
          dnl If the libtool generation code is destined for config.status,
          dnl expand the accumulated commands and init code now:
          [AC_CONFIG_COMMANDS([libtool],
              [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
      ])#_LT_CONFIG_COMMANDS
      
      
      # Initialize.
      m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
      [
      
      # The HP-UX ksh and POSIX shell print the target directory to stdout
      # if CDPATH is set.
      (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
      
      sed_quote_subst='$sed_quote_subst'
      double_quote_subst='$double_quote_subst'
      delay_variable_subst='$delay_variable_subst'
      _LT_CONFIG_STATUS_DECLARATIONS
      LTCC='$LTCC'
      LTCFLAGS='$LTCFLAGS'
      compiler='$compiler_DEFAULT'
      
      # A function that is used when there is no print builtin or printf.
      func_fallback_echo ()
      {
        eval 'cat <<_LTECHO_EOF
      \$[]1
      _LTECHO_EOF'
      }
      
      # Quote evaled strings.
      for var in lt_decl_all_varnames([[ \
      ]], lt_decl_quote_varnames); do
          case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
          *[[\\\\\\\`\\"\\\$]]*)
            eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
            ;;
          *)
            eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
            ;;
          esac
      done
      
      # Double-quote double-evaled strings.
      for var in lt_decl_all_varnames([[ \
      ]], lt_decl_dquote_varnames); do
          case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
          *[[\\\\\\\`\\"\\\$]]*)
            eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
            ;;
          *)
            eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
            ;;
          esac
      done
      
      _LT_OUTPUT_LIBTOOL_INIT
      ])
      
      # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
      # ------------------------------------
      # Generate a child script FILE with all initialization necessary to
      # reuse the environment learned by the parent script, and make the
      # file executable.  If COMMENT is supplied, it is inserted after the
      # '#!' sequence but before initialization text begins.  After this
      # macro, additional text can be appended to FILE to form the body of
      # the child script.  The macro ends with non-zero status if the
      # file could not be fully written (such as if the disk is full).
      m4_ifdef([AS_INIT_GENERATED],
      [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
      [m4_defun([_LT_GENERATED_FILE_INIT],
      [m4_require([AS_PREPARE])]dnl
      [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
      [lt_write_fail=0
      cat >$1 <<_ASEOF || lt_write_fail=1
      #! $SHELL
      # Generated by $as_me.
      $2
      SHELL=\${CONFIG_SHELL-$SHELL}
      export SHELL
      _ASEOF
      cat >>$1 <<\_ASEOF || lt_write_fail=1
      AS_SHELL_SANITIZE
      _AS_PREPARE
      exec AS_MESSAGE_FD>&1
      _ASEOF
      test 0 = "$lt_write_fail" && chmod +x $1[]dnl
      m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
      
      # LT_OUTPUT
      # ---------
      # This macro allows early generation of the libtool script (before
      # AC_OUTPUT is called), incase it is used in configure for compilation
      # tests.
      AC_DEFUN([LT_OUTPUT],
      [: ${CONFIG_LT=./config.lt}
      AC_MSG_NOTICE([creating $CONFIG_LT])
      _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
      [# Run this file to recreate a libtool stub with the current configuration.])
      
      cat >>"$CONFIG_LT" <<\_LTEOF
      lt_cl_silent=false
      exec AS_MESSAGE_LOG_FD>>config.log
      {
        echo
        AS_BOX([Running $as_me.])
      } >&AS_MESSAGE_LOG_FD
      
      lt_cl_help="\
      '$as_me' creates a local libtool stub from the current configuration,
      for use in further configure time tests before the real libtool is
      generated.
      
      Usage: $[0] [[OPTIONS]]
      
        -h, --help      print this help, then exit
        -V, --version   print version number, then exit
        -q, --quiet     do not print progress messages
        -d, --debug     don't remove temporary files
      
      Report bugs to ."
      
      lt_cl_version="\
      m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
      m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
      configured by $[0], generated by m4_PACKAGE_STRING.
      
      Copyright (C) 2011 Free Software Foundation, Inc.
      This config.lt script is free software; the Free Software Foundation
      gives unlimited permision to copy, distribute and modify it."
      
      while test 0 != $[#]
      do
        case $[1] in
          --version | --v* | -V )
            echo "$lt_cl_version"; exit 0 ;;
          --help | --h* | -h )
            echo "$lt_cl_help"; exit 0 ;;
          --debug | --d* | -d )
            debug=: ;;
          --quiet | --q* | --silent | --s* | -q )
            lt_cl_silent=: ;;
      
          -*) AC_MSG_ERROR([unrecognized option: $[1]
      Try '$[0] --help' for more information.]) ;;
      
          *) AC_MSG_ERROR([unrecognized argument: $[1]
      Try '$[0] --help' for more information.]) ;;
        esac
        shift
      done
      
      if $lt_cl_silent; then
        exec AS_MESSAGE_FD>/dev/null
      fi
      _LTEOF
      
      cat >>"$CONFIG_LT" <<_LTEOF
      _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
      _LTEOF
      
      cat >>"$CONFIG_LT" <<\_LTEOF
      AC_MSG_NOTICE([creating $ofile])
      _LT_OUTPUT_LIBTOOL_COMMANDS
      AS_EXIT(0)
      _LTEOF
      chmod +x "$CONFIG_LT"
      
      # configure is writing to config.log, but config.lt does its own redirection,
      # appending to config.log, which fails on DOS, as config.log is still kept
      # open by configure.  Here we exec the FD to /dev/null, effectively closing
      # config.log, so it can be properly (re)opened and appended to by config.lt.
      lt_cl_success=:
      test yes = "$silent" &&
        lt_config_lt_args="$lt_config_lt_args --quiet"
      exec AS_MESSAGE_LOG_FD>/dev/null
      $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
      exec AS_MESSAGE_LOG_FD>>config.log
      $lt_cl_success || AS_EXIT(1)
      ])# LT_OUTPUT
      
      
      # _LT_CONFIG(TAG)
      # ---------------
      # If TAG is the built-in tag, create an initial libtool script with a
      # default configuration from the untagged config vars.  Otherwise add code
      # to config.status for appending the configuration named by TAG from the
      # matching tagged config vars.
      m4_defun([_LT_CONFIG],
      [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      _LT_CONFIG_SAVE_COMMANDS([
        m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
        m4_if(_LT_TAG, [C], [
          # See if we are running on zsh, and set the options that allow our
          # commands through without removal of \ escapes.
          if test -n "${ZSH_VERSION+set}"; then
            setopt NO_GLOB_SUBST
          fi
      
          cfgfile=${ofile}T
          trap "$RM \"$cfgfile\"; exit 1" 1 2 15
          $RM "$cfgfile"
      
          cat <<_LT_EOF >> "$cfgfile"
      #! $SHELL
      # Generated automatically by $as_me ($PACKAGE) $VERSION
      # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
      # NOTE: Changes made to this file will be lost: look at ltmain.sh.
      
      # Provide generalized library-building support services.
      # Written by Gordon Matzigkeit, 1996
      
      _LT_COPYING
      _LT_LIBTOOL_TAGS
      
      # Configured defaults for sys_lib_dlsearch_path munging.
      : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
      
      # ### BEGIN LIBTOOL CONFIG
      _LT_LIBTOOL_CONFIG_VARS
      _LT_LIBTOOL_TAG_VARS
      # ### END LIBTOOL CONFIG
      
      _LT_EOF
      
          cat <<'_LT_EOF' >> "$cfgfile"
      
      # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
      
      _LT_PREPARE_MUNGE_PATH_LIST
      _LT_PREPARE_CC_BASENAME
      
      # ### END FUNCTIONS SHARED WITH CONFIGURE
      
      _LT_EOF
      
        case $host_os in
        aix3*)
          cat <<\_LT_EOF >> "$cfgfile"
      # AIX sometimes has problems with the GCC collect2 program.  For some
      # reason, if we set the COLLECT_NAMES environment variable, the problems
      # vanish in a puff of smoke.
      if test set != "${COLLECT_NAMES+set}"; then
        COLLECT_NAMES=
        export COLLECT_NAMES
      fi
      _LT_EOF
          ;;
        esac
      
        _LT_PROG_LTMAIN
      
        # We use sed instead of cat because bash on DJGPP gets confused if
        # if finds mixed CR/LF and LF-only lines.  Since sed operates in
        # text mode, it properly converts lines to CR/LF.  This bash problem
        # is reportedly fixed, but why not run on old versions too?
        sed '$q' "$ltmain" >> "$cfgfile" \
           || (rm -f "$cfgfile"; exit 1)
      
         mv -f "$cfgfile" "$ofile" ||
          (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
        chmod +x "$ofile"
      ],
      [cat <<_LT_EOF >> "$ofile"
      
      dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
      dnl in a comment (ie after a #).
      # ### BEGIN LIBTOOL TAG CONFIG: $1
      _LT_LIBTOOL_TAG_VARS(_LT_TAG)
      # ### END LIBTOOL TAG CONFIG: $1
      _LT_EOF
      ])dnl /m4_if
      ],
      [m4_if([$1], [], [
          PACKAGE='$PACKAGE'
          VERSION='$VERSION'
          RM='$RM'
          ofile='$ofile'], [])
      ])dnl /_LT_CONFIG_SAVE_COMMANDS
      ])# _LT_CONFIG
      
      
      # LT_SUPPORTED_TAG(TAG)
      # ---------------------
      # Trace this macro to discover what tags are supported by the libtool
      # --tag option, using:
      #    autoconf --trace 'LT_SUPPORTED_TAG:$1'
      AC_DEFUN([LT_SUPPORTED_TAG], [])
      
      
      # C support is built-in for now
      m4_define([_LT_LANG_C_enabled], [])
      m4_define([_LT_TAGS], [])
      
      
      # LT_LANG(LANG)
      # -------------
      # Enable libtool support for the given language if not already enabled.
      AC_DEFUN([LT_LANG],
      [AC_BEFORE([$0], [LT_OUTPUT])dnl
      m4_case([$1],
        [C],			[_LT_LANG(C)],
        [C++],		[_LT_LANG(CXX)],
        [Go],			[_LT_LANG(GO)],
        [Java],		[_LT_LANG(GCJ)],
        [Fortran 77],		[_LT_LANG(F77)],
        [Fortran],		[_LT_LANG(FC)],
        [Windows Resource],	[_LT_LANG(RC)],
        [m4_ifdef([_LT_LANG_]$1[_CONFIG],
          [_LT_LANG($1)],
          [m4_fatal([$0: unsupported language: "$1"])])])dnl
      ])# LT_LANG
      
      
      # _LT_LANG(LANGNAME)
      # ------------------
      m4_defun([_LT_LANG],
      [m4_ifdef([_LT_LANG_]$1[_enabled], [],
        [LT_SUPPORTED_TAG([$1])dnl
        m4_append([_LT_TAGS], [$1 ])dnl
        m4_define([_LT_LANG_]$1[_enabled], [])dnl
        _LT_LANG_$1_CONFIG($1)])dnl
      ])# _LT_LANG
      
      
      m4_ifndef([AC_PROG_GO], [
      ############################################################
      # NOTE: This macro has been submitted for inclusion into   #
      #  GNU Autoconf as AC_PROG_GO.  When it is available in    #
      #  a released version of Autoconf we should remove this    #
      #  macro and use it instead.                               #
      ############################################################
      m4_defun([AC_PROG_GO],
      [AC_LANG_PUSH(Go)dnl
      AC_ARG_VAR([GOC],     [Go compiler command])dnl
      AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
      _AC_ARG_VAR_LDFLAGS()dnl
      AC_CHECK_TOOL(GOC, gccgo)
      if test -z "$GOC"; then
        if test -n "$ac_tool_prefix"; then
          AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
        fi
      fi
      if test -z "$GOC"; then
        AC_CHECK_PROG(GOC, gccgo, gccgo, false)
      fi
      ])#m4_defun
      ])#m4_ifndef
      
      
      # _LT_LANG_DEFAULT_CONFIG
      # -----------------------
      m4_defun([_LT_LANG_DEFAULT_CONFIG],
      [AC_PROVIDE_IFELSE([AC_PROG_CXX],
        [LT_LANG(CXX)],
        [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
      
      AC_PROVIDE_IFELSE([AC_PROG_F77],
        [LT_LANG(F77)],
        [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
      
      AC_PROVIDE_IFELSE([AC_PROG_FC],
        [LT_LANG(FC)],
        [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
      
      dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
      dnl pulling things in needlessly.
      AC_PROVIDE_IFELSE([AC_PROG_GCJ],
        [LT_LANG(GCJ)],
        [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
          [LT_LANG(GCJ)],
          [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
            [LT_LANG(GCJ)],
            [m4_ifdef([AC_PROG_GCJ],
      	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
             m4_ifdef([A][M_PROG_GCJ],
      	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
             m4_ifdef([LT_PROG_GCJ],
      	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
      
      AC_PROVIDE_IFELSE([AC_PROG_GO],
        [LT_LANG(GO)],
        [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
      
      AC_PROVIDE_IFELSE([LT_PROG_RC],
        [LT_LANG(RC)],
        [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
      ])# _LT_LANG_DEFAULT_CONFIG
      
      # Obsolete macros:
      AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
      AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
      AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
      AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
      AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
      dnl AC_DEFUN([AC_LIBTOOL_F77], [])
      dnl AC_DEFUN([AC_LIBTOOL_FC], [])
      dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
      dnl AC_DEFUN([AC_LIBTOOL_RC], [])
      
      
      # _LT_TAG_COMPILER
      # ----------------
      m4_defun([_LT_TAG_COMPILER],
      [AC_REQUIRE([AC_PROG_CC])dnl
      
      _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
      _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
      _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
      _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
      
      # If no C compiler was specified, use CC.
      LTCC=${LTCC-"$CC"}
      
      # If no C compiler flags were specified, use CFLAGS.
      LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
      
      # Allow CC to be a program name with arguments.
      compiler=$CC
      ])# _LT_TAG_COMPILER
      
      
      # _LT_COMPILER_BOILERPLATE
      # ------------------------
      # Check for compiler boilerplate output or warnings with
      # the simple compiler test code.
      m4_defun([_LT_COMPILER_BOILERPLATE],
      [m4_require([_LT_DECL_SED])dnl
      ac_outfile=conftest.$ac_objext
      echo "$lt_simple_compile_test_code" >conftest.$ac_ext
      eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
      _lt_compiler_boilerplate=`cat conftest.err`
      $RM conftest*
      ])# _LT_COMPILER_BOILERPLATE
      
      
      # _LT_LINKER_BOILERPLATE
      # ----------------------
      # Check for linker boilerplate output or warnings with
      # the simple link test code.
      m4_defun([_LT_LINKER_BOILERPLATE],
      [m4_require([_LT_DECL_SED])dnl
      ac_outfile=conftest.$ac_objext
      echo "$lt_simple_link_test_code" >conftest.$ac_ext
      eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
      _lt_linker_boilerplate=`cat conftest.err`
      $RM -r conftest*
      ])# _LT_LINKER_BOILERPLATE
      
      # _LT_REQUIRED_DARWIN_CHECKS
      # -------------------------
      m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
        case $host_os in
          rhapsody* | darwin*)
          AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
          AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
          AC_CHECK_TOOL([LIPO], [lipo], [:])
          AC_CHECK_TOOL([OTOOL], [otool], [:])
          AC_CHECK_TOOL([OTOOL64], [otool64], [:])
          _LT_DECL([], [DSYMUTIL], [1],
            [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
          _LT_DECL([], [NMEDIT], [1],
            [Tool to change global to local symbols on Mac OS X])
          _LT_DECL([], [LIPO], [1],
            [Tool to manipulate fat objects and archives on Mac OS X])
          _LT_DECL([], [OTOOL], [1],
            [ldd/readelf like tool for Mach-O binaries on Mac OS X])
          _LT_DECL([], [OTOOL64], [1],
            [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
      
          AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
            [lt_cv_apple_cc_single_mod=no
            if test -z "$LT_MULTI_MODULE"; then
      	# By default we will add the -single_module flag. You can override
      	# by either setting the environment variable LT_MULTI_MODULE
      	# non-empty at configure time, or by adding -multi_module to the
      	# link flags.
      	rm -rf libconftest.dylib*
      	echo "int foo(void){return 1;}" > conftest.c
      	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
      -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
      	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
      	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
              _lt_result=$?
      	# If there is a non-empty error log, and "single_module"
      	# appears in it, assume the flag caused a linker warning
              if test -s conftest.err && $GREP single_module conftest.err; then
      	  cat conftest.err >&AS_MESSAGE_LOG_FD
      	# Otherwise, if the output was created with a 0 exit code from
      	# the compiler, it worked.
      	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
      	  lt_cv_apple_cc_single_mod=yes
      	else
      	  cat conftest.err >&AS_MESSAGE_LOG_FD
      	fi
      	rm -rf libconftest.dylib*
      	rm -f conftest.*
            fi])
      
          AC_CACHE_CHECK([for -exported_symbols_list linker flag],
            [lt_cv_ld_exported_symbols_list],
            [lt_cv_ld_exported_symbols_list=no
            save_LDFLAGS=$LDFLAGS
            echo "_main" > conftest.sym
            LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
            AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
      	[lt_cv_ld_exported_symbols_list=yes],
      	[lt_cv_ld_exported_symbols_list=no])
      	LDFLAGS=$save_LDFLAGS
          ])
      
          AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
            [lt_cv_ld_force_load=no
            cat > conftest.c << _LT_EOF
      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 "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
            $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
            cat > conftest.c << _LT_EOF
      int main() { return 0;}
      _LT_EOF
            echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
            $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
            _lt_result=$?
            if test -s conftest.err && $GREP force_load conftest.err; then
      	cat conftest.err >&AS_MESSAGE_LOG_FD
            elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
      	lt_cv_ld_force_load=yes
            else
      	cat conftest.err >&AS_MESSAGE_LOG_FD
            fi
              rm -f conftest.err libconftest.a conftest conftest.c
              rm -rf conftest.dSYM
          ])
          case $host_os in
          rhapsody* | darwin1.[[012]])
            _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
          darwin1.*)
            _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
          darwin*) # darwin 5.x on
            # if running on 10.5 or later, the deployment target defaults
            # to the OS version, if on x86, and 10.4, the deployment
            # target defaults to 10.4. Don't you love it?
            case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
      	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
      	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
      	10.[[012]][[,.]]*)
      	  _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
      	10.*)
      	  _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
            esac
          ;;
        esac
          if test yes = "$lt_cv_apple_cc_single_mod"; then
            _lt_dar_single_mod='$single_module'
          fi
          if test yes = "$lt_cv_ld_exported_symbols_list"; then
            _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
          else
            _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
          fi
          if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
            _lt_dsymutil='~$DSYMUTIL $lib || :'
          else
            _lt_dsymutil=
          fi
          ;;
        esac
      ])
      
      
      # _LT_DARWIN_LINKER_FEATURES([TAG])
      # ---------------------------------
      # Checks for linker and compiler features on darwin
      m4_defun([_LT_DARWIN_LINKER_FEATURES],
      [
        m4_require([_LT_REQUIRED_DARWIN_CHECKS])
        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
        _LT_TAGVAR(hardcode_direct, $1)=no
        _LT_TAGVAR(hardcode_automatic, $1)=yes
        _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
        if test yes = "$lt_cv_ld_force_load"; then
          _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
          m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
                        [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
        else
          _LT_TAGVAR(whole_archive_flag_spec, $1)=''
        fi
        _LT_TAGVAR(link_all_deplibs, $1)=yes
        _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
        case $cc_basename in
           ifort*|nagfor*) _lt_dar_can_shared=yes ;;
           *) _lt_dar_can_shared=$GCC ;;
        esac
        if test yes = "$_lt_dar_can_shared"; then
          output_verbose_link_cmd=func_echo_all
          _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
          _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
          _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
          _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
          m4_if([$1], [CXX],
      [   if test yes != "$lt_cv_apple_cc_single_mod"; then
            _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
            _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
          fi
      ],[])
        else
        _LT_TAGVAR(ld_shlibs, $1)=no
        fi
      ])
      
      # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
      # ----------------------------------
      # Links a minimal program and checks the executable
      # for the system default hardcoded library path. In most cases,
      # this is /usr/lib:/lib, but when the MPI compilers are used
      # the location of the communication and MPI libs are included too.
      # If we don't find anything, use the default library path according
      # to the aix ld manual.
      # Store the results from the different compilers for each TAGNAME.
      # Allow to override them for all tags through lt_cv_aix_libpath.
      m4_defun([_LT_SYS_MODULE_PATH_AIX],
      [m4_require([_LT_DECL_SED])dnl
      if test set = "${lt_cv_aix_libpath+set}"; then
        aix_libpath=$lt_cv_aix_libpath
      else
        AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
        [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
        lt_aix_libpath_sed='[
            /Import File Strings/,/^$/ {
      	  /^0/ {
      	      s/^0  *\([^ ]*\) *$/\1/
      	      p
      	  }
            }]'
        _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
        # Check for a 64-bit object if we didn't find anything.
        if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
          _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
        fi],[])
        if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
          _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
        fi
        ])
        aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
      fi
      ])# _LT_SYS_MODULE_PATH_AIX
      
      
      # _LT_SHELL_INIT(ARG)
      # -------------------
      m4_define([_LT_SHELL_INIT],
      [m4_divert_text([M4SH-INIT], [$1
      ])])# _LT_SHELL_INIT
      
      
      
      # _LT_PROG_ECHO_BACKSLASH
      # -----------------------
      # Find how we can fake an echo command that does not interpret backslash.
      # In particular, with Autoconf 2.60 or later we add some code to the start
      # of the generated configure script that will find a shell with a builtin
      # printf (that we can use as an echo command).
      m4_defun([_LT_PROG_ECHO_BACKSLASH],
      [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
      ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
      ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
      
      AC_MSG_CHECKING([how to print strings])
      # Test print first, because it will be a builtin if present.
      if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
         test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
        ECHO='print -r --'
      elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
        ECHO='printf %s\n'
      else
        # Use this function as a fallback that always works.
        func_fallback_echo ()
        {
          eval 'cat <<_LTECHO_EOF
      $[]1
      _LTECHO_EOF'
        }
        ECHO='func_fallback_echo'
      fi
      
      # func_echo_all arg...
      # Invoke $ECHO with all args, space-separated.
      func_echo_all ()
      {
          $ECHO "$*"
      }
      
      case $ECHO in
        printf*) AC_MSG_RESULT([printf]) ;;
        print*) AC_MSG_RESULT([print -r]) ;;
        *) AC_MSG_RESULT([cat]) ;;
      esac
      
      m4_ifdef([_AS_DETECT_SUGGESTED],
      [_AS_DETECT_SUGGESTED([
        test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
          ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
          ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
          ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
          PATH=/empty FPATH=/empty; export PATH FPATH
          test "X`printf %s $ECHO`" = "X$ECHO" \
            || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
      
      _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
      _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
      ])# _LT_PROG_ECHO_BACKSLASH
      
      
      # _LT_WITH_SYSROOT
      # ----------------
      AC_DEFUN([_LT_WITH_SYSROOT],
      [AC_MSG_CHECKING([for sysroot])
      AC_ARG_WITH([sysroot],
      [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
        [Search for dependent libraries within DIR (or the compiler's sysroot
         if not specified).])],
      [], [with_sysroot=no])
      
      dnl lt_sysroot will always be passed unquoted.  We quote it here
      dnl in case the user passed a directory name.
      lt_sysroot=
      case $with_sysroot in #(
       yes)
         if test yes = "$GCC"; then
           lt_sysroot=`$CC --print-sysroot 2>/dev/null`
         fi
         ;; #(
       /*)
         lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
         ;; #(
       no|'')
         ;; #(
       *)
         AC_MSG_RESULT([$with_sysroot])
         AC_MSG_ERROR([The sysroot must be an absolute path.])
         ;;
      esac
      
       AC_MSG_RESULT([${lt_sysroot:-no}])
      _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
      [dependent libraries, and where our libraries should be installed.])])
      
      # _LT_ENABLE_LOCK
      # ---------------
      m4_defun([_LT_ENABLE_LOCK],
      [AC_ARG_ENABLE([libtool-lock],
        [AS_HELP_STRING([--disable-libtool-lock],
          [avoid locking (might break parallel builds)])])
      test no = "$enable_libtool_lock" || enable_libtool_lock=yes
      
      # Some flags need to be propagated to the compiler or linker for good
      # libtool support.
      case $host in
      ia64-*-hpux*)
        # Find out what ABI is being produced by ac_compile, and set mode
        # options accordingly.
        echo 'int i;' > conftest.$ac_ext
        if AC_TRY_EVAL(ac_compile); then
          case `/usr/bin/file conftest.$ac_objext` in
            *ELF-32*)
      	HPUX_IA64_MODE=32
      	;;
            *ELF-64*)
      	HPUX_IA64_MODE=64
      	;;
          esac
        fi
        rm -rf conftest*
        ;;
      *-*-irix6*)
        # Find out what ABI is being produced by ac_compile, and set linker
        # options accordingly.
        echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
        if AC_TRY_EVAL(ac_compile); then
          if test yes = "$lt_cv_prog_gnu_ld"; then
            case `/usr/bin/file conftest.$ac_objext` in
      	*32-bit*)
      	  LD="${LD-ld} -melf32bsmip"
      	  ;;
      	*N32*)
      	  LD="${LD-ld} -melf32bmipn32"
      	  ;;
      	*64-bit*)
      	  LD="${LD-ld} -melf64bmip"
      	;;
            esac
          else
            case `/usr/bin/file conftest.$ac_objext` in
      	*32-bit*)
      	  LD="${LD-ld} -32"
      	  ;;
      	*N32*)
      	  LD="${LD-ld} -n32"
      	  ;;
      	*64-bit*)
      	  LD="${LD-ld} -64"
      	  ;;
            esac
          fi
        fi
        rm -rf conftest*
        ;;
      
      mips64*-*linux*)
        # Find out what ABI is being produced by ac_compile, and set linker
        # options accordingly.
        echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
        if AC_TRY_EVAL(ac_compile); then
          emul=elf
          case `/usr/bin/file conftest.$ac_objext` in
            *32-bit*)
      	emul="${emul}32"
      	;;
            *64-bit*)
      	emul="${emul}64"
      	;;
          esac
          case `/usr/bin/file conftest.$ac_objext` in
            *MSB*)
      	emul="${emul}btsmip"
      	;;
            *LSB*)
      	emul="${emul}ltsmip"
      	;;
          esac
          case `/usr/bin/file conftest.$ac_objext` in
            *N32*)
      	emul="${emul}n32"
      	;;
          esac
          LD="${LD-ld} -m $emul"
        fi
        rm -rf conftest*
        ;;
      
      x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
      s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
        # Find out what ABI is being produced by ac_compile, and set linker
        # options accordingly.  Note that the listed cases only cover the
        # situations where additional linker options are needed (such as when
        # doing 32-bit compilation for a host where ld defaults to 64-bit, or
        # vice versa); the common cases where no linker options are needed do
        # not appear in the list.
        echo 'int i;' > conftest.$ac_ext
        if AC_TRY_EVAL(ac_compile); then
          case `/usr/bin/file conftest.o` in
            *32-bit*)
      	case $host in
      	  x86_64-*kfreebsd*-gnu)
      	    LD="${LD-ld} -m elf_i386_fbsd"
      	    ;;
      	  x86_64-*linux*)
      	    case `/usr/bin/file conftest.o` in
      	      *x86-64*)
      		LD="${LD-ld} -m elf32_x86_64"
      		;;
      	      *)
      		LD="${LD-ld} -m elf_i386"
      		;;
      	    esac
      	    ;;
      	  powerpc64le-*linux*)
      	    LD="${LD-ld} -m elf32lppclinux"
      	    ;;
      	  powerpc64-*linux*)
      	    LD="${LD-ld} -m elf32ppclinux"
      	    ;;
      	  s390x-*linux*)
      	    LD="${LD-ld} -m elf_s390"
      	    ;;
      	  sparc64-*linux*)
      	    LD="${LD-ld} -m elf32_sparc"
      	    ;;
      	esac
      	;;
            *64-bit*)
      	case $host in
      	  x86_64-*kfreebsd*-gnu)
      	    LD="${LD-ld} -m elf_x86_64_fbsd"
      	    ;;
      	  x86_64-*linux*)
      	    LD="${LD-ld} -m elf_x86_64"
      	    ;;
      	  powerpcle-*linux*)
      	    LD="${LD-ld} -m elf64lppc"
      	    ;;
      	  powerpc-*linux*)
      	    LD="${LD-ld} -m elf64ppc"
      	    ;;
      	  s390*-*linux*|s390*-*tpf*)
      	    LD="${LD-ld} -m elf64_s390"
      	    ;;
      	  sparc*-*linux*)
      	    LD="${LD-ld} -m elf64_sparc"
      	    ;;
      	esac
      	;;
          esac
        fi
        rm -rf conftest*
        ;;
      
      *-*-sco3.2v5*)
        # On SCO OpenServer 5, we need -belf to get full-featured binaries.
        SAVE_CFLAGS=$CFLAGS
        CFLAGS="$CFLAGS -belf"
        AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
          [AC_LANG_PUSH(C)
           AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
           AC_LANG_POP])
        if test yes != "$lt_cv_cc_needs_belf"; then
          # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
          CFLAGS=$SAVE_CFLAGS
        fi
        ;;
      *-*solaris*)
        # Find out what ABI is being produced by ac_compile, and set linker
        # options accordingly.
        echo 'int i;' > conftest.$ac_ext
        if AC_TRY_EVAL(ac_compile); then
          case `/usr/bin/file conftest.o` in
          *64-bit*)
            case $lt_cv_prog_gnu_ld in
            yes*)
              case $host in
              i?86-*-solaris*|x86_64-*-solaris*)
                LD="${LD-ld} -m elf_x86_64"
                ;;
              sparc*-*-solaris*)
                LD="${LD-ld} -m elf64_sparc"
                ;;
              esac
              # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
              if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
                LD=${LD-ld}_sol2
              fi
              ;;
            *)
      	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
      	  LD="${LD-ld} -64"
      	fi
      	;;
            esac
            ;;
          esac
        fi
        rm -rf conftest*
        ;;
      esac
      
      need_locks=$enable_libtool_lock
      ])# _LT_ENABLE_LOCK
      
      
      # _LT_PROG_AR
      # -----------
      m4_defun([_LT_PROG_AR],
      [AC_CHECK_TOOLS(AR, [ar], false)
      : ${AR=ar}
      : ${AR_FLAGS=cru}
      _LT_DECL([], [AR], [1], [The archiver])
      _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
      
      AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
        [lt_cv_ar_at_file=no
         AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
           [echo conftest.$ac_objext > conftest.lst
            lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
            AC_TRY_EVAL([lt_ar_try])
            if test 0 -eq "$ac_status"; then
      	# Ensure the archiver fails upon bogus file names.
      	rm -f conftest.$ac_objext libconftest.a
      	AC_TRY_EVAL([lt_ar_try])
      	if test 0 -ne "$ac_status"; then
                lt_cv_ar_at_file=@
              fi
            fi
            rm -f conftest.* libconftest.a
           ])
        ])
      
      if test no = "$lt_cv_ar_at_file"; then
        archiver_list_spec=
      else
        archiver_list_spec=$lt_cv_ar_at_file
      fi
      _LT_DECL([], [archiver_list_spec], [1],
        [How to feed a file listing to the archiver])
      ])# _LT_PROG_AR
      
      
      # _LT_CMD_OLD_ARCHIVE
      # -------------------
      m4_defun([_LT_CMD_OLD_ARCHIVE],
      [_LT_PROG_AR
      
      AC_CHECK_TOOL(STRIP, strip, :)
      test -z "$STRIP" && STRIP=:
      _LT_DECL([], [STRIP], [1], [A symbol stripping program])
      
      AC_CHECK_TOOL(RANLIB, ranlib, :)
      test -z "$RANLIB" && RANLIB=:
      _LT_DECL([], [RANLIB], [1],
          [Commands used to install an old-style archive])
      
      # Determine commands to create old-style static archives.
      old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
      old_postinstall_cmds='chmod 644 $oldlib'
      old_postuninstall_cmds=
      
      if test -n "$RANLIB"; then
        case $host_os in
        bitrig* | openbsd*)
          old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
          ;;
        *)
          old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
          ;;
        esac
        old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
      fi
      
      case $host_os in
        darwin*)
          lock_old_archive_extraction=yes ;;
        *)
          lock_old_archive_extraction=no ;;
      esac
      _LT_DECL([], [old_postinstall_cmds], [2])
      _LT_DECL([], [old_postuninstall_cmds], [2])
      _LT_TAGDECL([], [old_archive_cmds], [2],
          [Commands used to build an old-style archive])
      _LT_DECL([], [lock_old_archive_extraction], [0],
          [Whether to use a lock for old archive extraction])
      ])# _LT_CMD_OLD_ARCHIVE
      
      
      # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
      #		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
      # ----------------------------------------------------------------
      # Check whether the given compiler option works
      AC_DEFUN([_LT_COMPILER_OPTION],
      [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      m4_require([_LT_DECL_SED])dnl
      AC_CACHE_CHECK([$1], [$2],
        [$2=no
         m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
         echo "$lt_simple_compile_test_code" > conftest.$ac_ext
         lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
         # Insert the option either (1) after the last *FLAGS variable, or
         # (2) before a word containing "conftest.", or (3) at the end.
         # Note that $ac_compile itself does not contain backslashes and begins
         # with a dollar sign (not a hyphen), so the echo should work correctly.
         # The option is referenced via a variable to avoid confusing sed.
         lt_compile=`echo "$ac_compile" | $SED \
         -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
         -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
         -e 's:$: $lt_compiler_flag:'`
         (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
         (eval "$lt_compile" 2>conftest.err)
         ac_status=$?
         cat conftest.err >&AS_MESSAGE_LOG_FD
         echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
         if (exit $ac_status) && test -s "$ac_outfile"; then
           # The compiler can only warn and ignore the option if not recognized
           # So say no if there are warnings other than the usual output.
           $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
           $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
           if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
             $2=yes
           fi
         fi
         $RM conftest*
      ])
      
      if test yes = "[$]$2"; then
          m4_if([$5], , :, [$5])
      else
          m4_if([$6], , :, [$6])
      fi
      ])# _LT_COMPILER_OPTION
      
      # Old name:
      AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
      
      
      # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
      #                  [ACTION-SUCCESS], [ACTION-FAILURE])
      # ----------------------------------------------------
      # Check whether the given linker option works
      AC_DEFUN([_LT_LINKER_OPTION],
      [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      m4_require([_LT_DECL_SED])dnl
      AC_CACHE_CHECK([$1], [$2],
        [$2=no
         save_LDFLAGS=$LDFLAGS
         LDFLAGS="$LDFLAGS $3"
         echo "$lt_simple_link_test_code" > conftest.$ac_ext
         if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
           # The linker can only warn and ignore the option if not recognized
           # So say no if there are warnings
           if test -s conftest.err; then
             # Append any errors to the config.log.
             cat conftest.err 1>&AS_MESSAGE_LOG_FD
             $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
             $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
             if diff conftest.exp conftest.er2 >/dev/null; then
               $2=yes
             fi
           else
             $2=yes
           fi
         fi
         $RM -r conftest*
         LDFLAGS=$save_LDFLAGS
      ])
      
      if test yes = "[$]$2"; then
          m4_if([$4], , :, [$4])
      else
          m4_if([$5], , :, [$5])
      fi
      ])# _LT_LINKER_OPTION
      
      # Old name:
      AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
      
      
      # LT_CMD_MAX_LEN
      #---------------
      AC_DEFUN([LT_CMD_MAX_LEN],
      [AC_REQUIRE([AC_CANONICAL_HOST])dnl
      # find the maximum length of command line arguments
      AC_MSG_CHECKING([the maximum length of command line arguments])
      AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
        i=0
        teststring=ABCD
      
        case $build_os in
        msdosdjgpp*)
          # On DJGPP, this test can blow up pretty badly due to problems in libc
          # (any single argument exceeding 2000 bytes causes a buffer overrun
          # during glob expansion).  Even if it were fixed, the result of this
          # check would be larger than it should be.
          lt_cv_sys_max_cmd_len=12288;    # 12K is about right
          ;;
      
        gnu*)
          # Under GNU Hurd, this test is not required because there is
          # no limit to the length of command line arguments.
          # Libtool will interpret -1 as no limit whatsoever
          lt_cv_sys_max_cmd_len=-1;
          ;;
      
        cygwin* | mingw* | cegcc*)
          # On Win9x/ME, this test blows up -- it succeeds, but takes
          # about 5 minutes as the teststring grows exponentially.
          # Worse, since 9x/ME are not pre-emptively multitasking,
          # you end up with a "frozen" computer, even though with patience
          # the test eventually succeeds (with a max line length of 256k).
          # Instead, let's just punt: use the minimum linelength reported by
          # all of the supported platforms: 8192 (on NT/2K/XP).
          lt_cv_sys_max_cmd_len=8192;
          ;;
      
        mint*)
          # On MiNT this can take a long time and run out of memory.
          lt_cv_sys_max_cmd_len=8192;
          ;;
      
        amigaos*)
          # On AmigaOS with pdksh, this test takes hours, literally.
          # So we just punt and use a minimum line length of 8192.
          lt_cv_sys_max_cmd_len=8192;
          ;;
      
        bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
          # This has been around since 386BSD, at least.  Likely further.
          if test -x /sbin/sysctl; then
            lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
          elif test -x /usr/sbin/sysctl; then
            lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
          else
            lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
          fi
          # And add a safety zone
          lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
          lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
          ;;
      
        interix*)
          # We know the value 262144 and hardcode it with a safety zone (like BSD)
          lt_cv_sys_max_cmd_len=196608
          ;;
      
        os2*)
          # The test takes a long time on OS/2.
          lt_cv_sys_max_cmd_len=8192
          ;;
      
        osf*)
          # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
          # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
          # nice to cause kernel panics so lets avoid the loop below.
          # First set a reasonable default.
          lt_cv_sys_max_cmd_len=16384
          #
          if test -x /sbin/sysconfig; then
            case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
              *1*) lt_cv_sys_max_cmd_len=-1 ;;
            esac
          fi
          ;;
        sco3.2v5*)
          lt_cv_sys_max_cmd_len=102400
          ;;
        sysv5* | sco5v6* | sysv4.2uw2*)
          kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
          if test -n "$kargmax"; then
            lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
          else
            lt_cv_sys_max_cmd_len=32768
          fi
          ;;
        *)
          lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
          if test -n "$lt_cv_sys_max_cmd_len" && \
             test undefined != "$lt_cv_sys_max_cmd_len"; then
            lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
            lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
          else
            # Make teststring a little bigger before we do anything with it.
            # a 1K string should be a reasonable start.
            for i in 1 2 3 4 5 6 7 8; do
              teststring=$teststring$teststring
            done
            SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
            # If test is not a shell built-in, we'll probably end up computing a
            # maximum length that is only half of the actual maximum length, but
            # we can't tell.
            while { test X`env echo "$teststring$teststring" 2>/dev/null` \
      	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
      	      test 17 != "$i" # 1/2 MB should be enough
            do
              i=`expr $i + 1`
              teststring=$teststring$teststring
            done
            # Only check the string length outside the loop.
            lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
            teststring=
            # Add a significant safety factor because C++ compilers can tack on
            # massive amounts of additional arguments before passing them to the
            # linker.  It appears as though 1/2 is a usable value.
            lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
          fi
          ;;
        esac
      ])
      if test -n "$lt_cv_sys_max_cmd_len"; then
        AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
      else
        AC_MSG_RESULT(none)
      fi
      max_cmd_len=$lt_cv_sys_max_cmd_len
      _LT_DECL([], [max_cmd_len], [0],
          [What is the maximum length of a command?])
      ])# LT_CMD_MAX_LEN
      
      # Old name:
      AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
      
      
      # _LT_HEADER_DLFCN
      # ----------------
      m4_defun([_LT_HEADER_DLFCN],
      [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
      ])# _LT_HEADER_DLFCN
      
      
      # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
      #                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
      # ----------------------------------------------------------------
      m4_defun([_LT_TRY_DLOPEN_SELF],
      [m4_require([_LT_HEADER_DLFCN])dnl
      if test yes = "$cross_compiling"; then :
        [$4]
      else
        lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
        lt_status=$lt_dlunknown
        cat > conftest.$ac_ext <<_LT_EOF
      [#line $LINENO "configure"
      #include "confdefs.h"
      
      #if HAVE_DLFCN_H
      #include 
      #endif
      
      #include 
      
      #ifdef RTLD_GLOBAL
      #  define LT_DLGLOBAL		RTLD_GLOBAL
      #else
      #  ifdef DL_GLOBAL
      #    define LT_DLGLOBAL		DL_GLOBAL
      #  else
      #    define LT_DLGLOBAL		0
      #  endif
      #endif
      
      /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
         find out it does not work in some platform. */
      #ifndef LT_DLLAZY_OR_NOW
      #  ifdef RTLD_LAZY
      #    define LT_DLLAZY_OR_NOW		RTLD_LAZY
      #  else
      #    ifdef DL_LAZY
      #      define LT_DLLAZY_OR_NOW		DL_LAZY
      #    else
      #      ifdef RTLD_NOW
      #        define LT_DLLAZY_OR_NOW	RTLD_NOW
      #      else
      #        ifdef DL_NOW
      #          define LT_DLLAZY_OR_NOW	DL_NOW
      #        else
      #          define LT_DLLAZY_OR_NOW	0
      #        endif
      #      endif
      #    endif
      #  endif
      #endif
      
      /* When -fvisibility=hidden is used, assume the code has been annotated
         correspondingly for the symbols needed.  */
      #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
      int fnord () __attribute__((visibility("default")));
      #endif
      
      int fnord () { return 42; }
      int main ()
      {
        void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
        int status = $lt_dlunknown;
      
        if (self)
          {
            if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
            else
              {
      	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
                else puts (dlerror ());
      	}
            /* dlclose (self); */
          }
        else
          puts (dlerror ());
      
        return status;
      }]
      _LT_EOF
        if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
          (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
          lt_status=$?
          case x$lt_status in
            x$lt_dlno_uscore) $1 ;;
            x$lt_dlneed_uscore) $2 ;;
            x$lt_dlunknown|x*) $3 ;;
          esac
        else :
          # compilation failed
          $3
        fi
      fi
      rm -fr conftest*
      ])# _LT_TRY_DLOPEN_SELF
      
      
      # LT_SYS_DLOPEN_SELF
      # ------------------
      AC_DEFUN([LT_SYS_DLOPEN_SELF],
      [m4_require([_LT_HEADER_DLFCN])dnl
      if test yes != "$enable_dlopen"; then
        enable_dlopen=unknown
        enable_dlopen_self=unknown
        enable_dlopen_self_static=unknown
      else
        lt_cv_dlopen=no
        lt_cv_dlopen_libs=
      
        case $host_os in
        beos*)
          lt_cv_dlopen=load_add_on
          lt_cv_dlopen_libs=
          lt_cv_dlopen_self=yes
          ;;
      
        mingw* | pw32* | cegcc*)
          lt_cv_dlopen=LoadLibrary
          lt_cv_dlopen_libs=
          ;;
      
        cygwin*)
          lt_cv_dlopen=dlopen
          lt_cv_dlopen_libs=
          ;;
      
        darwin*)
          # if libdl is installed we need to link against it
          AC_CHECK_LIB([dl], [dlopen],
      		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
          lt_cv_dlopen=dyld
          lt_cv_dlopen_libs=
          lt_cv_dlopen_self=yes
          ])
          ;;
      
        tpf*)
          # Don't try to run any link tests for TPF.  We know it's impossible
          # because TPF is a cross-compiler, and we know how we open DSOs.
          lt_cv_dlopen=dlopen
          lt_cv_dlopen_libs=
          lt_cv_dlopen_self=no
          ;;
      
        *)
          AC_CHECK_FUNC([shl_load],
      	  [lt_cv_dlopen=shl_load],
            [AC_CHECK_LIB([dld], [shl_load],
      	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
      	[AC_CHECK_FUNC([dlopen],
      	      [lt_cv_dlopen=dlopen],
      	  [AC_CHECK_LIB([dl], [dlopen],
      		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
      	    [AC_CHECK_LIB([svld], [dlopen],
      		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
      	      [AC_CHECK_LIB([dld], [dld_link],
      		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
      	      ])
      	    ])
      	  ])
      	])
            ])
          ;;
        esac
      
        if test no = "$lt_cv_dlopen"; then
          enable_dlopen=no
        else
          enable_dlopen=yes
        fi
      
        case $lt_cv_dlopen in
        dlopen)
          save_CPPFLAGS=$CPPFLAGS
          test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
      
          save_LDFLAGS=$LDFLAGS
          wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
      
          save_LIBS=$LIBS
          LIBS="$lt_cv_dlopen_libs $LIBS"
      
          AC_CACHE_CHECK([whether a program can dlopen itself],
      	  lt_cv_dlopen_self, [dnl
      	  _LT_TRY_DLOPEN_SELF(
      	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
      	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
          ])
      
          if test yes = "$lt_cv_dlopen_self"; then
            wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
            AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
      	  lt_cv_dlopen_self_static, [dnl
      	  _LT_TRY_DLOPEN_SELF(
      	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
      	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
            ])
          fi
      
          CPPFLAGS=$save_CPPFLAGS
          LDFLAGS=$save_LDFLAGS
          LIBS=$save_LIBS
          ;;
        esac
      
        case $lt_cv_dlopen_self in
        yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
        *) enable_dlopen_self=unknown ;;
        esac
      
        case $lt_cv_dlopen_self_static in
        yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
        *) enable_dlopen_self_static=unknown ;;
        esac
      fi
      _LT_DECL([dlopen_support], [enable_dlopen], [0],
      	 [Whether dlopen is supported])
      _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
      	 [Whether dlopen of programs is supported])
      _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
      	 [Whether dlopen of statically linked programs is supported])
      ])# LT_SYS_DLOPEN_SELF
      
      # Old name:
      AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
      
      
      # _LT_COMPILER_C_O([TAGNAME])
      # ---------------------------
      # Check to see if options -c and -o are simultaneously supported by compiler.
      # This macro does not hard code the compiler like AC_PROG_CC_C_O.
      m4_defun([_LT_COMPILER_C_O],
      [m4_require([_LT_DECL_SED])dnl
      m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      m4_require([_LT_TAG_COMPILER])dnl
      AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
        [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
        [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
         $RM -r conftest 2>/dev/null
         mkdir conftest
         cd conftest
         mkdir out
         echo "$lt_simple_compile_test_code" > conftest.$ac_ext
      
         lt_compiler_flag="-o out/conftest2.$ac_objext"
         # Insert the option either (1) after the last *FLAGS variable, or
         # (2) before a word containing "conftest.", or (3) at the end.
         # Note that $ac_compile itself does not contain backslashes and begins
         # with a dollar sign (not a hyphen), so the echo should work correctly.
         lt_compile=`echo "$ac_compile" | $SED \
         -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
         -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
         -e 's:$: $lt_compiler_flag:'`
         (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
         (eval "$lt_compile" 2>out/conftest.err)
         ac_status=$?
         cat out/conftest.err >&AS_MESSAGE_LOG_FD
         echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
         if (exit $ac_status) && test -s out/conftest2.$ac_objext
         then
           # The compiler can only warn and ignore the option if not recognized
           # So say no if there are warnings
           $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
           $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
           if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
             _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
           fi
         fi
         chmod u+w . 2>&AS_MESSAGE_LOG_FD
         $RM conftest*
         # SGI C++ compiler will create directory out/ii_files/ for
         # template instantiation
         test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
         $RM out/* && rmdir out
         cd ..
         $RM -r conftest
         $RM conftest*
      ])
      _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
      	[Does compiler simultaneously support -c and -o options?])
      ])# _LT_COMPILER_C_O
      
      
      # _LT_COMPILER_FILE_LOCKS([TAGNAME])
      # ----------------------------------
      # Check to see if we can do hard links to lock some files if needed
      m4_defun([_LT_COMPILER_FILE_LOCKS],
      [m4_require([_LT_ENABLE_LOCK])dnl
      m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      _LT_COMPILER_C_O([$1])
      
      hard_links=nottested
      if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
        # do not overwrite the value of need_locks provided by the user
        AC_MSG_CHECKING([if we can lock with hard links])
        hard_links=yes
        $RM conftest*
        ln conftest.a conftest.b 2>/dev/null && hard_links=no
        touch conftest.a
        ln conftest.a conftest.b 2>&5 || hard_links=no
        ln conftest.a conftest.b 2>/dev/null && hard_links=no
        AC_MSG_RESULT([$hard_links])
        if test no = "$hard_links"; then
          AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
          need_locks=warn
        fi
      else
        need_locks=no
      fi
      _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
      ])# _LT_COMPILER_FILE_LOCKS
      
      
      # _LT_CHECK_OBJDIR
      # ----------------
      m4_defun([_LT_CHECK_OBJDIR],
      [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
      [rm -f .libs 2>/dev/null
      mkdir .libs 2>/dev/null
      if test -d .libs; then
        lt_cv_objdir=.libs
      else
        # MS-DOS does not allow filenames that begin with a dot.
        lt_cv_objdir=_libs
      fi
      rmdir .libs 2>/dev/null])
      objdir=$lt_cv_objdir
      _LT_DECL([], [objdir], [0],
               [The name of the directory that contains temporary libtool files])dnl
      m4_pattern_allow([LT_OBJDIR])dnl
      AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
        [Define to the sub-directory where libtool stores uninstalled libraries.])
      ])# _LT_CHECK_OBJDIR
      
      
      # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
      # --------------------------------------
      # Check hardcoding attributes.
      m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
      [AC_MSG_CHECKING([how to hardcode library paths into programs])
      _LT_TAGVAR(hardcode_action, $1)=
      if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
         test -n "$_LT_TAGVAR(runpath_var, $1)" ||
         test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
      
        # We can hardcode non-existent directories.
        if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
           # If the only mechanism to avoid hardcoding is shlibpath_var, we
           # have to relink, otherwise we might link with an installed library
           # when we should be linking with a yet-to-be-installed one
           ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
           test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
          # Linking always hardcodes the temporary library directory.
          _LT_TAGVAR(hardcode_action, $1)=relink
        else
          # We can link without hardcoding, and we can hardcode nonexisting dirs.
          _LT_TAGVAR(hardcode_action, $1)=immediate
        fi
      else
        # We cannot hardcode anything, or else we can only hardcode existing
        # directories.
        _LT_TAGVAR(hardcode_action, $1)=unsupported
      fi
      AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
      
      if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
         test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
        # Fast installation is not supported
        enable_fast_install=no
      elif test yes = "$shlibpath_overrides_runpath" ||
           test no = "$enable_shared"; then
        # Fast installation is not necessary
        enable_fast_install=needless
      fi
      _LT_TAGDECL([], [hardcode_action], [0],
          [How to hardcode a shared library path into an executable])
      ])# _LT_LINKER_HARDCODE_LIBPATH
      
      
      # _LT_CMD_STRIPLIB
      # ----------------
      m4_defun([_LT_CMD_STRIPLIB],
      [m4_require([_LT_DECL_EGREP])
      striplib=
      old_striplib=
      AC_MSG_CHECKING([whether stripping libraries is possible])
      if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
        test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
        test -z "$striplib" && striplib="$STRIP --strip-unneeded"
        AC_MSG_RESULT([yes])
      else
      # FIXME - insert some real tests, host_os isn't really good enough
        case $host_os in
        darwin*)
          if test -n "$STRIP"; then
            striplib="$STRIP -x"
            old_striplib="$STRIP -S"
            AC_MSG_RESULT([yes])
          else
            AC_MSG_RESULT([no])
          fi
          ;;
        *)
          AC_MSG_RESULT([no])
          ;;
        esac
      fi
      _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
      _LT_DECL([], [striplib], [1])
      ])# _LT_CMD_STRIPLIB
      
      
      # _LT_PREPARE_MUNGE_PATH_LIST
      # ---------------------------
      # Make sure func_munge_path_list() is defined correctly.
      m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
      [[# func_munge_path_list VARIABLE PATH
      # -----------------------------------
      # VARIABLE is name of variable containing _space_ separated list of
      # directories to be munged by the contents of PATH, which is string
      # having a format:
      # "DIR[:DIR]:"
      #       string "DIR[ DIR]" will be prepended to VARIABLE
      # ":DIR[:DIR]"
      #       string "DIR[ DIR]" will be appended to VARIABLE
      # "DIRP[:DIRP]::[DIRA:]DIRA"
      #       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
      #       "DIRA[ DIRA]" will be appended to VARIABLE
      # "DIR[:DIR]"
      #       VARIABLE will be replaced by "DIR[ DIR]"
      func_munge_path_list ()
      {
          case x@S|@2 in
          x)
              ;;
          *:)
              eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
              ;;
          x:*)
              eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
              ;;
          *::*)
              eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
              eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
              ;;
          *)
              eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
              ;;
          esac
      }
      ]])# _LT_PREPARE_PATH_LIST
      
      
      # _LT_SYS_DYNAMIC_LINKER([TAG])
      # -----------------------------
      # PORTME Fill in your ld.so characteristics
      m4_defun([_LT_SYS_DYNAMIC_LINKER],
      [AC_REQUIRE([AC_CANONICAL_HOST])dnl
      m4_require([_LT_DECL_EGREP])dnl
      m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      m4_require([_LT_DECL_OBJDUMP])dnl
      m4_require([_LT_DECL_SED])dnl
      m4_require([_LT_CHECK_SHELL_FEATURES])dnl
      m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
      AC_MSG_CHECKING([dynamic linker characteristics])
      m4_if([$1],
      	[], [
      if test yes = "$GCC"; then
        case $host_os in
          darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
          *) lt_awk_arg='/^libraries:/' ;;
        esac
        case $host_os in
          mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
          *) lt_sed_strip_eq='s|=/|/|g' ;;
        esac
        lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
        case $lt_search_path_spec in
        *\;*)
          # if the path contains ";" then we assume it to be the separator
          # otherwise default to the standard path separator (i.e. ":") - it is
          # assumed that no part of a normal pathname contains ";" but that should
          # okay in the real world where ";" in dirpaths is itself problematic.
          lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
          ;;
        *)
          lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
          ;;
        esac
        # Ok, now we have the path, separated by spaces, we can step through it
        # and add multilib dir if necessary...
        lt_tmp_lt_search_path_spec=
        lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
        # ...but if some path component already ends with the multilib dir we assume
        # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
        case "$lt_multi_os_dir; $lt_search_path_spec " in
        "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
          lt_multi_os_dir=
          ;;
        esac
        for lt_sys_path in $lt_search_path_spec; do
          if test -d "$lt_sys_path$lt_multi_os_dir"; then
            lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
          elif test -n "$lt_multi_os_dir"; then
            test -d "$lt_sys_path" && \
      	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
          fi
        done
        lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
      BEGIN {RS = " "; FS = "/|\n";} {
        lt_foo = "";
        lt_count = 0;
        for (lt_i = NF; lt_i > 0; lt_i--) {
          if ($lt_i != "" && $lt_i != ".") {
            if ($lt_i == "..") {
              lt_count++;
            } else {
              if (lt_count == 0) {
                lt_foo = "/" $lt_i lt_foo;
              } else {
                lt_count--;
              }
            }
          }
        }
        if (lt_foo != "") { lt_freq[[lt_foo]]++; }
        if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
      }'`
        # AWK program above erroneously prepends '/' to C:/dos/paths
        # for these hosts.
        case $host_os in
          mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
            $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
        esac
        sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
      else
        sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
      fi])
      library_names_spec=
      libname_spec='lib$name'
      soname_spec=
      shrext_cmds=.so
      postinstall_cmds=
      postuninstall_cmds=
      finish_cmds=
      finish_eval=
      shlibpath_var=
      shlibpath_overrides_runpath=unknown
      version_type=none
      dynamic_linker="$host_os ld.so"
      sys_lib_dlsearch_path_spec="/lib /usr/lib"
      need_lib_prefix=unknown
      hardcode_into_libs=no
      
      # when you set need_version to no, make sure it does not cause -set_version
      # flags to be left without arguments
      need_version=unknown
      
      AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
      [User-defined run-time library search path.])
      
      case $host_os in
      aix3*)
        version_type=linux # correct to gnu/linux during the next big refactor
        library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
        shlibpath_var=LIBPATH
      
        # AIX 3 has no versioning support, so we append a major version to the name.
        soname_spec='$libname$release$shared_ext$major'
        ;;
      
      aix[[4-9]]*)
        version_type=linux # correct to gnu/linux during the next big refactor
        need_lib_prefix=no
        need_version=no
        hardcode_into_libs=yes
        if test ia64 = "$host_cpu"; then
          # AIX 5 supports IA64
          library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
          shlibpath_var=LD_LIBRARY_PATH
        else
          # With GCC up to 2.95.x, collect2 would create an import file
          # for dependence libraries.  The import file would start with
          # the line '#! .'.  This would cause the generated library to
          # depend on '.', always an invalid library.  This was fixed in
          # development snapshots of GCC prior to 3.0.
          case $host_os in
            aix4 | aix4.[[01]] | aix4.[[01]].*)
            if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
      	   echo ' yes '
      	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
      	:
            else
      	can_build_shared=no
            fi
            ;;
          esac
          # Using Import Files as archive members, it is possible to support
          # filename-based versioning of shared library archives on AIX. While
          # this would work for both with and without runtime linking, it will
          # prevent static linking of such archives. So we do filename-based
          # shared library versioning with .so extension only, which is used
          # when both runtime linking and shared linking is enabled.
          # Unfortunately, runtime linking may impact performance, so we do
          # not want this to be the default eventually. Also, we use the
          # versioned .so libs for executables only if there is the -brtl
          # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
          # To allow for filename-based versioning support, we need to create
          # libNAME.so.V as an archive file, containing:
          # *) an Import File, referring to the versioned filename of the
          #    archive as well as the shared archive member, telling the
          #    bitwidth (32 or 64) of that shared object, and providing the
          #    list of exported symbols of that shared object, eventually
          #    decorated with the 'weak' keyword
          # *) the shared object with the F_LOADONLY flag set, to really avoid
          #    it being seen by the linker.
          # At run time we better use the real file rather than another symlink,
          # but for link time we create the symlink libNAME.so -> libNAME.so.V
      
          case $with_aix_soname,$aix_use_runtimelinking in
          # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
          # soname into executable. Probably we can add versioning support to
          # collect2, so additional links can be useful in future.
          aix,yes) # traditional libtool
            dynamic_linker='AIX unversionable lib.so'
            # If using run time linking (on AIX 4.2 or later) use lib.so
            # instead of lib.a to let people know that these are not
            # typical AIX shared libraries.
            library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
            ;;
          aix,no) # traditional AIX only
            dynamic_linker='AIX lib.a[(]lib.so.V[)]'
            # We preserve .a as extension for shared libraries through AIX4.2
            # and later when we are not doing run time linking.
            library_names_spec='$libname$release.a $libname.a'
            soname_spec='$libname$release$shared_ext$major'
            ;;
          svr4,*) # full svr4 only
            dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
            library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
            # We do not specify a path in Import Files, so LIBPATH fires.
            shlibpath_overrides_runpath=yes
            ;;
          *,yes) # both, prefer svr4
            dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
            library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
            # unpreferred sharedlib libNAME.a needs extra handling
            postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
            postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
            # We do not specify a path in Import Files, so LIBPATH fires.
            shlibpath_overrides_runpath=yes
            ;;
          *,no) # both, prefer aix
            dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
            library_names_spec='$libname$release.a $libname.a'
            soname_spec='$libname$release$shared_ext$major'
            # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
            postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
            postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
            ;;
          esac
          shlibpath_var=LIBPATH
        fi
        ;;
      
      amigaos*)
        case $host_cpu in
        powerpc)
          # Since July 2007 AmigaOS4 officially supports .so libraries.
          # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
          library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
          ;;
        m68k)
          library_names_spec='$libname.ixlibrary $libname.a'
          # Create ${libname}_ixlibrary.a entries in /sys/libs.
          finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
          ;;
        esac
        ;;
      
      beos*)
        library_names_spec='$libname$shared_ext'
        dynamic_linker="$host_os ld.so"
        shlibpath_var=LIBRARY_PATH
        ;;
      
      bsdi[[45]]*)
        version_type=linux # correct to gnu/linux during the next big refactor
        need_version=no
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
        shlibpath_var=LD_LIBRARY_PATH
        sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
        sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
        # the default ld.so.conf also contains /usr/contrib/lib and
        # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
        # libtool to hard-code these into programs
        ;;
      
      cygwin* | mingw* | pw32* | cegcc*)
        version_type=windows
        shrext_cmds=.dll
        need_version=no
        need_lib_prefix=no
      
        case $GCC,$cc_basename in
        yes,*)
          # gcc
          library_names_spec='$libname.dll.a'
          # DLL is installed to $(libdir)/../bin by postinstall_cmds
          postinstall_cmds='base_file=`basename \$file`~
            dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
            dldir=$destdir/`dirname \$dlpath`~
            test -d \$dldir || mkdir -p \$dldir~
            $install_prog $dir/$dlname \$dldir/$dlname~
            chmod a+x \$dldir/$dlname~
            if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
              eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
            fi'
          postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
            dlpath=$dir/\$dldll~
             $RM \$dlpath'
          shlibpath_overrides_runpath=yes
      
          case $host_os in
          cygwin*)
            # Cygwin DLLs use 'cyg' prefix rather than 'lib'
            soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
      m4_if([$1], [],[
            sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
            ;;
          mingw* | cegcc*)
            # MinGW DLLs use traditional 'lib' prefix
            soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
            ;;
          pw32*)
            # pw32 DLLs use 'pw' prefix rather than 'lib'
            library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
            ;;
          esac
          dynamic_linker='Win32 ld.exe'
          ;;
      
        *,cl*)
          # Native MSVC
          libname_spec='$name'
          soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
          library_names_spec='$libname.dll.lib'
      
          case $build_os in
          mingw*)
            sys_lib_search_path_spec=
            lt_save_ifs=$IFS
            IFS=';'
            for lt_path in $LIB
            do
              IFS=$lt_save_ifs
              # Let DOS variable expansion print the short 8.3 style file name.
              lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
              sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
            done
            IFS=$lt_save_ifs
            # Convert to MSYS style.
            sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
            ;;
          cygwin*)
            # Convert to unix form, then to dos form, then back to unix form
            # but this time dos style (no spaces!) so that the unix form looks
            # like /cygdrive/c/PROGRA~1:/cygdr...
            sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
            sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
            sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
            ;;
          *)
            sys_lib_search_path_spec=$LIB
            if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
              # It is most probably a Windows format PATH.
              sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
            else
              sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
            fi
            # FIXME: find the short name or the path components, as spaces are
            # common. (e.g. "Program Files" -> "PROGRA~1")
            ;;
          esac
      
          # DLL is installed to $(libdir)/../bin by postinstall_cmds
          postinstall_cmds='base_file=`basename \$file`~
            dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
            dldir=$destdir/`dirname \$dlpath`~
            test -d \$dldir || mkdir -p \$dldir~
            $install_prog $dir/$dlname \$dldir/$dlname'
          postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
            dlpath=$dir/\$dldll~
             $RM \$dlpath'
          shlibpath_overrides_runpath=yes
          dynamic_linker='Win32 link.exe'
          ;;
      
        *)
          # Assume MSVC wrapper
          library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
          dynamic_linker='Win32 ld.exe'
          ;;
        esac
        # FIXME: first we should search . and the directory the executable is in
        shlibpath_var=PATH
        ;;
      
      darwin* | rhapsody*)
        dynamic_linker="$host_os dyld"
        version_type=darwin
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
        soname_spec='$libname$release$major$shared_ext'
        shlibpath_overrides_runpath=yes
        shlibpath_var=DYLD_LIBRARY_PATH
        shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
      m4_if([$1], [],[
        sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
        sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
        ;;
      
      dgux*)
        version_type=linux # correct to gnu/linux during the next big refactor
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        shlibpath_var=LD_LIBRARY_PATH
        ;;
      
      freebsd* | dragonfly*)
        # DragonFly does not have aout.  When/if they implement a new
        # versioning mechanism, adjust this.
        if test -x /usr/bin/objformat; then
          objformat=`/usr/bin/objformat`
        else
          case $host_os in
          freebsd[[23]].*) objformat=aout ;;
          *) objformat=elf ;;
          esac
        fi
        version_type=freebsd-$objformat
        case $version_type in
          freebsd-elf*)
            library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
            soname_spec='$libname$release$shared_ext$major'
            need_version=no
            need_lib_prefix=no
            ;;
          freebsd-*)
            library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
            need_version=yes
            ;;
        esac
        shlibpath_var=LD_LIBRARY_PATH
        case $host_os in
        freebsd2.*)
          shlibpath_overrides_runpath=yes
          ;;
        freebsd3.[[01]]* | freebsdelf3.[[01]]*)
          shlibpath_overrides_runpath=yes
          hardcode_into_libs=yes
          ;;
        freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
        freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
          shlibpath_overrides_runpath=no
          hardcode_into_libs=yes
          ;;
        *) # from 4.6 on, and DragonFly
          shlibpath_overrides_runpath=yes
          hardcode_into_libs=yes
          ;;
        esac
        ;;
      
      haiku*)
        version_type=linux # correct to gnu/linux during the next big refactor
        need_lib_prefix=no
        need_version=no
        dynamic_linker="$host_os runtime_loader"
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        shlibpath_var=LIBRARY_PATH
        shlibpath_overrides_runpath=no
        sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
        hardcode_into_libs=yes
        ;;
      
      hpux9* | hpux10* | hpux11*)
        # Give a soname corresponding to the major version so that dld.sl refuses to
        # link against other versions.
        version_type=sunos
        need_lib_prefix=no
        need_version=no
        case $host_cpu in
        ia64*)
          shrext_cmds='.so'
          hardcode_into_libs=yes
          dynamic_linker="$host_os dld.so"
          shlibpath_var=LD_LIBRARY_PATH
          shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
          library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
          soname_spec='$libname$release$shared_ext$major'
          if test 32 = "$HPUX_IA64_MODE"; then
            sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
            sys_lib_dlsearch_path_spec=/usr/lib/hpux32
          else
            sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
            sys_lib_dlsearch_path_spec=/usr/lib/hpux64
          fi
          ;;
        hppa*64*)
          shrext_cmds='.sl'
          hardcode_into_libs=yes
          dynamic_linker="$host_os dld.sl"
          shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
          shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
          library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
          soname_spec='$libname$release$shared_ext$major'
          sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
          sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
          ;;
        *)
          shrext_cmds='.sl'
          dynamic_linker="$host_os dld.sl"
          shlibpath_var=SHLIB_PATH
          shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
          library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
          soname_spec='$libname$release$shared_ext$major'
          ;;
        esac
        # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
        postinstall_cmds='chmod 555 $lib'
        # or fails outright, so override atomically:
        install_override_mode=555
        ;;
      
      interix[[3-9]]*)
        version_type=linux # correct to gnu/linux during the next big refactor
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=no
        hardcode_into_libs=yes
        ;;
      
      irix5* | irix6* | nonstopux*)
        case $host_os in
          nonstopux*) version_type=nonstopux ;;
          *)
      	if test yes = "$lt_cv_prog_gnu_ld"; then
      		version_type=linux # correct to gnu/linux during the next big refactor
      	else
      		version_type=irix
      	fi ;;
        esac
        need_lib_prefix=no
        need_version=no
        soname_spec='$libname$release$shared_ext$major'
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
        case $host_os in
        irix5* | nonstopux*)
          libsuff= shlibsuff=
          ;;
        *)
          case $LD in # libtool.m4 will add one of these switches to LD
          *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
            libsuff= shlibsuff= libmagic=32-bit;;
          *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
            libsuff=32 shlibsuff=N32 libmagic=N32;;
          *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
            libsuff=64 shlibsuff=64 libmagic=64-bit;;
          *) libsuff= shlibsuff= libmagic=never-match;;
          esac
          ;;
        esac
        shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
        shlibpath_overrides_runpath=no
        sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
        sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
        hardcode_into_libs=yes
        ;;
      
      # No shared lib support for Linux oldld, aout, or coff.
      linux*oldld* | linux*aout* | linux*coff*)
        dynamic_linker=no
        ;;
      
      linux*android*)
        version_type=none # Android doesn't support versioned libraries.
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$shared_ext'
        soname_spec='$libname$release$shared_ext'
        finish_cmds=
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=yes
      
        # This implies no fast_install, which is unacceptable.
        # Some rework will be needed to allow for fast_install
        # before this can be enabled.
        hardcode_into_libs=yes
      
        dynamic_linker='Android linker'
        # Don't embed -rpath directories since the linker doesn't support them.
        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
        ;;
      
      # This must be glibc/ELF.
      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
        version_type=linux # correct to gnu/linux during the next big refactor
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=no
      
        # Some binutils ld are patched to set DT_RUNPATH
        AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
          [lt_cv_shlibpath_overrides_runpath=no
          save_LDFLAGS=$LDFLAGS
          save_libdir=$libdir
          eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
      	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
          AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
            [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
      	 [lt_cv_shlibpath_overrides_runpath=yes])])
          LDFLAGS=$save_LDFLAGS
          libdir=$save_libdir
          ])
        shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
      
        # This implies no fast_install, which is unacceptable.
        # Some rework will be needed to allow for fast_install
        # before this can be enabled.
        hardcode_into_libs=yes
      
        # Ideally, we could use ldconfig to report *all* directores which are
        # searched for libraries, however this is still not possible.  Aside from not
        # being certain /sbin/ldconfig is available, command
        # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
        # even though it is searched at run-time.  Try to do the best guess by
        # appending ld.so.conf contents (and includes) to the search path.
        if test -f /etc/ld.so.conf; then
          lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
          sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
        fi
      
        # We used to test for /lib/ld.so.1 and disable shared libraries on
        # powerpc, because MkLinux only supported shared libraries with the
        # GNU dynamic linker.  Since this was broken with cross compilers,
        # most powerpc-linux boxes support dynamic linking these days and
        # people can always --disable-shared, the test was removed, and we
        # assume the GNU/Linux dynamic linker is in use.
        dynamic_linker='GNU/Linux ld.so'
        ;;
      
      netbsdelf*-gnu)
        version_type=linux
        need_lib_prefix=no
        need_version=no
        library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
        soname_spec='${libname}${release}${shared_ext}$major'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=no
        hardcode_into_libs=yes
        dynamic_linker='NetBSD ld.elf_so'
        ;;
      
      netbsd*)
        version_type=sunos
        need_lib_prefix=no
        need_version=no
        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
          library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
          finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
          dynamic_linker='NetBSD (a.out) ld.so'
        else
          library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
          soname_spec='$libname$release$shared_ext$major'
          dynamic_linker='NetBSD ld.elf_so'
        fi
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=yes
        hardcode_into_libs=yes
        ;;
      
      newsos6)
        version_type=linux # correct to gnu/linux during the next big refactor
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=yes
        ;;
      
      *nto* | *qnx*)
        version_type=qnx
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=no
        hardcode_into_libs=yes
        dynamic_linker='ldqnx.so'
        ;;
      
      openbsd* | bitrig*)
        version_type=sunos
        sys_lib_dlsearch_path_spec=/usr/lib
        need_lib_prefix=no
        if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
          need_version=no
        else
          need_version=yes
        fi
        library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
        finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=yes
        ;;
      
      os2*)
        libname_spec='$name'
        version_type=windows
        shrext_cmds=.dll
        need_version=no
        need_lib_prefix=no
        # OS/2 can only load a DLL with a base name of 8 characters or less.
        soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
          v=$($ECHO $release$versuffix | tr -d .-);
          n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
          $ECHO $n$v`$shared_ext'
        library_names_spec='${libname}_dll.$libext'
        dynamic_linker='OS/2 ld.exe'
        shlibpath_var=BEGINLIBPATH
        sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
        sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
        postinstall_cmds='base_file=`basename \$file`~
          dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
          dldir=$destdir/`dirname \$dlpath`~
          test -d \$dldir || mkdir -p \$dldir~
          $install_prog $dir/$dlname \$dldir/$dlname~
          chmod a+x \$dldir/$dlname~
          if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
            eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
          fi'
        postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
          dlpath=$dir/\$dldll~
          $RM \$dlpath'
        ;;
      
      osf3* | osf4* | osf5*)
        version_type=osf
        need_lib_prefix=no
        need_version=no
        soname_spec='$libname$release$shared_ext$major'
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        shlibpath_var=LD_LIBRARY_PATH
        sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
        sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
        ;;
      
      rdos*)
        dynamic_linker=no
        ;;
      
      solaris*)
        version_type=linux # correct to gnu/linux during the next big refactor
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=yes
        hardcode_into_libs=yes
        # ldd complains unless libraries are executable
        postinstall_cmds='chmod +x $lib'
        ;;
      
      sunos4*)
        version_type=sunos
        library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
        finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=yes
        if test yes = "$with_gnu_ld"; then
          need_lib_prefix=no
        fi
        need_version=yes
        ;;
      
      sysv4 | sysv4.3*)
        version_type=linux # correct to gnu/linux during the next big refactor
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        shlibpath_var=LD_LIBRARY_PATH
        case $host_vendor in
          sni)
            shlibpath_overrides_runpath=no
            need_lib_prefix=no
            runpath_var=LD_RUN_PATH
            ;;
          siemens)
            need_lib_prefix=no
            ;;
          motorola)
            need_lib_prefix=no
            need_version=no
            shlibpath_overrides_runpath=no
            sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
            ;;
        esac
        ;;
      
      sysv4*MP*)
        if test -d /usr/nec; then
          version_type=linux # correct to gnu/linux during the next big refactor
          library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
          soname_spec='$libname$shared_ext.$major'
          shlibpath_var=LD_LIBRARY_PATH
        fi
        ;;
      
      sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
        version_type=sco
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=yes
        hardcode_into_libs=yes
        if test yes = "$with_gnu_ld"; then
          sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
        else
          sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
          case $host_os in
            sco3.2v5*)
              sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
      	;;
          esac
        fi
        sys_lib_dlsearch_path_spec='/usr/lib'
        ;;
      
      tpf*)
        # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
        version_type=linux # correct to gnu/linux during the next big refactor
        need_lib_prefix=no
        need_version=no
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        shlibpath_var=LD_LIBRARY_PATH
        shlibpath_overrides_runpath=no
        hardcode_into_libs=yes
        ;;
      
      uts4*)
        version_type=linux # correct to gnu/linux during the next big refactor
        library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
        soname_spec='$libname$release$shared_ext$major'
        shlibpath_var=LD_LIBRARY_PATH
        ;;
      
      *)
        dynamic_linker=no
        ;;
      esac
      AC_MSG_RESULT([$dynamic_linker])
      test no = "$dynamic_linker" && can_build_shared=no
      
      variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
      if test yes = "$GCC"; then
        variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
      fi
      
      if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
        sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
      fi
      
      if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
        sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
      fi
      
      # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
      configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
      
      # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
      func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
      
      # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
      configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
      
      _LT_DECL([], [variables_saved_for_relink], [1],
          [Variables whose values should be saved in libtool wrapper scripts and
          restored at link time])
      _LT_DECL([], [need_lib_prefix], [0],
          [Do we need the "lib" prefix for modules?])
      _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
      _LT_DECL([], [version_type], [0], [Library versioning type])
      _LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
      _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
      _LT_DECL([], [shlibpath_overrides_runpath], [0],
          [Is shlibpath searched before the hard-coded library search path?])
      _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
      _LT_DECL([], [library_names_spec], [1],
          [[List of archive names.  First name is the real one, the rest are links.
          The last name is the one that the linker finds with -lNAME]])
      _LT_DECL([], [soname_spec], [1],
          [[The coded name of the library, if different from the real name]])
      _LT_DECL([], [install_override_mode], [1],
          [Permission mode override for installation of shared libraries])
      _LT_DECL([], [postinstall_cmds], [2],
          [Command to use after installation of a shared archive])
      _LT_DECL([], [postuninstall_cmds], [2],
          [Command to use after uninstallation of a shared archive])
      _LT_DECL([], [finish_cmds], [2],
          [Commands used to finish a libtool library installation in a directory])
      _LT_DECL([], [finish_eval], [1],
          [[As "finish_cmds", except a single script fragment to be evaled but
          not shown]])
      _LT_DECL([], [hardcode_into_libs], [0],
          [Whether we should hardcode library paths into libraries])
      _LT_DECL([], [sys_lib_search_path_spec], [2],
          [Compile-time system search path for libraries])
      _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
          [Detected run-time system search path for libraries])
      _LT_DECL([], [configure_time_lt_sys_library_path], [2],
          [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
      ])# _LT_SYS_DYNAMIC_LINKER
      
      
      # _LT_PATH_TOOL_PREFIX(TOOL)
      # --------------------------
      # find a file program that can recognize shared library
      AC_DEFUN([_LT_PATH_TOOL_PREFIX],
      [m4_require([_LT_DECL_EGREP])dnl
      AC_MSG_CHECKING([for $1])
      AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
      [case $MAGIC_CMD in
      [[\\/*] |  ?:[\\/]*])
        lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
        ;;
      *)
        lt_save_MAGIC_CMD=$MAGIC_CMD
        lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
      dnl $ac_dummy forces splitting on constant user-supplied paths.
      dnl POSIX.2 word splitting is done only on the output of word expansions,
      dnl not every word.  This closes a longstanding sh security hole.
        ac_dummy="m4_if([$2], , $PATH, [$2])"
        for ac_dir in $ac_dummy; do
          IFS=$lt_save_ifs
          test -z "$ac_dir" && ac_dir=.
          if test -f "$ac_dir/$1"; then
            lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
            if test -n "$file_magic_test_file"; then
      	case $deplibs_check_method in
      	"file_magic "*)
      	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
      	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
      	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
      	    $EGREP "$file_magic_regex" > /dev/null; then
      	    :
      	  else
      	    cat <<_LT_EOF 1>&2
      
      *** Warning: the command libtool uses to detect shared libraries,
      *** $file_magic_cmd, produces output that libtool cannot recognize.
      *** The result is that libtool may fail to recognize shared libraries
      *** as such.  This will affect the creation of libtool libraries that
      *** depend on shared libraries, but programs linked with such libtool
      *** libraries will work regardless of this problem.  Nevertheless, you
      *** may want to report the problem to your system manager and/or to
      *** bug-libtool@gnu.org
      
      _LT_EOF
      	  fi ;;
      	esac
            fi
            break
          fi
        done
        IFS=$lt_save_ifs
        MAGIC_CMD=$lt_save_MAGIC_CMD
        ;;
      esac])
      MAGIC_CMD=$lt_cv_path_MAGIC_CMD
      if test -n "$MAGIC_CMD"; then
        AC_MSG_RESULT($MAGIC_CMD)
      else
        AC_MSG_RESULT(no)
      fi
      _LT_DECL([], [MAGIC_CMD], [0],
      	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
      ])# _LT_PATH_TOOL_PREFIX
      
      # Old name:
      AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
      
      
      # _LT_PATH_MAGIC
      # --------------
      # find a file program that can recognize a shared library
      m4_defun([_LT_PATH_MAGIC],
      [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
      if test -z "$lt_cv_path_MAGIC_CMD"; then
        if test -n "$ac_tool_prefix"; then
          _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
        else
          MAGIC_CMD=:
        fi
      fi
      ])# _LT_PATH_MAGIC
      
      
      # LT_PATH_LD
      # ----------
      # find the pathname to the GNU or non-GNU linker
      AC_DEFUN([LT_PATH_LD],
      [AC_REQUIRE([AC_PROG_CC])dnl
      AC_REQUIRE([AC_CANONICAL_HOST])dnl
      AC_REQUIRE([AC_CANONICAL_BUILD])dnl
      m4_require([_LT_DECL_SED])dnl
      m4_require([_LT_DECL_EGREP])dnl
      m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
      
      AC_ARG_WITH([gnu-ld],
          [AS_HELP_STRING([--with-gnu-ld],
      	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
          [test no = "$withval" || with_gnu_ld=yes],
          [with_gnu_ld=no])dnl
      
      ac_prog=ld
      if test yes = "$GCC"; then
        # Check if gcc -print-prog-name=ld gives a path.
        AC_MSG_CHECKING([for ld used by $CC])
        case $host in
        *-*-mingw*)
          # gcc leaves a trailing carriage return, which upsets mingw
          ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
        *)
          ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
        esac
        case $ac_prog in
          # Accept absolute paths.
          [[\\/]]* | ?:[[\\/]]*)
            re_direlt='/[[^/]][[^/]]*/\.\./'
            # Canonicalize the pathname of ld
            ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
            while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
      	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
            done
            test -z "$LD" && LD=$ac_prog
            ;;
        "")
          # If it fails, then pretend we aren't using GCC.
          ac_prog=ld
          ;;
        *)
          # If it is relative, then search for the first ld in PATH.
          with_gnu_ld=unknown
          ;;
        esac
      elif test yes = "$with_gnu_ld"; then
        AC_MSG_CHECKING([for GNU ld])
      else
        AC_MSG_CHECKING([for non-GNU ld])
      fi
      AC_CACHE_VAL(lt_cv_path_LD,
      [if test -z "$LD"; then
        lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
        for ac_dir in $PATH; do
          IFS=$lt_save_ifs
          test -z "$ac_dir" && ac_dir=.
          if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
            lt_cv_path_LD=$ac_dir/$ac_prog
            # Check to see if the program is GNU ld.  I'd rather use --version,
            # but apparently some variants of GNU ld only accept -v.
            # Break only if it was the GNU/non-GNU ld that we prefer.
            case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i
      cat conftest.i conftest.i >conftest2.i
      : ${lt_DD:=$DD}
      AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
      [if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
        cmp -s conftest.i conftest.out \
        && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
      fi])
      rm -f conftest.i conftest2.i conftest.out])
      ])# _LT_PATH_DD
      
      
      # _LT_CMD_TRUNCATE
      # ----------------
      # find command to truncate a binary pipe
      m4_defun([_LT_CMD_TRUNCATE],
      [m4_require([_LT_PATH_DD])
      AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
      [printf 0123456789abcdef0123456789abcdef >conftest.i
      cat conftest.i conftest.i >conftest2.i
      lt_cv_truncate_bin=
      if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then
        cmp -s conftest.i conftest.out \
        && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
      fi
      rm -f conftest.i conftest2.i conftest.out
      test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
      _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
        [Command to truncate a binary pipe])
      ])# _LT_CMD_TRUNCATE
      
      
      # _LT_CHECK_MAGIC_METHOD
      # ----------------------
      # how to check for library dependencies
      #  -- PORTME fill in with the dynamic library characteristics
      m4_defun([_LT_CHECK_MAGIC_METHOD],
      [m4_require([_LT_DECL_EGREP])
      m4_require([_LT_DECL_OBJDUMP])
      AC_CACHE_CHECK([how to recognize dependent libraries],
      lt_cv_deplibs_check_method,
      [lt_cv_file_magic_cmd='$MAGIC_CMD'
      lt_cv_file_magic_test_file=
      lt_cv_deplibs_check_method='unknown'
      # Need to set the preceding variable on all platforms that support
      # interlibrary dependencies.
      # 'none' -- dependencies not supported.
      # 'unknown' -- same as none, but documents that we really don't know.
      # 'pass_all' -- all dependencies passed with no checks.
      # 'test_compile' -- check by making test program.
      # 'file_magic [[regex]]' -- check by looking for files in library path
      # that responds to the $file_magic_cmd with a given extended regex.
      # If you have 'file' or equivalent on your system and you're not sure
      # whether 'pass_all' will *always* work, you probably want this one.
      
      case $host_os in
      aix[[4-9]]*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      beos*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      bsdi[[45]]*)
        lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
        lt_cv_file_magic_cmd='/usr/bin/file -L'
        lt_cv_file_magic_test_file=/shlib/libc.so
        ;;
      
      cygwin*)
        # func_win32_libid is a shell function defined in ltmain.sh
        lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
        lt_cv_file_magic_cmd='func_win32_libid'
        ;;
      
      mingw* | pw32*)
        # Base MSYS/MinGW do not provide the 'file' command needed by
        # func_win32_libid shell function, so use a weaker test based on 'objdump',
        # unless we find 'file', for example because we are cross-compiling.
        if ( file / ) >/dev/null 2>&1; then
          lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
          lt_cv_file_magic_cmd='func_win32_libid'
        else
          # Keep this pattern in sync with the one in func_win32_libid.
          lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
          lt_cv_file_magic_cmd='$OBJDUMP -f'
        fi
        ;;
      
      cegcc*)
        # use the weaker test based on 'objdump'. See mingw*.
        lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
        lt_cv_file_magic_cmd='$OBJDUMP -f'
        ;;
      
      darwin* | rhapsody*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      freebsd* | dragonfly*)
        if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
          case $host_cpu in
          i*86 )
            # Not sure whether the presence of OpenBSD here was a mistake.
            # Let's accept both of them until this is cleared up.
            lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
            lt_cv_file_magic_cmd=/usr/bin/file
            lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
            ;;
          esac
        else
          lt_cv_deplibs_check_method=pass_all
        fi
        ;;
      
      haiku*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      hpux10.20* | hpux11*)
        lt_cv_file_magic_cmd=/usr/bin/file
        case $host_cpu in
        ia64*)
          lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
          lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
          ;;
        hppa*64*)
          [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
          lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
          ;;
        *)
          lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
          lt_cv_file_magic_test_file=/usr/lib/libc.sl
          ;;
        esac
        ;;
      
      interix[[3-9]]*)
        # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
        lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
        ;;
      
      irix5* | irix6* | nonstopux*)
        case $LD in
        *-32|*"-32 ") libmagic=32-bit;;
        *-n32|*"-n32 ") libmagic=N32;;
        *-64|*"-64 ") libmagic=64-bit;;
        *) libmagic=never-match;;
        esac
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      # This must be glibc/ELF.
      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      netbsd* | netbsdelf*-gnu)
        if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
          lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
        else
          lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
        fi
        ;;
      
      newos6*)
        lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
        lt_cv_file_magic_cmd=/usr/bin/file
        lt_cv_file_magic_test_file=/usr/lib/libnls.so
        ;;
      
      *nto* | *qnx*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      openbsd* | bitrig*)
        if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
          lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
        else
          lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
        fi
        ;;
      
      osf3* | osf4* | osf5*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      rdos*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      solaris*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      
      sysv4 | sysv4.3*)
        case $host_vendor in
        motorola)
          lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
          lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
          ;;
        ncr)
          lt_cv_deplibs_check_method=pass_all
          ;;
        sequent)
          lt_cv_file_magic_cmd='/bin/file'
          lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
          ;;
        sni)
          lt_cv_file_magic_cmd='/bin/file'
          lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
          lt_cv_file_magic_test_file=/lib/libc.so
          ;;
        siemens)
          lt_cv_deplibs_check_method=pass_all
          ;;
        pc)
          lt_cv_deplibs_check_method=pass_all
          ;;
        esac
        ;;
      
      tpf*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      os2*)
        lt_cv_deplibs_check_method=pass_all
        ;;
      esac
      ])
      
      file_magic_glob=
      want_nocaseglob=no
      if test "$build" = "$host"; then
        case $host_os in
        mingw* | pw32*)
          if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
            want_nocaseglob=yes
          else
            file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
          fi
          ;;
        esac
      fi
      
      file_magic_cmd=$lt_cv_file_magic_cmd
      deplibs_check_method=$lt_cv_deplibs_check_method
      test -z "$deplibs_check_method" && deplibs_check_method=unknown
      
      _LT_DECL([], [deplibs_check_method], [1],
          [Method to check whether dependent libraries are shared objects])
      _LT_DECL([], [file_magic_cmd], [1],
          [Command to use when deplibs_check_method = "file_magic"])
      _LT_DECL([], [file_magic_glob], [1],
          [How to find potential files when deplibs_check_method = "file_magic"])
      _LT_DECL([], [want_nocaseglob], [1],
          [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
      ])# _LT_CHECK_MAGIC_METHOD
      
      
      # LT_PATH_NM
      # ----------
      # find the pathname to a BSD- or MS-compatible name lister
      AC_DEFUN([LT_PATH_NM],
      [AC_REQUIRE([AC_PROG_CC])dnl
      AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
      [if test -n "$NM"; then
        # Let the user override the test.
        lt_cv_path_NM=$NM
      else
        lt_nm_to_check=${ac_tool_prefix}nm
        if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
          lt_nm_to_check="$lt_nm_to_check nm"
        fi
        for lt_tmp_nm in $lt_nm_to_check; do
          lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
          for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
            IFS=$lt_save_ifs
            test -z "$ac_dir" && ac_dir=.
            tmp_nm=$ac_dir/$lt_tmp_nm
            if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
      	# Check to see if the nm accepts a BSD-compat flag.
      	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
      	#   nm: unknown option "B" ignored
      	# Tru64's nm complains that /dev/null is an invalid object file
      	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
      	case $build_os in
      	mingw*) lt_bad_file=conftest.nm/nofile ;;
      	*) lt_bad_file=/dev/null ;;
      	esac
      	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
      	*$lt_bad_file* | *'Invalid file or object type'*)
      	  lt_cv_path_NM="$tmp_nm -B"
      	  break 2
      	  ;;
      	*)
      	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
      	  */dev/null*)
      	    lt_cv_path_NM="$tmp_nm -p"
      	    break 2
      	    ;;
      	  *)
      	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
      	    continue # so that we can try to find one that supports BSD flags
      	    ;;
      	  esac
      	  ;;
      	esac
            fi
          done
          IFS=$lt_save_ifs
        done
        : ${lt_cv_path_NM=no}
      fi])
      if test no != "$lt_cv_path_NM"; then
        NM=$lt_cv_path_NM
      else
        # Didn't find any BSD compatible name lister, look for dumpbin.
        if test -n "$DUMPBIN"; then :
          # Let the user override the test.
        else
          AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
          case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
          *COFF*)
            DUMPBIN="$DUMPBIN -symbols -headers"
            ;;
          *)
            DUMPBIN=:
            ;;
          esac
        fi
        AC_SUBST([DUMPBIN])
        if test : != "$DUMPBIN"; then
          NM=$DUMPBIN
        fi
      fi
      test -z "$NM" && NM=nm
      AC_SUBST([NM])
      _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
      
      AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
        [lt_cv_nm_interface="BSD nm"
        echo "int some_variable = 0;" > conftest.$ac_ext
        (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
        (eval "$ac_compile" 2>conftest.err)
        cat conftest.err >&AS_MESSAGE_LOG_FD
        (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
        (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
        cat conftest.err >&AS_MESSAGE_LOG_FD
        (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
        cat conftest.out >&AS_MESSAGE_LOG_FD
        if $GREP 'External.*some_variable' conftest.out > /dev/null; then
          lt_cv_nm_interface="MS dumpbin"
        fi
        rm -f conftest*])
      ])# LT_PATH_NM
      
      # Old names:
      AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
      AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AM_PROG_NM], [])
      dnl AC_DEFUN([AC_PROG_NM], [])
      
      # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
      # --------------------------------
      # how to determine the name of the shared library
      # associated with a specific link library.
      #  -- PORTME fill in with the dynamic library characteristics
      m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
      [m4_require([_LT_DECL_EGREP])
      m4_require([_LT_DECL_OBJDUMP])
      m4_require([_LT_DECL_DLLTOOL])
      AC_CACHE_CHECK([how to associate runtime and link libraries],
      lt_cv_sharedlib_from_linklib_cmd,
      [lt_cv_sharedlib_from_linklib_cmd='unknown'
      
      case $host_os in
      cygwin* | mingw* | pw32* | cegcc*)
        # two different shell functions defined in ltmain.sh;
        # decide which one to use based on capabilities of $DLLTOOL
        case `$DLLTOOL --help 2>&1` in
        *--identify-strict*)
          lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
          ;;
        *)
          lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
          ;;
        esac
        ;;
      *)
        # fallback: assume linklib IS sharedlib
        lt_cv_sharedlib_from_linklib_cmd=$ECHO
        ;;
      esac
      ])
      sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
      test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
      
      _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
          [Command to associate shared and link libraries])
      ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
      
      
      # _LT_PATH_MANIFEST_TOOL
      # ----------------------
      # locate the manifest tool
      m4_defun([_LT_PATH_MANIFEST_TOOL],
      [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
      test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
      AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
        [lt_cv_path_mainfest_tool=no
        echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
        $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
        cat conftest.err >&AS_MESSAGE_LOG_FD
        if $GREP 'Manifest Tool' conftest.out > /dev/null; then
          lt_cv_path_mainfest_tool=yes
        fi
        rm -f conftest*])
      if test yes != "$lt_cv_path_mainfest_tool"; then
        MANIFEST_TOOL=:
      fi
      _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
      ])# _LT_PATH_MANIFEST_TOOL
      
      
      # _LT_DLL_DEF_P([FILE])
      # ---------------------
      # True iff FILE is a Windows DLL '.def' file.
      # Keep in sync with func_dll_def_p in the libtool script
      AC_DEFUN([_LT_DLL_DEF_P],
      [dnl
        test DEF = "`$SED -n dnl
          -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
          -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
          -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
          -e q dnl                          Only consider the first "real" line
          $1`" dnl
      ])# _LT_DLL_DEF_P
      
      
      # LT_LIB_M
      # --------
      # check for math library
      AC_DEFUN([LT_LIB_M],
      [AC_REQUIRE([AC_CANONICAL_HOST])dnl
      LIBM=
      case $host in
      *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
        # These system don't have libm, or don't need it
        ;;
      *-ncr-sysv4.3*)
        AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
        AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
        ;;
      *)
        AC_CHECK_LIB(m, cos, LIBM=-lm)
        ;;
      esac
      AC_SUBST([LIBM])
      ])# LT_LIB_M
      
      # Old name:
      AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_CHECK_LIBM], [])
      
      
      # _LT_COMPILER_NO_RTTI([TAGNAME])
      # -------------------------------
      m4_defun([_LT_COMPILER_NO_RTTI],
      [m4_require([_LT_TAG_COMPILER])dnl
      
      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
      
      if test yes = "$GCC"; then
        case $cc_basename in
        nvcc*)
          _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
        *)
          _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
        esac
      
        _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
          lt_cv_prog_compiler_rtti_exceptions,
          [-fno-rtti -fno-exceptions], [],
          [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
      fi
      _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
      	[Compiler flag to turn off builtin functions])
      ])# _LT_COMPILER_NO_RTTI
      
      
      # _LT_CMD_GLOBAL_SYMBOLS
      # ----------------------
      m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
      [AC_REQUIRE([AC_CANONICAL_HOST])dnl
      AC_REQUIRE([AC_PROG_CC])dnl
      AC_REQUIRE([AC_PROG_AWK])dnl
      AC_REQUIRE([LT_PATH_NM])dnl
      AC_REQUIRE([LT_PATH_LD])dnl
      m4_require([_LT_DECL_SED])dnl
      m4_require([_LT_DECL_EGREP])dnl
      m4_require([_LT_TAG_COMPILER])dnl
      
      # Check for command to grab the raw symbol name followed by C symbol from nm.
      AC_MSG_CHECKING([command to parse $NM output from $compiler object])
      AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
      [
      # These are sane defaults that work on at least a few old systems.
      # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
      
      # Character class describing NM global symbol codes.
      symcode='[[BCDEGRST]]'
      
      # Regexp to match symbols that can be accessed directly from C.
      sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
      
      # Define system-specific variables.
      case $host_os in
      aix*)
        symcode='[[BCDT]]'
        ;;
      cygwin* | mingw* | pw32* | cegcc*)
        symcode='[[ABCDGISTW]]'
        ;;
      hpux*)
        if test ia64 = "$host_cpu"; then
          symcode='[[ABCDEGRST]]'
        fi
        ;;
      irix* | nonstopux*)
        symcode='[[BCDEGRST]]'
        ;;
      osf*)
        symcode='[[BCDEGQRST]]'
        ;;
      solaris*)
        symcode='[[BDRT]]'
        ;;
      sco3.2v5*)
        symcode='[[DT]]'
        ;;
      sysv4.2uw2*)
        symcode='[[DT]]'
        ;;
      sysv5* | sco5v6* | unixware* | OpenUNIX*)
        symcode='[[ABDT]]'
        ;;
      sysv4)
        symcode='[[DFNSTU]]'
        ;;
      esac
      
      # If we're using GNU nm, then use its standard symbol codes.
      case `$NM -V 2>&1` in
      *GNU* | *'with BFD'*)
        symcode='[[ABCDGIRSTW]]' ;;
      esac
      
      if test "$lt_cv_nm_interface" = "MS dumpbin"; then
        # Gets list of data symbols to import.
        lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
        # Adjust the below global symbol transforms to fixup imported variables.
        lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
        lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
        lt_c_name_lib_hook="\
        -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
        -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
      else
        # Disable hooks by default.
        lt_cv_sys_global_symbol_to_import=
        lt_cdecl_hook=
        lt_c_name_hook=
        lt_c_name_lib_hook=
      fi
      
      # Transform an extracted symbol line into a proper C declaration.
      # Some systems (esp. on ia64) link data and code symbols differently,
      # so use this general approach.
      lt_cv_sys_global_symbol_to_cdecl="sed -n"\
      $lt_cdecl_hook\
      " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
      " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
      
      # Transform an extracted symbol line into symbol name and symbol address
      lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
      $lt_c_name_hook\
      " -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
      " -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
      
      # Transform an extracted symbol line into symbol name with lib prefix and
      # symbol address.
      lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
      $lt_c_name_lib_hook\
      " -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
      " -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
      " -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
      
      # Handle CRLF in mingw tool chain
      opt_cr=
      case $build_os in
      mingw*)
        opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
        ;;
      esac
      
      # Try without a prefix underscore, then with it.
      for ac_symprfx in "" "_"; do
      
        # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
        symxfrm="\\1 $ac_symprfx\\2 \\2"
      
        # Write the raw and C identifiers.
        if test "$lt_cv_nm_interface" = "MS dumpbin"; then
          # Fake it for dumpbin and say T for any non-static function,
          # D for any global variable and I for any imported variable.
          # Also find C++ and __fastcall symbols from MSVC++,
          # which start with @ or ?.
          lt_cv_sys_global_symbol_pipe="$AWK ['"\
      "     {last_section=section; section=\$ 3};"\
      "     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
      "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
      "     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
      "     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
      "     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
      "     \$ 0!~/External *\|/{next};"\
      "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
      "     {if(hide[section]) next};"\
      "     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
      "     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
      "     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
      "     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
      "     ' prfx=^$ac_symprfx]"
        else
          lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
        fi
        lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
      
        # Check to see that the pipe works correctly.
        pipe_works=no
      
        rm -f conftest*
        cat > conftest.$ac_ext <<_LT_EOF
      #ifdef __cplusplus
      extern "C" {
      #endif
      char nm_test_var;
      void nm_test_func(void);
      void nm_test_func(void){}
      #ifdef __cplusplus
      }
      #endif
      int main(){nm_test_var='a';nm_test_func();return(0);}
      _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
            # Try sorting and uniquifying the output.
            if sort "$nlist" | uniq > "$nlist"T; then
      	mv -f "$nlist"T "$nlist"
            else
      	rm -f "$nlist"T
            fi
      
            # Make sure that we snagged all the symbols we need.
            if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
      	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
      	  cat <<_LT_EOF > conftest.$ac_ext
      /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
      #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
      /* DATA imports from DLLs on WIN32 can't be const, because runtime
         relocations are performed -- see ld's documentation on pseudo-relocs.  */
      # define LT@&t@_DLSYM_CONST
      #elif defined __osf__
      /* This system does not cope well with relocations in const data.  */
      # define LT@&t@_DLSYM_CONST
      #else
      # define LT@&t@_DLSYM_CONST const
      #endif
      
      #ifdef __cplusplus
      extern "C" {
      #endif
      
      _LT_EOF
      	  # Now generate the symbol file.
      	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
      
      	  cat <<_LT_EOF >> conftest.$ac_ext
      
      /* The mapping between symbol names and symbols.  */
      LT@&t@_DLSYM_CONST struct {
        const char *name;
        void       *address;
      }
      lt__PROGRAM__LTX_preloaded_symbols[[]] =
      {
        { "@PROGRAM@", (void *) 0 },
      _LT_EOF
      	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
      	  cat <<\_LT_EOF >> conftest.$ac_ext
        {0, (void *) 0}
      };
      
      /* This works around a problem in FreeBSD linker */
      #ifdef FREEBSD_WORKAROUND
      static const void *lt_preloaded_setup() {
        return lt__PROGRAM__LTX_preloaded_symbols;
      }
      #endif
      
      #ifdef __cplusplus
      }
      #endif
      _LT_EOF
      	  # Now try linking the two files.
      	  mv conftest.$ac_objext conftstm.$ac_objext
      	  lt_globsym_save_LIBS=$LIBS
      	  lt_globsym_save_CFLAGS=$CFLAGS
      	  LIBS=conftstm.$ac_objext
      	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
      	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
      	    pipe_works=yes
      	  fi
      	  LIBS=$lt_globsym_save_LIBS
      	  CFLAGS=$lt_globsym_save_CFLAGS
      	else
      	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
      	fi
            else
      	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
            fi
          else
            echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
          fi
        else
          echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
          cat conftest.$ac_ext >&5
        fi
        rm -rf conftest* conftst*
      
        # Do not use the global_symbol_pipe unless it works.
        if test yes = "$pipe_works"; then
          break
        else
          lt_cv_sys_global_symbol_pipe=
        fi
      done
      ])
      if test -z "$lt_cv_sys_global_symbol_pipe"; then
        lt_cv_sys_global_symbol_to_cdecl=
      fi
      if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
        AC_MSG_RESULT(failed)
      else
        AC_MSG_RESULT(ok)
      fi
      
      # Response file support.
      if test "$lt_cv_nm_interface" = "MS dumpbin"; then
        nm_file_list_spec='@'
      elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
        nm_file_list_spec='@'
      fi
      
      _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
          [Take the output of nm and produce a listing of raw symbols and C names])
      _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
          [Transform the output of nm in a proper C declaration])
      _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
          [Transform the output of nm into a list of symbols to manually relocate])
      _LT_DECL([global_symbol_to_c_name_address],
          [lt_cv_sys_global_symbol_to_c_name_address], [1],
          [Transform the output of nm in a C name address pair])
      _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
          [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
          [Transform the output of nm in a C name address pair when lib prefix is needed])
      _LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
          [The name lister interface])
      _LT_DECL([], [nm_file_list_spec], [1],
          [Specify filename containing input files for $NM])
      ]) # _LT_CMD_GLOBAL_SYMBOLS
      
      
      # _LT_COMPILER_PIC([TAGNAME])
      # ---------------------------
      m4_defun([_LT_COMPILER_PIC],
      [m4_require([_LT_TAG_COMPILER])dnl
      _LT_TAGVAR(lt_prog_compiler_wl, $1)=
      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
      _LT_TAGVAR(lt_prog_compiler_static, $1)=
      
      m4_if([$1], [CXX], [
        # C++ specific cases for pic, static, wl, etc.
        if test yes = "$GXX"; then
          _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
          _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
      
          case $host_os in
          aix*)
            # All AIX code is PIC.
            if test ia64 = "$host_cpu"; then
      	# AIX 5 now supports IA64 processor
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            fi
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
      
          amigaos*)
            case $host_cpu in
            powerpc)
                  # see comment about AmigaOS4 .so support
                  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
              ;;
            m68k)
                  # FIXME: we need at least 68020 code to build shared libraries, but
                  # adding the '-m68020' flag to GCC prevents building anything better,
                  # like '-m68040'.
                  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
              ;;
            esac
            ;;
      
          beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
            # PIC is the default for these OSes.
            ;;
          mingw* | cygwin* | os2* | pw32* | cegcc*)
            # This hack is so that the source file can tell whether it is being
            # built for inclusion in a dll (and should export symbols for example).
            # Although the cygwin gcc ignores -fPIC, still need this for old-style
            # (--disable-auto-import) libraries
            m4_if([$1], [GCJ], [],
      	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
            case $host_os in
            os2*)
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
      	;;
            esac
            ;;
          darwin* | rhapsody*)
            # PIC is the default on this platform
            # Common symbols not allowed in MH_DYLIB files
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
            ;;
          *djgpp*)
            # DJGPP does not support shared libraries at all
            _LT_TAGVAR(lt_prog_compiler_pic, $1)=
            ;;
          haiku*)
            # PIC is the default for Haiku.
            # The "-static" flag exists, but is broken.
            _LT_TAGVAR(lt_prog_compiler_static, $1)=
            ;;
          interix[[3-9]]*)
            # Interix 3.x gcc -fpic/-fPIC options generate broken code.
            # Instead, we relocate shared libraries at runtime.
            ;;
          sysv4*MP*)
            if test -d /usr/nec; then
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
            fi
            ;;
          hpux*)
            # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
            # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
            # sets the default TLS model and affects inlining.
            case $host_cpu in
            hppa*64*)
      	;;
            *)
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      	;;
            esac
            ;;
          *qnx* | *nto*)
            # QNX uses GNU C++, but need to define -shared option too, otherwise
            # it will coredump.
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
            ;;
          *)
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
          esac
        else
          case $host_os in
            aix[[4-9]]*)
      	# All AIX code is PIC.
      	if test ia64 = "$host_cpu"; then
      	  # AIX 5 now supports IA64 processor
      	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	else
      	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
      	fi
      	;;
            chorus*)
      	case $cc_basename in
      	cxch68*)
      	  # Green Hills C++ Compiler
      	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
      	  ;;
      	esac
      	;;
            mingw* | cygwin* | os2* | pw32* | cegcc*)
      	# This hack is so that the source file can tell whether it is being
      	# built for inclusion in a dll (and should export symbols for example).
      	m4_if([$1], [GCJ], [],
      	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
      	;;
            dgux*)
      	case $cc_basename in
      	  ec++*)
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	    ;;
      	  ghcx*)
      	    # Green Hills C++ Compiler
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
      	    ;;
      	  *)
      	    ;;
      	esac
      	;;
            freebsd* | dragonfly*)
      	# FreeBSD uses GNU C++
      	;;
            hpux9* | hpux10* | hpux11*)
      	case $cc_basename in
      	  CC*)
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
      	    if test ia64 != "$host_cpu"; then
      	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
      	    fi
      	    ;;
      	  aCC*)
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
      	    case $host_cpu in
      	    hppa*64*|ia64*)
      	      # +Z the default
      	      ;;
      	    *)
      	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
      	      ;;
      	    esac
      	    ;;
      	  *)
      	    ;;
      	esac
      	;;
            interix*)
      	# This is c89, which is MS Visual C++ (no shared libs)
      	# Anyone wants to do a port?
      	;;
            irix5* | irix6* | nonstopux*)
      	case $cc_basename in
      	  CC*)
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
      	    # CC pic flag -KPIC is the default.
      	    ;;
      	  *)
      	    ;;
      	esac
      	;;
            linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
      	case $cc_basename in
      	  KCC*)
      	    # KAI C++ Compiler
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      	    ;;
      	  ecpc* )
      	    # old Intel C++ for x86_64, which still supported -KPIC.
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
      	    ;;
      	  icpc* )
      	    # Intel C++, used to be incompatible with GCC.
      	    # ICC 10 doesn't accept -KPIC any more.
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
      	    ;;
      	  pgCC* | pgcpp*)
      	    # Portland Group C++ compiler
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	    ;;
      	  cxx*)
      	    # Compaq C++
      	    # Make sure the PIC flag is empty.  It appears that all Alpha
      	    # Linux and Compaq Tru64 Unix objects are PIC.
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
      	    ;;
      	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
      	    # IBM XL 8.0, 9.0 on PPC and BlueGene
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
      	    ;;
      	  *)
      	    case `$CC -V 2>&1 | sed 5q` in
      	    *Sun\ C*)
      	      # Sun C++ 5.9
      	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
      	      ;;
      	    esac
      	    ;;
      	esac
      	;;
            lynxos*)
      	;;
            m88k*)
      	;;
            mvs*)
      	case $cc_basename in
      	  cxx*)
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
      	    ;;
      	  *)
      	    ;;
      	esac
      	;;
            netbsd* | netbsdelf*-gnu)
      	;;
            *qnx* | *nto*)
              # QNX uses GNU C++, but need to define -shared option too, otherwise
              # it will coredump.
              _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
              ;;
            osf3* | osf4* | osf5*)
      	case $cc_basename in
      	  KCC*)
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
      	    ;;
      	  RCC*)
      	    # Rational C++ 2.4.1
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
      	    ;;
      	  cxx*)
      	    # Digital/Compaq C++
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    # Make sure the PIC flag is empty.  It appears that all Alpha
      	    # Linux and Compaq Tru64 Unix objects are PIC.
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
      	    ;;
      	  *)
      	    ;;
      	esac
      	;;
            psos*)
      	;;
            solaris*)
      	case $cc_basename in
      	  CC* | sunCC*)
      	    # Sun C++ 4.2, 5.x and Centerline C++
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
      	    ;;
      	  gcx*)
      	    # Green Hills C++ Compiler
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
      	    ;;
      	  *)
      	    ;;
      	esac
      	;;
            sunos4*)
      	case $cc_basename in
      	  CC*)
      	    # Sun C++ 4.x
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	    ;;
      	  lcc*)
      	    # Lucid
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
      	    ;;
      	  *)
      	    ;;
      	esac
      	;;
            sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
      	case $cc_basename in
      	  CC*)
      	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	    ;;
      	esac
      	;;
            tandem*)
      	case $cc_basename in
      	  NCC*)
      	    # NonStop-UX NCC 3.20
      	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	    ;;
      	  *)
      	    ;;
      	esac
      	;;
            vxworks*)
      	;;
            *)
      	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
      	;;
          esac
        fi
      ],
      [
        if test yes = "$GCC"; then
          _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
          _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
      
          case $host_os in
            aix*)
            # All AIX code is PIC.
            if test ia64 = "$host_cpu"; then
      	# AIX 5 now supports IA64 processor
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            fi
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
      
          amigaos*)
            case $host_cpu in
            powerpc)
                  # see comment about AmigaOS4 .so support
                  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
              ;;
            m68k)
                  # FIXME: we need at least 68020 code to build shared libraries, but
                  # adding the '-m68020' flag to GCC prevents building anything better,
                  # like '-m68040'.
                  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
              ;;
            esac
            ;;
      
          beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
            # PIC is the default for these OSes.
            ;;
      
          mingw* | cygwin* | pw32* | os2* | cegcc*)
            # This hack is so that the source file can tell whether it is being
            # built for inclusion in a dll (and should export symbols for example).
            # Although the cygwin gcc ignores -fPIC, still need this for old-style
            # (--disable-auto-import) libraries
            m4_if([$1], [GCJ], [],
      	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
            case $host_os in
            os2*)
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
      	;;
            esac
            ;;
      
          darwin* | rhapsody*)
            # PIC is the default on this platform
            # Common symbols not allowed in MH_DYLIB files
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
            ;;
      
          haiku*)
            # PIC is the default for Haiku.
            # The "-static" flag exists, but is broken.
            _LT_TAGVAR(lt_prog_compiler_static, $1)=
            ;;
      
          hpux*)
            # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
            # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
            # sets the default TLS model and affects inlining.
            case $host_cpu in
            hppa*64*)
      	# +Z the default
      	;;
            *)
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      	;;
            esac
            ;;
      
          interix[[3-9]]*)
            # Interix 3.x gcc -fpic/-fPIC options generate broken code.
            # Instead, we relocate shared libraries at runtime.
            ;;
      
          msdosdjgpp*)
            # Just because we use GCC doesn't mean we suddenly get shared libraries
            # on systems that don't support them.
            _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
            enable_shared=no
            ;;
      
          *nto* | *qnx*)
            # QNX uses GNU C++, but need to define -shared option too, otherwise
            # it will coredump.
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
            ;;
      
          sysv4*MP*)
            if test -d /usr/nec; then
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
            fi
            ;;
      
          *)
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
            ;;
          esac
      
          case $cc_basename in
          nvcc*) # Cuda Compiler Driver 2.2
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
            if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
              _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
            fi
            ;;
          esac
        else
          # PORTME Check for flag to pass linker flags through the system compiler.
          case $host_os in
          aix*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            if test ia64 = "$host_cpu"; then
      	# AIX 5 now supports IA64 processor
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            else
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
            fi
            ;;
      
          darwin* | rhapsody*)
            # PIC is the default on this platform
            # Common symbols not allowed in MH_DYLIB files
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
            case $cc_basename in
            nagfor*)
              # NAG Fortran compiler
              _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
              _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
              _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
              ;;
            esac
            ;;
      
          mingw* | cygwin* | pw32* | os2* | cegcc*)
            # This hack is so that the source file can tell whether it is being
            # built for inclusion in a dll (and should export symbols for example).
            m4_if([$1], [GCJ], [],
      	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
            case $host_os in
            os2*)
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
      	;;
            esac
            ;;
      
          hpux9* | hpux10* | hpux11*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
            # not for PA HP-UX.
            case $host_cpu in
            hppa*64*|ia64*)
      	# +Z the default
      	;;
            *)
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
      	;;
            esac
            # Is there a better lt_prog_compiler_static that works with the bundled CC?
            _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
            ;;
      
          irix5* | irix6* | nonstopux*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            # PIC (with -KPIC) is the default.
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
            ;;
      
          linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
            case $cc_basename in
            # old Intel for x86_64, which still supported -KPIC.
            ecc*)
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	_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*)
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
              ;;
            # Lahey Fortran 8.1.
            lf95*)
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
      	;;
            nagfor*)
      	# NAG Fortran compiler
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	;;
            tcc*)
      	# Fabrice Bellard et al's Tiny C Compiler
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
      	;;
            pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
              # Portland Group compilers (*not* the Pentium gcc compiler,
      	# which looks to be a dead project)
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
              ;;
            ccc*)
              _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
              # All Alpha code is PIC.
              _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
              ;;
            xl* | bgxl* | bgf* | mpixl*)
      	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
      	;;
            *)
      	case `$CC -V 2>&1 | sed 5q` in
      	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
      	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
      	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
      	  ;;
      	*Sun\ F* | *Sun*Fortran*)
      	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
      	  ;;
      	*Sun\ C*)
      	  # Sun C 5.9
      	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	  ;;
              *Intel*\ [[CF]]*Compiler*)
      	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
      	  ;;
      	*Portland\ Group*)
      	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
      	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      	  ;;
      	esac
      	;;
            esac
            ;;
      
          newsos6)
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
      
          *nto* | *qnx*)
            # QNX uses GNU C++, but need to define -shared option too, otherwise
            # it will coredump.
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
            ;;
      
          osf3* | osf4* | osf5*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            # All OSF/1 code is PIC.
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
            ;;
      
          rdos*)
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
            ;;
      
          solaris*)
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            case $cc_basename in
            f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
            *)
      	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
            esac
            ;;
      
          sunos4*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
      
          sysv4 | sysv4.2uw2* | sysv4.3*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
      
          sysv4*MP*)
            if test -d /usr/nec; then
      	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
      	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            fi
            ;;
      
          sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
      
          unicos*)
            _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
            _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
            ;;
      
          uts4*)
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
            _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
            ;;
      
          *)
            _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
            ;;
          esac
        fi
      ])
      case $host_os in
        # For platforms that do not support PIC, -DPIC is meaningless:
        *djgpp*)
          _LT_TAGVAR(lt_prog_compiler_pic, $1)=
          ;;
        *)
          _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
          ;;
      esac
      
      AC_CACHE_CHECK([for $compiler option to produce PIC],
        [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
        [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
      _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
      
      #
      # Check to make sure the PIC flag actually works.
      #
      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
        _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
          [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
          [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
          [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
           "" | " "*) ;;
           *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
           esac],
          [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
           _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
      fi
      _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
      	[Additional compiler flags for building library objects])
      
      _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
      	[How to pass a linker flag through the compiler])
      #
      # Check to make sure the static flag actually works.
      #
      wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
      _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
        _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
        $lt_tmp_static_flag,
        [],
        [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
      _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
      	[Compiler flag to prevent dynamic linking])
      ])# _LT_COMPILER_PIC
      
      
      # _LT_LINKER_SHLIBS([TAGNAME])
      # ----------------------------
      # See if the linker supports building shared libraries.
      m4_defun([_LT_LINKER_SHLIBS],
      [AC_REQUIRE([LT_PATH_LD])dnl
      AC_REQUIRE([LT_PATH_NM])dnl
      m4_require([_LT_PATH_MANIFEST_TOOL])dnl
      m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      m4_require([_LT_DECL_EGREP])dnl
      m4_require([_LT_DECL_SED])dnl
      m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
      m4_require([_LT_TAG_COMPILER])dnl
      AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
      m4_if([$1], [CXX], [
        _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
        _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
        case $host_os in
        aix[[4-9]]*)
          # If we're using GNU nm, then we don't want the "-C" option.
          # -C means demangle to GNU nm, but means don't demangle to AIX nm.
          # Without the "-l" option, or with the "-B" option, AIX nm treats
          # weak defined symbols like other global defined symbols, whereas
          # GNU nm marks them as "W".
          # While the 'weak' keyword is ignored in the Export File, we need
          # it in the Import File for the 'aix-soname' feature, so we have
          # to replace the "-B" option with "-P" for AIX nm.
          if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
            _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
          else
            _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
          fi
          ;;
        pw32*)
          _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
          ;;
        cygwin* | mingw* | cegcc*)
          case $cc_basename in
          cl*)
            _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
            ;;
          *)
            _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
            _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
            ;;
          esac
          ;;
        linux* | k*bsd*-gnu | gnu*)
          _LT_TAGVAR(link_all_deplibs, $1)=no
          ;;
        *)
          _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
          ;;
        esac
      ], [
        runpath_var=
        _LT_TAGVAR(allow_undefined_flag, $1)=
        _LT_TAGVAR(always_export_symbols, $1)=no
        _LT_TAGVAR(archive_cmds, $1)=
        _LT_TAGVAR(archive_expsym_cmds, $1)=
        _LT_TAGVAR(compiler_needs_object, $1)=no
        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
        _LT_TAGVAR(export_dynamic_flag_spec, $1)=
        _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
        _LT_TAGVAR(hardcode_automatic, $1)=no
        _LT_TAGVAR(hardcode_direct, $1)=no
        _LT_TAGVAR(hardcode_direct_absolute, $1)=no
        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
        _LT_TAGVAR(hardcode_libdir_separator, $1)=
        _LT_TAGVAR(hardcode_minus_L, $1)=no
        _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
        _LT_TAGVAR(inherit_rpath, $1)=no
        _LT_TAGVAR(link_all_deplibs, $1)=unknown
        _LT_TAGVAR(module_cmds, $1)=
        _LT_TAGVAR(module_expsym_cmds, $1)=
        _LT_TAGVAR(old_archive_from_new_cmds, $1)=
        _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
        _LT_TAGVAR(thread_safe_flag_spec, $1)=
        _LT_TAGVAR(whole_archive_flag_spec, $1)=
        # include_expsyms should be a list of space-separated symbols to be *always*
        # included in the symbol list
        _LT_TAGVAR(include_expsyms, $1)=
        # exclude_expsyms can be an extended regexp of symbols to exclude
        # it will be wrapped by ' (' and ')$', so one must not match beginning or
        # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
        # as well as any symbol that contains 'd'.
        _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
        # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
        # platforms (ab)use it in PIC code, but their linkers get confused if
        # the symbol is explicitly referenced.  Since portable code cannot
        # rely on this symbol name, it's probably fine to never include it in
        # preloaded symbol tables.
        # Exclude shared library initialization/finalization symbols.
      dnl Note also adjust exclude_expsyms for C++ above.
        extract_expsyms_cmds=
      
        case $host_os in
        cygwin* | mingw* | pw32* | cegcc*)
          # FIXME: the MSVC++ port hasn't been tested in a loooong time
          # When not using gcc, we currently assume that we are using
          # Microsoft Visual C++.
          if test yes != "$GCC"; then
            with_gnu_ld=no
          fi
          ;;
        interix*)
          # we just hope/assume this is gcc and not c89 (= MSVC++)
          with_gnu_ld=yes
          ;;
        openbsd* | bitrig*)
          with_gnu_ld=no
          ;;
        linux* | k*bsd*-gnu | gnu*)
          _LT_TAGVAR(link_all_deplibs, $1)=no
          ;;
        esac
      
        _LT_TAGVAR(ld_shlibs, $1)=yes
      
        # On some targets, GNU ld is compatible enough with the native linker
        # that we're better off using the native interface for both.
        lt_use_gnu_ld_interface=no
        if test yes = "$with_gnu_ld"; then
          case $host_os in
            aix*)
      	# The AIX port of GNU ld has always aspired to compatibility
      	# with the native linker.  However, as the warning in the GNU ld
      	# block says, versions before 2.19.5* couldn't really create working
      	# shared libraries, regardless of the interface used.
      	case `$LD -v 2>&1` in
      	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
      	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
      	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
      	  *)
      	    lt_use_gnu_ld_interface=yes
      	    ;;
      	esac
      	;;
            *)
      	lt_use_gnu_ld_interface=yes
      	;;
          esac
        fi
      
        if test yes = "$lt_use_gnu_ld_interface"; then
          # If archive_cmds runs LD, not CC, wlarc should be empty
          wlarc='$wl'
      
          # Set some defaults for GNU ld with shared library support. These
          # are reset later if shared libraries are not supported. Putting them
          # here allows them to be overridden if necessary.
          runpath_var=LD_RUN_PATH
          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
          _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
          # ancient GNU ld didn't support --whole-archive et. al.
          if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
            _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
          else
            _LT_TAGVAR(whole_archive_flag_spec, $1)=
          fi
          supports_anon_versioning=no
          case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
            *GNU\ gold*) supports_anon_versioning=yes ;;
            *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
            *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
            *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
            *\ 2.11.*) ;; # other 2.11 versions
            *) supports_anon_versioning=yes ;;
          esac
      
          # See if GNU ld supports shared libraries.
          case $host_os in
          aix[[3-9]]*)
            # On AIX/PPC, the GNU linker is very broken
            if test ia64 != "$host_cpu"; then
      	_LT_TAGVAR(ld_shlibs, $1)=no
      	cat <<_LT_EOF 1>&2
      
      *** Warning: the GNU linker, at least up to release 2.19, is reported
      *** to be unable to reliably create shared libraries on AIX.
      *** Therefore, libtool is disabling shared libraries support.  If you
      *** really care for shared libraries, you may want to install binutils
      *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
      *** You will then need to restart the configuration process.
      
      _LT_EOF
            fi
            ;;
      
          amigaos*)
            case $host_cpu in
            powerpc)
                  # see comment about AmigaOS4 .so support
                  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
                  _LT_TAGVAR(archive_expsym_cmds, $1)=''
              ;;
            m68k)
                  _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
                  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
                  _LT_TAGVAR(hardcode_minus_L, $1)=yes
              ;;
            esac
            ;;
      
          beos*)
            if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
      	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      	# Joseph Beckenbach  says some releases of gcc
      	# support --undefined.  This deserves some investigation.  FIXME
      	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
            else
      	_LT_TAGVAR(ld_shlibs, $1)=no
            fi
            ;;
      
          cygwin* | mingw* | pw32* | cegcc*)
            # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
            # as there is no search path for DLLs.
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
            _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
            _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
            _LT_TAGVAR(always_export_symbols, $1)=no
            _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
            _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
            _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
      
            if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
              _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
      	# If the export-symbols file already is a .def file, use it as
      	# is; otherwise, prepend EXPORTS...
      	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
                cp $export_symbols $output_objdir/$soname.def;
              else
                echo EXPORTS > $output_objdir/$soname.def;
                cat $export_symbols >> $output_objdir/$soname.def;
              fi~
              $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
            else
      	_LT_TAGVAR(ld_shlibs, $1)=no
            fi
            ;;
      
          haiku*)
            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
            _LT_TAGVAR(link_all_deplibs, $1)=yes
            ;;
      
          os2*)
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
            _LT_TAGVAR(hardcode_minus_L, $1)=yes
            _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
            shrext_cmds=.dll
            _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
      	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
      	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
      	$ECHO EXPORTS >> $output_objdir/$libname.def~
      	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
      	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
      	emximp -o $lib $output_objdir/$libname.def'
            _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
      	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
      	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
      	$ECHO EXPORTS >> $output_objdir/$libname.def~
      	prefix_cmds="$SED"~
      	if test EXPORTS = "`$SED 1q $export_symbols`"; then
      	  prefix_cmds="$prefix_cmds -e 1d";
      	fi~
      	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
      	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
      	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
      	emximp -o $lib $output_objdir/$libname.def'
            _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
            _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
            ;;
      
          interix[[3-9]]*)
            _LT_TAGVAR(hardcode_direct, $1)=no
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
            _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
            # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
            # Instead, shared libraries are loaded at an image base (0x10000000 by
            # default) and relocated if they conflict, which is a slow very memory
            # consuming and fragmenting process.  To avoid this, we pick a random,
            # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
            # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
            _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
            ;;
      
          gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
            tmp_diet=no
            if test linux-dietlibc = "$host_os"; then
      	case $cc_basename in
      	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
      	esac
            fi
            if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
      	 && test no = "$tmp_diet"
            then
      	tmp_addflag=' $pic_flag'
      	tmp_sharedflag='-shared'
      	case $cc_basename,$host_cpu in
              pgcc*)				# Portland Group C compiler
      	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
      	  tmp_addflag=' $pic_flag'
      	  ;;
      	pgf77* | pgf90* | pgf95* | pgfortran*)
      					# Portland Group f77 and f90 compilers
      	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
      	  tmp_addflag=' $pic_flag -Mnomain' ;;
      	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
      	  tmp_addflag=' -i_dynamic' ;;
      	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
      	  tmp_addflag=' -i_dynamic -nofor_main' ;;
      	ifc* | ifort*)			# Intel Fortran compiler
      	  tmp_addflag=' -nofor_main' ;;
      	lf95*)				# Lahey Fortran 8.1
      	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
      	  tmp_sharedflag='--shared' ;;
              nagfor*)                        # NAGFOR 5.3
                tmp_sharedflag='-Wl,-shared' ;;
      	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
      	  tmp_sharedflag='-qmkshrobj'
      	  tmp_addflag= ;;
      	nvcc*)	# Cuda Compiler Driver 2.2
      	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
      	  _LT_TAGVAR(compiler_needs_object, $1)=yes
      	  ;;
      	esac
      	case `$CC -V 2>&1 | sed 5q` in
      	*Sun\ C*)			# Sun C 5.9
      	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
      	  _LT_TAGVAR(compiler_needs_object, $1)=yes
      	  tmp_sharedflag='-G' ;;
      	*Sun\ F*)			# Sun Fortran 8.3
      	  tmp_sharedflag='-G' ;;
      	esac
      	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
      
              if test yes = "$supports_anon_versioning"; then
                _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
                  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
                  echo "local: *; };" >> $output_objdir/$libname.ver~
                  $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
              fi
      
      	case $cc_basename in
      	tcc*)
      	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
      	  ;;
      	xlf* | bgf* | bgxlf* | mpixlf*)
      	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
      	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
      	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
      	  if test yes = "$supports_anon_versioning"; then
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
                    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
                    echo "local: *; };" >> $output_objdir/$libname.ver~
                    $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
      	  fi
      	  ;;
      	esac
            else
              _LT_TAGVAR(ld_shlibs, $1)=no
            fi
            ;;
      
          netbsd* | netbsdelf*-gnu)
            if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
      	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
      	wlarc=
            else
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
            fi
            ;;
      
          solaris*)
            if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
      	_LT_TAGVAR(ld_shlibs, $1)=no
      	cat <<_LT_EOF 1>&2
      
      *** Warning: The releases 2.8.* of the GNU linker cannot reliably
      *** create shared libraries on Solaris systems.  Therefore, libtool
      *** is disabling shared libraries support.  We urge you to upgrade GNU
      *** binutils to release 2.9.1 or newer.  Another option is to modify
      *** your PATH or compiler configuration so that the native linker is
      *** used, and then restart.
      
      _LT_EOF
            elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
            else
      	_LT_TAGVAR(ld_shlibs, $1)=no
            fi
            ;;
      
          sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
            case `$LD -v 2>&1` in
              *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
      	_LT_TAGVAR(ld_shlibs, $1)=no
      	cat <<_LT_EOF 1>&2
      
      *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
      *** reliably create shared libraries on SCO systems.  Therefore, libtool
      *** is disabling shared libraries support.  We urge you to upgrade GNU
      *** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
      *** your PATH or compiler configuration so that the native linker is
      *** used, and then restart.
      
      _LT_EOF
      	;;
      	*)
      	  # For security reasons, it is highly recommended that you always
      	  # use absolute paths for naming shared libraries, and exclude the
      	  # DT_RUNPATH tag from executables and libraries.  But doing so
      	  # requires that you compile everything twice, which is a pain.
      	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
      	  else
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	  fi
      	;;
            esac
            ;;
      
          sunos4*)
            _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
            wlarc=
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          *)
            if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
            else
      	_LT_TAGVAR(ld_shlibs, $1)=no
            fi
            ;;
          esac
      
          if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
            runpath_var=
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
            _LT_TAGVAR(export_dynamic_flag_spec, $1)=
            _LT_TAGVAR(whole_archive_flag_spec, $1)=
          fi
        else
          # PORTME fill in a description of your system's linker (not GNU ld)
          case $host_os in
          aix3*)
            _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
            _LT_TAGVAR(always_export_symbols, $1)=yes
            _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
            # Note: this linker hardcodes the directories in LIBPATH if there
            # are no directories specified by -L.
            _LT_TAGVAR(hardcode_minus_L, $1)=yes
            if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
      	# Neither direct hardcoding nor static linking is supported with a
      	# broken collect2.
      	_LT_TAGVAR(hardcode_direct, $1)=unsupported
            fi
            ;;
      
          aix[[4-9]]*)
            if test ia64 = "$host_cpu"; then
      	# On IA64, the linker does run time linking by default, so we don't
      	# have to do anything special.
      	aix_use_runtimelinking=no
      	exp_sym_flag='-Bexport'
      	no_entry_flag=
            else
      	# If we're using GNU nm, then we don't want the "-C" option.
      	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
      	# Without the "-l" option, or with the "-B" option, AIX nm treats
      	# weak defined symbols like other global defined symbols, whereas
      	# GNU nm marks them as "W".
      	# While the 'weak' keyword is ignored in the Export File, we need
      	# it in the Import File for the 'aix-soname' feature, so we have
      	# to replace the "-B" option with "-P" for AIX nm.
      	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
      	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
      	else
      	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
      	fi
      	aix_use_runtimelinking=no
      
      	# Test if we are trying to use run time linking or normal
      	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
      	# have runtime linking enabled, and use it for executables.
      	# For shared libraries, we enable/disable runtime linking
      	# depending on the kind of the shared library created -
      	# when "with_aix_soname,aix_use_runtimelinking" is:
      	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
      	# "aix,yes"  lib.so          shared, rtl:yes, for executables
      	#            lib.a           static archive
      	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
      	#            lib.a(lib.so.V) shared, rtl:no,  for executables
      	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
      	#            lib.a(lib.so.V) shared, rtl:no
      	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
      	#            lib.a           static archive
      	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
      	  for ld_flag in $LDFLAGS; do
      	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
      	    aix_use_runtimelinking=yes
      	    break
      	  fi
      	  done
      	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
      	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
      	    # so we don't have lib.a shared libs to link our executables.
      	    # We have to force runtime linking in this case.
      	    aix_use_runtimelinking=yes
      	    LDFLAGS="$LDFLAGS -Wl,-brtl"
      	  fi
      	  ;;
      	esac
      
      	exp_sym_flag='-bexport'
      	no_entry_flag='-bnoentry'
            fi
      
            # When large executables or shared objects are built, AIX ld can
            # have problems creating the table of contents.  If linking a library
            # or program results in "error TOC overflow" add -mminimal-toc to
            # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
            # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
      
            _LT_TAGVAR(archive_cmds, $1)=''
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
            _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
            _LT_TAGVAR(link_all_deplibs, $1)=yes
            _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
            case $with_aix_soname,$aix_use_runtimelinking in
            aix,*) ;; # traditional, no import file
            svr4,* | *,yes) # use import file
      	# The Import File defines what to hardcode.
      	_LT_TAGVAR(hardcode_direct, $1)=no
      	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
      	;;
            esac
      
            if test yes = "$GCC"; then
      	case $host_os in aix4.[[012]]|aix4.[[012]].*)
      	# We only want to do this on AIX 4.2 and lower, the check
      	# below for broken collect2 doesn't work under 4.3+
      	  collect2name=`$CC -print-prog-name=collect2`
      	  if test -f "$collect2name" &&
      	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
      	  then
      	  # We have reworked collect2
      	  :
      	  else
      	  # We have old collect2
      	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
      	  # It fails to find uninstalled libraries when the uninstalled
      	  # path is not listed in the libpath.  Setting hardcode_minus_L
      	  # to unsupported forces relinking
      	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
      	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
      	  fi
      	  ;;
      	esac
      	shared_flag='-shared'
      	if test yes = "$aix_use_runtimelinking"; then
      	  shared_flag="$shared_flag "'$wl-G'
      	fi
      	# Need to ensure runtime linking is disabled for the traditional
      	# shared library, or the linker may eventually find shared libraries
      	# /with/ Import File - we do not want to mix them.
      	shared_flag_aix='-shared'
      	shared_flag_svr4='-shared $wl-G'
            else
      	# not using gcc
      	if test ia64 = "$host_cpu"; then
      	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
      	# chokes on -Wl,-G. The following line is correct:
      	  shared_flag='-G'
      	else
      	  if test yes = "$aix_use_runtimelinking"; then
      	    shared_flag='$wl-G'
      	  else
      	    shared_flag='$wl-bM:SRE'
      	  fi
      	  shared_flag_aix='$wl-bM:SRE'
      	  shared_flag_svr4='$wl-G'
      	fi
            fi
      
            _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
            # It seems that -bexpall does not export symbols beginning with
            # underscore (_), so it is better to generate a list of symbols to export.
            _LT_TAGVAR(always_export_symbols, $1)=yes
            if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
      	# Warning - without using the other runtime loading flags (-brtl),
      	# -berok will link without error, but may produce a broken library.
      	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
              # Determine the default libpath from the value encoded in an
              # empty executable.
              _LT_SYS_MODULE_PATH_AIX([$1])
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
              _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
            else
      	if test ia64 = "$host_cpu"; then
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
      	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
      	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
      	else
      	 # Determine the default libpath from the value encoded in an
      	 # empty executable.
      	 _LT_SYS_MODULE_PATH_AIX([$1])
      	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
      	  # Warning - without using the other run time loading flags,
      	  # -berok will link without error, but may produce a broken library.
      	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
      	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
      	  if test yes = "$with_gnu_ld"; then
      	    # We only use this code for GNU lds that support --whole-archive.
      	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
      	  else
      	    # Exported symbols can be pulled into shared objects from archives
      	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
      	  fi
      	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
      	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
      	  # -brtl affects multiple linker settings, -berok does not and is overridden later
      	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
      	  if test svr4 != "$with_aix_soname"; then
      	    # This is similar to how AIX traditionally builds its shared libraries.
      	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
      	  fi
      	  if test aix != "$with_aix_soname"; then
      	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
      	  else
      	    # used by -dlpreopen to get the symbols
      	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
      	  fi
      	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
      	fi
            fi
            ;;
      
          amigaos*)
            case $host_cpu in
            powerpc)
                  # see comment about AmigaOS4 .so support
                  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
                  _LT_TAGVAR(archive_expsym_cmds, $1)=''
              ;;
            m68k)
                  _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
                  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
                  _LT_TAGVAR(hardcode_minus_L, $1)=yes
              ;;
            esac
            ;;
      
          bsdi[[45]]*)
            _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
            ;;
      
          cygwin* | mingw* | pw32* | cegcc*)
            # When not using gcc, we currently assume that we are using
            # Microsoft Visual C++.
            # hardcode_libdir_flag_spec is actually meaningless, as there is
            # no search path for DLLs.
            case $cc_basename in
            cl*)
      	# Native MSVC
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
      	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      	_LT_TAGVAR(always_export_symbols, $1)=yes
      	_LT_TAGVAR(file_list_spec, $1)='@'
      	# Tell ltmain to make .lib files, not .a files.
      	libext=lib
      	# Tell ltmain to make .dll files, not .so files.
      	shrext_cmds=.dll
      	# FIXME: Setting linknames here is a bad hack.
      	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
      	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
                  cp "$export_symbols" "$output_objdir/$soname.def";
                  echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
                else
                  $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
                fi~
                $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
                linknames='
      	# The linker will not automatically build a static lib if we build a DLL.
      	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
      	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
      	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
      	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
      	# Don't use ranlib
      	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
      	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
                lt_tool_outputfile="@TOOL_OUTPUT@"~
                case $lt_outputfile in
                  *.exe|*.EXE) ;;
                  *)
                    lt_outputfile=$lt_outputfile.exe
                    lt_tool_outputfile=$lt_tool_outputfile.exe
                    ;;
                esac~
                if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
                  $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
                  $RM "$lt_outputfile.manifest";
                fi'
      	;;
            *)
      	# Assume MSVC wrapper
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
      	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      	# Tell ltmain to make .lib files, not .a files.
      	libext=lib
      	# Tell ltmain to make .dll files, not .so files.
      	shrext_cmds=.dll
      	# FIXME: Setting linknames here is a bad hack.
      	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
      	# The linker will automatically build a .lib file if we build a DLL.
      	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
      	# FIXME: Should let the user specify the lib program.
      	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
      	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
      	;;
            esac
            ;;
      
          darwin* | rhapsody*)
            _LT_DARWIN_LINKER_FEATURES($1)
            ;;
      
          dgux*)
            _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
          # support.  Future versions do this automatically, but an explicit c++rt0.o
          # does not break anything, and helps significantly (at the cost of a little
          # extra space).
          freebsd2.2*)
            _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          # Unfortunately, older versions of FreeBSD 2 do not have this feature.
          freebsd2.*)
            _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_minus_L, $1)=yes
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
          freebsd* | dragonfly*)
            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          hpux9*)
            if test yes = "$GCC"; then
      	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
            else
      	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
            fi
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
            _LT_TAGVAR(hardcode_libdir_separator, $1)=:
            _LT_TAGVAR(hardcode_direct, $1)=yes
      
            # hardcode_minus_L: Not really in the search PATH,
            # but as the default location of the library.
            _LT_TAGVAR(hardcode_minus_L, $1)=yes
            _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
            ;;
      
          hpux10*)
            if test yes,no = "$GCC,$with_gnu_ld"; then
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
            else
      	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
            fi
            if test no = "$with_gnu_ld"; then
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
      	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
      	_LT_TAGVAR(hardcode_direct, $1)=yes
      	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
      	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
      	# hardcode_minus_L: Not really in the search PATH,
      	# but as the default location of the library.
      	_LT_TAGVAR(hardcode_minus_L, $1)=yes
            fi
            ;;
      
          hpux11*)
            if test yes,no = "$GCC,$with_gnu_ld"; then
      	case $host_cpu in
      	hppa*64*)
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
      	  ;;
      	ia64*)
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
      	  ;;
      	*)
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
      	  ;;
      	esac
            else
      	case $host_cpu in
      	hppa*64*)
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
      	  ;;
      	ia64*)
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
      	  ;;
      	*)
      	m4_if($1, [], [
      	  # Older versions of the 11.00 compiler do not understand -b yet
      	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
      	  _LT_LINKER_OPTION([if $CC understands -b],
      	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
      	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
      	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
      	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
      	  ;;
      	esac
            fi
            if test no = "$with_gnu_ld"; then
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
      	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
      
      	case $host_cpu in
      	hppa*64*|ia64*)
      	  _LT_TAGVAR(hardcode_direct, $1)=no
      	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      	  ;;
      	*)
      	  _LT_TAGVAR(hardcode_direct, $1)=yes
      	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
      	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
      
      	  # hardcode_minus_L: Not really in the search PATH,
      	  # but as the default location of the library.
      	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
      	  ;;
      	esac
            fi
            ;;
      
          irix5* | irix6* | nonstopux*)
            if test yes = "$GCC"; then
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
      	# Try to use the -exported_symbol ld option, if it does not
      	# work, assume that -exports_file does not work either and
      	# implicitly export all symbols.
      	# This should be the same for all languages, so no per-tag cache variable.
      	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
      	  [lt_cv_irix_exported_symbol],
      	  [save_LDFLAGS=$LDFLAGS
      	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
      	   AC_LINK_IFELSE(
      	     [AC_LANG_SOURCE(
      	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
      			      [C++], [[int foo (void) { return 0; }]],
      			      [Fortran 77], [[
            subroutine foo
            end]],
      			      [Fortran], [[
            subroutine foo
            end]])])],
      	      [lt_cv_irix_exported_symbol=yes],
      	      [lt_cv_irix_exported_symbol=no])
                 LDFLAGS=$save_LDFLAGS])
      	if test yes = "$lt_cv_irix_exported_symbol"; then
                _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
      	fi
      	_LT_TAGVAR(link_all_deplibs, $1)=no
            else
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
            fi
            _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
            _LT_TAGVAR(hardcode_libdir_separator, $1)=:
            _LT_TAGVAR(inherit_rpath, $1)=yes
            _LT_TAGVAR(link_all_deplibs, $1)=yes
            ;;
      
          linux*)
            case $cc_basename in
            tcc*)
      	# Fabrice Bellard et al's Tiny C Compiler
      	_LT_TAGVAR(ld_shlibs, $1)=yes
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
      	;;
            esac
            ;;
      
          netbsd* | netbsdelf*-gnu)
            if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
      	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
            else
      	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
            fi
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          newsos6)
            _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
            _LT_TAGVAR(hardcode_libdir_separator, $1)=:
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          *nto* | *qnx*)
            ;;
      
          openbsd* | bitrig*)
            if test -f /usr/libexec/ld.so; then
      	_LT_TAGVAR(hardcode_direct, $1)=yes
      	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
      	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
      	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
      	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
      	else
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
      	fi
            else
      	_LT_TAGVAR(ld_shlibs, $1)=no
            fi
            ;;
      
          os2*)
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
            _LT_TAGVAR(hardcode_minus_L, $1)=yes
            _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
            shrext_cmds=.dll
            _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
      	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
      	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
      	$ECHO EXPORTS >> $output_objdir/$libname.def~
      	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
      	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
      	emximp -o $lib $output_objdir/$libname.def'
            _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
      	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
      	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
      	$ECHO EXPORTS >> $output_objdir/$libname.def~
      	prefix_cmds="$SED"~
      	if test EXPORTS = "`$SED 1q $export_symbols`"; then
      	  prefix_cmds="$prefix_cmds -e 1d";
      	fi~
      	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
      	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
      	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
      	emximp -o $lib $output_objdir/$libname.def'
            _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
            _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
            ;;
      
          osf3*)
            if test yes = "$GCC"; then
      	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
            else
      	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
            fi
            _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
            _LT_TAGVAR(hardcode_libdir_separator, $1)=:
            ;;
      
          osf4* | osf5*)	# as osf3* with the addition of -msym flag
            if test yes = "$GCC"; then
      	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
            else
      	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
                $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
      
      	# Both c and cxx compiler support -rpath directly
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
            fi
            _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
            _LT_TAGVAR(hardcode_libdir_separator, $1)=:
            ;;
      
          solaris*)
            _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
            if test yes = "$GCC"; then
      	wlarc='$wl'
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
                $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
            else
      	case `$CC -V 2>&1` in
      	*"Compilers 5.0"*)
      	  wlarc=''
      	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
      	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
                  $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
      	  ;;
      	*)
      	  wlarc='$wl'
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
      	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
                  $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
      	  ;;
      	esac
            fi
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            case $host_os in
            solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
            *)
      	# The compiler driver will combine and reorder linker options,
      	# but understands '-z linker_flag'.  GCC discards it without '$wl',
      	# but is careful enough not to reorder.
      	# Supported since Solaris 2.6 (maybe 2.5.1?)
      	if test yes = "$GCC"; then
      	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
      	else
      	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
      	fi
      	;;
            esac
            _LT_TAGVAR(link_all_deplibs, $1)=yes
            ;;
      
          sunos4*)
            if test sequent = "$host_vendor"; then
      	# Use $CC to link under sequent, because it throws in some extra .o
      	# files that make .init and .fini sections work.
      	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
            else
      	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
            fi
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_minus_L, $1)=yes
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          sysv4)
            case $host_vendor in
      	sni)
      	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
      	;;
      	siemens)
      	  ## LD is ld it makes a PLAMLIB
      	  ## CC just makes a GrossModule.
      	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
      	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
      	  _LT_TAGVAR(hardcode_direct, $1)=no
              ;;
      	motorola)
      	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
      	;;
            esac
            runpath_var='LD_RUN_PATH'
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          sysv4.3*)
            _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
            ;;
      
          sysv4*MP*)
            if test -d /usr/nec; then
      	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      	runpath_var=LD_RUN_PATH
      	hardcode_runpath_var=yes
      	_LT_TAGVAR(ld_shlibs, $1)=yes
            fi
            ;;
      
          sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
            _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
            _LT_TAGVAR(archive_cmds_need_lc, $1)=no
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            runpath_var='LD_RUN_PATH'
      
            if test yes = "$GCC"; then
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
            else
      	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
            fi
            ;;
      
          sysv5* | sco3.2v5* | sco5v6*)
            # Note: We CANNOT use -z defs as we might desire, because we do not
            # link with -lc, and that would cause any symbols used from libc to
            # always be unresolved, which means just about no library would
            # ever link correctly.  If we're not using GNU ld we use -z text
            # though, which does catch some bad symbols but isn't as heavy-handed
            # as -z defs.
            _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
            _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
            _LT_TAGVAR(archive_cmds_need_lc, $1)=no
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
            _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
            _LT_TAGVAR(link_all_deplibs, $1)=yes
            _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
            runpath_var='LD_RUN_PATH'
      
            if test yes = "$GCC"; then
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
            else
      	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
            fi
            ;;
      
          uts4*)
            _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
      
          *)
            _LT_TAGVAR(ld_shlibs, $1)=no
            ;;
          esac
      
          if test sni = "$host_vendor"; then
            case $host in
            sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
      	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
      	;;
            esac
          fi
        fi
      ])
      AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
      test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
      
      _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
      
      _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
      _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
      _LT_DECL([], [extract_expsyms_cmds], [2],
          [The commands to extract the exported symbol list from a shared archive])
      
      #
      # Do we need to explicitly link libc?
      #
      case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
      x|xyes)
        # Assume -lc should be added
        _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
      
        if test yes,yes = "$GCC,$enable_shared"; then
          case $_LT_TAGVAR(archive_cmds, $1) in
          *'~'*)
            # FIXME: we may have to deal with multi-command sequences.
            ;;
          '$CC '*)
            # Test whether the compiler implicitly links with -lc since on some
            # systems, -lgcc has to come before -lc. If gcc already passes -lc
            # to ld, don't add -lc before -lgcc.
            AC_CACHE_CHECK([whether -lc should be explicitly linked in],
      	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
      	[$RM conftest*
      	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
      
      	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
      	  soname=conftest
      	  lib=conftest
      	  libobjs=conftest.$ac_objext
      	  deplibs=
      	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
      	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
      	  compiler_flags=-v
      	  linker_flags=-v
      	  verstring=
      	  output_objdir=.
      	  libname=conftest
      	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
      	  _LT_TAGVAR(allow_undefined_flag, $1)=
      	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
      	  then
      	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
      	  else
      	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
      	  fi
      	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
      	else
      	  cat conftest.err 1>&5
      	fi
      	$RM conftest*
      	])
            _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
            ;;
          esac
        fi
        ;;
      esac
      
      _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
          [Whether or not to add -lc for building shared libraries])
      _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
          [enable_shared_with_static_runtimes], [0],
          [Whether or not to disallow shared libs when runtime libs are static])
      _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
          [Compiler flag to allow reflexive dlopens])
      _LT_TAGDECL([], [whole_archive_flag_spec], [1],
          [Compiler flag to generate shared objects directly from archives])
      _LT_TAGDECL([], [compiler_needs_object], [1],
          [Whether the compiler copes with passing no objects directly])
      _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
          [Create an old-style archive from a shared archive])
      _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
          [Create a temporary old-style archive to link instead of a shared archive])
      _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
      _LT_TAGDECL([], [archive_expsym_cmds], [2])
      _LT_TAGDECL([], [module_cmds], [2],
          [Commands used to build a loadable module if different from building
          a shared archive.])
      _LT_TAGDECL([], [module_expsym_cmds], [2])
      _LT_TAGDECL([], [with_gnu_ld], [1],
          [Whether we are building with GNU ld or not])
      _LT_TAGDECL([], [allow_undefined_flag], [1],
          [Flag that allows shared libraries with undefined symbols to be built])
      _LT_TAGDECL([], [no_undefined_flag], [1],
          [Flag that enforces no undefined symbols])
      _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
          [Flag to hardcode $libdir into a binary during linking.
          This must work even if $libdir does not exist])
      _LT_TAGDECL([], [hardcode_libdir_separator], [1],
          [Whether we need a single "-rpath" flag with a separated argument])
      _LT_TAGDECL([], [hardcode_direct], [0],
          [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
          DIR into the resulting binary])
      _LT_TAGDECL([], [hardcode_direct_absolute], [0],
          [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
          DIR into the resulting binary and the resulting library dependency is
          "absolute", i.e impossible to change by setting $shlibpath_var if the
          library is relocated])
      _LT_TAGDECL([], [hardcode_minus_L], [0],
          [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
          into the resulting binary])
      _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
          [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
          into the resulting binary])
      _LT_TAGDECL([], [hardcode_automatic], [0],
          [Set to "yes" if building a shared library automatically hardcodes DIR
          into the library and all subsequent libraries and executables linked
          against it])
      _LT_TAGDECL([], [inherit_rpath], [0],
          [Set to yes if linker adds runtime paths of dependent libraries
          to runtime path list])
      _LT_TAGDECL([], [link_all_deplibs], [0],
          [Whether libtool must link a program against all its dependency libraries])
      _LT_TAGDECL([], [always_export_symbols], [0],
          [Set to "yes" if exported symbols are required])
      _LT_TAGDECL([], [export_symbols_cmds], [2],
          [The commands to list exported symbols])
      _LT_TAGDECL([], [exclude_expsyms], [1],
          [Symbols that should not be listed in the preloaded symbols])
      _LT_TAGDECL([], [include_expsyms], [1],
          [Symbols that must always be exported])
      _LT_TAGDECL([], [prelink_cmds], [2],
          [Commands necessary for linking programs (against libraries) with templates])
      _LT_TAGDECL([], [postlink_cmds], [2],
          [Commands necessary for finishing linking programs])
      _LT_TAGDECL([], [file_list_spec], [1],
          [Specify filename containing input files])
      dnl FIXME: Not yet implemented
      dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
      dnl    [Compiler flag to generate thread safe objects])
      ])# _LT_LINKER_SHLIBS
      
      
      # _LT_LANG_C_CONFIG([TAG])
      # ------------------------
      # Ensure that the configuration variables for a C compiler are suitably
      # defined.  These variables are subsequently used by _LT_CONFIG to write
      # the compiler configuration to 'libtool'.
      m4_defun([_LT_LANG_C_CONFIG],
      [m4_require([_LT_DECL_EGREP])dnl
      lt_save_CC=$CC
      AC_LANG_PUSH(C)
      
      # Source file extension for C test sources.
      ac_ext=c
      
      # Object file extension for compiled C test sources.
      objext=o
      _LT_TAGVAR(objext, $1)=$objext
      
      # Code to be used in simple compile tests
      lt_simple_compile_test_code="int some_variable = 0;"
      
      # Code to be used in simple link tests
      lt_simple_link_test_code='int main(){return(0);}'
      
      _LT_TAG_COMPILER
      # Save the default compiler, since it gets overwritten when the other
      # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
      compiler_DEFAULT=$CC
      
      # save warnings/boilerplate of simple test code
      _LT_COMPILER_BOILERPLATE
      _LT_LINKER_BOILERPLATE
      
      ## CAVEAT EMPTOR:
      ## There is no encapsulation within the following macros, do not change
      ## the running order or otherwise move them around unless you know exactly
      ## what you are doing...
      if test -n "$compiler"; then
        _LT_COMPILER_NO_RTTI($1)
        _LT_COMPILER_PIC($1)
        _LT_COMPILER_C_O($1)
        _LT_COMPILER_FILE_LOCKS($1)
        _LT_LINKER_SHLIBS($1)
        _LT_SYS_DYNAMIC_LINKER($1)
        _LT_LINKER_HARDCODE_LIBPATH($1)
        LT_SYS_DLOPEN_SELF
        _LT_CMD_STRIPLIB
      
        # Report what library types will actually be built
        AC_MSG_CHECKING([if libtool supports shared libraries])
        AC_MSG_RESULT([$can_build_shared])
      
        AC_MSG_CHECKING([whether to build shared libraries])
        test no = "$can_build_shared" && enable_shared=no
      
        # On AIX, shared libraries and static libraries use the same namespace, and
        # are all built from PIC.
        case $host_os in
        aix3*)
          test yes = "$enable_shared" && enable_static=no
          if test -n "$RANLIB"; then
            archive_cmds="$archive_cmds~\$RANLIB \$lib"
            postinstall_cmds='$RANLIB $lib'
          fi
          ;;
      
        aix[[4-9]]*)
          if test ia64 != "$host_cpu"; then
            case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
            yes,aix,yes) ;;			# shared object as lib.so file only
            yes,svr4,*) ;;			# shared object as lib.so archive member only
            yes,*) enable_static=no ;;	# shared object in lib.a archive as well
            esac
          fi
          ;;
        esac
        AC_MSG_RESULT([$enable_shared])
      
        AC_MSG_CHECKING([whether to build static libraries])
        # Make sure either enable_shared or enable_static is yes.
        test yes = "$enable_shared" || enable_static=yes
        AC_MSG_RESULT([$enable_static])
      
        _LT_CONFIG($1)
      fi
      AC_LANG_POP
      CC=$lt_save_CC
      ])# _LT_LANG_C_CONFIG
      
      
      # _LT_LANG_CXX_CONFIG([TAG])
      # --------------------------
      # Ensure that the configuration variables for a C++ compiler are suitably
      # defined.  These variables are subsequently used by _LT_CONFIG to write
      # the compiler configuration to 'libtool'.
      m4_defun([_LT_LANG_CXX_CONFIG],
      [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      m4_require([_LT_DECL_EGREP])dnl
      m4_require([_LT_PATH_MANIFEST_TOOL])dnl
      if test -n "$CXX" && ( test no != "$CXX" &&
          ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
          (test g++ != "$CXX"))); then
        AC_PROG_CXXCPP
      else
        _lt_caught_CXX_error=yes
      fi
      
      AC_LANG_PUSH(C++)
      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      _LT_TAGVAR(allow_undefined_flag, $1)=
      _LT_TAGVAR(always_export_symbols, $1)=no
      _LT_TAGVAR(archive_expsym_cmds, $1)=
      _LT_TAGVAR(compiler_needs_object, $1)=no
      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
      _LT_TAGVAR(hardcode_direct, $1)=no
      _LT_TAGVAR(hardcode_direct_absolute, $1)=no
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
      _LT_TAGVAR(hardcode_libdir_separator, $1)=
      _LT_TAGVAR(hardcode_minus_L, $1)=no
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
      _LT_TAGVAR(hardcode_automatic, $1)=no
      _LT_TAGVAR(inherit_rpath, $1)=no
      _LT_TAGVAR(module_cmds, $1)=
      _LT_TAGVAR(module_expsym_cmds, $1)=
      _LT_TAGVAR(link_all_deplibs, $1)=unknown
      _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
      _LT_TAGVAR(reload_flag, $1)=$reload_flag
      _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
      _LT_TAGVAR(no_undefined_flag, $1)=
      _LT_TAGVAR(whole_archive_flag_spec, $1)=
      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
      
      # Source file extension for C++ test sources.
      ac_ext=cpp
      
      # Object file extension for compiled C++ test sources.
      objext=o
      _LT_TAGVAR(objext, $1)=$objext
      
      # No sense in running all these tests if we already determined that
      # the CXX compiler isn't working.  Some variables (like enable_shared)
      # are currently assumed to apply to all compilers on this platform,
      # and will be corrupted by setting them based on a non-working compiler.
      if test yes != "$_lt_caught_CXX_error"; then
        # Code to be used in simple compile tests
        lt_simple_compile_test_code="int some_variable = 0;"
      
        # Code to be used in simple link tests
        lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
      
        # ltmain only uses $CC for tagged configurations so make sure $CC is set.
        _LT_TAG_COMPILER
      
        # save warnings/boilerplate of simple test code
        _LT_COMPILER_BOILERPLATE
        _LT_LINKER_BOILERPLATE
      
        # Allow CC to be a program name with arguments.
        lt_save_CC=$CC
        lt_save_CFLAGS=$CFLAGS
        lt_save_LD=$LD
        lt_save_GCC=$GCC
        GCC=$GXX
        lt_save_with_gnu_ld=$with_gnu_ld
        lt_save_path_LD=$lt_cv_path_LD
        if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
          lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
        else
          $as_unset lt_cv_prog_gnu_ld
        fi
        if test -n "${lt_cv_path_LDCXX+set}"; then
          lt_cv_path_LD=$lt_cv_path_LDCXX
        else
          $as_unset lt_cv_path_LD
        fi
        test -z "${LDCXX+set}" || LD=$LDCXX
        CC=${CXX-"c++"}
        CFLAGS=$CXXFLAGS
        compiler=$CC
        _LT_TAGVAR(compiler, $1)=$CC
        _LT_CC_BASENAME([$compiler])
      
        if test -n "$compiler"; then
          # We don't want -fno-exception when compiling C++ code, so set the
          # no_builtin_flag separately
          if test yes = "$GXX"; then
            _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
          else
            _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
          fi
      
          if test yes = "$GXX"; then
            # Set up default GNU C++ configuration
      
            LT_PATH_LD
      
            # Check if GNU C++ uses GNU ld as the underlying linker, since the
            # archiving commands below assume that GNU ld is being used.
            if test yes = "$with_gnu_ld"; then
              _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
              _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
      
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
              _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
      
              # If archive_cmds runs LD, not CC, wlarc should be empty
              # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
              #     investigate it a little bit more. (MM)
              wlarc='$wl'
      
              # ancient GNU ld didn't support --whole-archive et. al.
              if eval "`$CC -print-prog-name=ld` --help 2>&1" |
      	  $GREP 'no-whole-archive' > /dev/null; then
                _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
              else
                _LT_TAGVAR(whole_archive_flag_spec, $1)=
              fi
            else
              with_gnu_ld=no
              wlarc=
      
              # A generic and very simple default shared library creation
              # command for GNU C++ for the case where it uses the native
              # linker, instead of GNU ld.  If possible, this setting should
              # overridden to take advantage of the native linker features on
              # the platform it is being used on.
              _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
            fi
      
            # 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"'
      
          else
            GXX=no
            with_gnu_ld=no
            wlarc=
          fi
      
          # PORTME: fill in a description of your system's C++ link characteristics
          AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
          _LT_TAGVAR(ld_shlibs, $1)=yes
          case $host_os in
            aix3*)
              # FIXME: insert proper C++ library support
              _LT_TAGVAR(ld_shlibs, $1)=no
              ;;
            aix[[4-9]]*)
              if test ia64 = "$host_cpu"; then
                # On IA64, the linker does run time linking by default, so we don't
                # have to do anything special.
                aix_use_runtimelinking=no
                exp_sym_flag='-Bexport'
                no_entry_flag=
              else
                aix_use_runtimelinking=no
      
                # Test if we are trying to use run time linking or normal
                # AIX style linking. If -brtl is somewhere in LDFLAGS, we
                # have runtime linking enabled, and use it for executables.
                # For shared libraries, we enable/disable runtime linking
                # depending on the kind of the shared library created -
                # when "with_aix_soname,aix_use_runtimelinking" is:
                # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
                # "aix,yes"  lib.so          shared, rtl:yes, for executables
                #            lib.a           static archive
                # "both,no"  lib.so.V(shr.o) shared, rtl:yes
                #            lib.a(lib.so.V) shared, rtl:no,  for executables
                # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
                #            lib.a(lib.so.V) shared, rtl:no
                # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
                #            lib.a           static archive
                case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
      	    for ld_flag in $LDFLAGS; do
      	      case $ld_flag in
      	      *-brtl*)
      	        aix_use_runtimelinking=yes
      	        break
      	        ;;
      	      esac
      	    done
      	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
      	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
      	      # so we don't have lib.a shared libs to link our executables.
      	      # We have to force runtime linking in this case.
      	      aix_use_runtimelinking=yes
      	      LDFLAGS="$LDFLAGS -Wl,-brtl"
      	    fi
      	    ;;
                esac
      
                exp_sym_flag='-bexport'
                no_entry_flag='-bnoentry'
              fi
      
              # When large executables or shared objects are built, AIX ld can
              # have problems creating the table of contents.  If linking a library
              # or program results in "error TOC overflow" add -mminimal-toc to
              # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
              # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
      
              _LT_TAGVAR(archive_cmds, $1)=''
              _LT_TAGVAR(hardcode_direct, $1)=yes
              _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
              _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
              _LT_TAGVAR(link_all_deplibs, $1)=yes
              _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
              case $with_aix_soname,$aix_use_runtimelinking in
              aix,*) ;;	# no import file
              svr4,* | *,yes) # use import file
                # The Import File defines what to hardcode.
                _LT_TAGVAR(hardcode_direct, $1)=no
                _LT_TAGVAR(hardcode_direct_absolute, $1)=no
                ;;
              esac
      
              if test yes = "$GXX"; then
                case $host_os in aix4.[[012]]|aix4.[[012]].*)
                # We only want to do this on AIX 4.2 and lower, the check
                # below for broken collect2 doesn't work under 4.3+
      	  collect2name=`$CC -print-prog-name=collect2`
      	  if test -f "$collect2name" &&
      	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
      	  then
      	    # We have reworked collect2
      	    :
      	  else
      	    # We have old collect2
      	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
      	    # It fails to find uninstalled libraries when the uninstalled
      	    # path is not listed in the libpath.  Setting hardcode_minus_L
      	    # to unsupported forces relinking
      	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
      	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
      	  fi
                esac
                shared_flag='-shared'
      	  if test yes = "$aix_use_runtimelinking"; then
      	    shared_flag=$shared_flag' $wl-G'
      	  fi
      	  # Need to ensure runtime linking is disabled for the traditional
      	  # shared library, or the linker may eventually find shared libraries
      	  # /with/ Import File - we do not want to mix them.
      	  shared_flag_aix='-shared'
      	  shared_flag_svr4='-shared $wl-G'
              else
                # not using gcc
                if test ia64 = "$host_cpu"; then
      	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
      	  # chokes on -Wl,-G. The following line is correct:
      	  shared_flag='-G'
                else
      	    if test yes = "$aix_use_runtimelinking"; then
      	      shared_flag='$wl-G'
      	    else
      	      shared_flag='$wl-bM:SRE'
      	    fi
      	    shared_flag_aix='$wl-bM:SRE'
      	    shared_flag_svr4='$wl-G'
                fi
              fi
      
              _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
              # It seems that -bexpall does not export symbols beginning with
              # underscore (_), so it is better to generate a list of symbols to
      	# export.
              _LT_TAGVAR(always_export_symbols, $1)=yes
      	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
                # Warning - without using the other runtime loading flags (-brtl),
                # -berok will link without error, but may produce a broken library.
                # The "-G" linker flag allows undefined symbols.
                _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
                # Determine the default libpath from the value encoded in an empty
                # executable.
                _LT_SYS_MODULE_PATH_AIX([$1])
                _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
      
                _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
              else
                if test ia64 = "$host_cpu"; then
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
      	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
      	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
                else
      	    # Determine the default libpath from the value encoded in an
      	    # empty executable.
      	    _LT_SYS_MODULE_PATH_AIX([$1])
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
      	    # Warning - without using the other run time loading flags,
      	    # -berok will link without error, but may produce a broken library.
      	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
      	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
      	    if test yes = "$with_gnu_ld"; then
      	      # We only use this code for GNU lds that support --whole-archive.
      	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
      	    else
      	      # Exported symbols can be pulled into shared objects from archives
      	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
      	    fi
      	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
      	    # -brtl affects multiple linker settings, -berok does not and is overridden later
      	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
      	    if test svr4 != "$with_aix_soname"; then
      	      # This is similar to how AIX traditionally builds its shared
      	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
      	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
      	    fi
      	    if test aix != "$with_aix_soname"; then
      	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
      	    else
      	      # used by -dlpreopen to get the symbols
      	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
      	    fi
      	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
                fi
              fi
              ;;
      
            beos*)
      	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
      	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      	  # Joseph Beckenbach  says some releases of gcc
      	  # support --undefined.  This deserves some investigation.  FIXME
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
      	else
      	  _LT_TAGVAR(ld_shlibs, $1)=no
      	fi
      	;;
      
            chorus*)
              case $cc_basename in
                *)
      	  # FIXME: insert proper C++ library support
      	  _LT_TAGVAR(ld_shlibs, $1)=no
      	  ;;
              esac
              ;;
      
            cygwin* | mingw* | pw32* | cegcc*)
      	case $GXX,$cc_basename in
      	,cl* | no,cl*)
      	  # Native MSVC
      	  # hardcode_libdir_flag_spec is actually meaningless, as there is
      	  # no search path for DLLs.
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
      	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      	  _LT_TAGVAR(always_export_symbols, $1)=yes
      	  _LT_TAGVAR(file_list_spec, $1)='@'
      	  # Tell ltmain to make .lib files, not .a files.
      	  libext=lib
      	  # Tell ltmain to make .dll files, not .so files.
      	  shrext_cmds=.dll
      	  # FIXME: Setting linknames here is a bad hack.
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
      	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
                    cp "$export_symbols" "$output_objdir/$soname.def";
                    echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
                  else
                    $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
                  fi~
                  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
                  linknames='
      	  # The linker will not automatically build a static lib if we build a DLL.
      	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
      	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
      	  # Don't use ranlib
      	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
      	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
                  lt_tool_outputfile="@TOOL_OUTPUT@"~
                  case $lt_outputfile in
                    *.exe|*.EXE) ;;
                    *)
                      lt_outputfile=$lt_outputfile.exe
                      lt_tool_outputfile=$lt_tool_outputfile.exe
                      ;;
                  esac~
                  func_to_tool_file "$lt_outputfile"~
                  if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
                    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
                    $RM "$lt_outputfile.manifest";
                  fi'
      	  ;;
      	*)
      	  # g++
      	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
      	  # as there is no search path for DLLs.
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
      	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
      	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      	  _LT_TAGVAR(always_export_symbols, $1)=no
      	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
      
      	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
      	    # If the export-symbols file already is a .def file, use it as
      	    # is; otherwise, prepend EXPORTS...
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
                    cp $export_symbols $output_objdir/$soname.def;
                  else
                    echo EXPORTS > $output_objdir/$soname.def;
                    cat $export_symbols >> $output_objdir/$soname.def;
                  fi~
                  $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
      	  else
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	  fi
      	  ;;
      	esac
      	;;
            darwin* | rhapsody*)
              _LT_DARWIN_LINKER_FEATURES($1)
      	;;
      
            os2*)
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
      	_LT_TAGVAR(hardcode_minus_L, $1)=yes
      	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      	shrext_cmds=.dll
      	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
      	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
      	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
      	  $ECHO EXPORTS >> $output_objdir/$libname.def~
      	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
      	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
      	  emximp -o $lib $output_objdir/$libname.def'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
      	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
      	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
      	  $ECHO EXPORTS >> $output_objdir/$libname.def~
      	  prefix_cmds="$SED"~
      	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
      	    prefix_cmds="$prefix_cmds -e 1d";
      	  fi~
      	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
      	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
      	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
      	  emximp -o $lib $output_objdir/$libname.def'
      	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
      	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
      	;;
      
            dgux*)
              case $cc_basename in
                ec++*)
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
                ghcx*)
      	    # Green Hills C++ Compiler
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
                *)
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
              esac
              ;;
      
            freebsd2.*)
              # C++ shared libraries reported to be fairly broken before
      	# switch to ELF
              _LT_TAGVAR(ld_shlibs, $1)=no
              ;;
      
            freebsd-elf*)
              _LT_TAGVAR(archive_cmds_need_lc, $1)=no
              ;;
      
            freebsd* | dragonfly*)
              # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
              # conventions
              _LT_TAGVAR(ld_shlibs, $1)=yes
              ;;
      
            haiku*)
              _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
              _LT_TAGVAR(link_all_deplibs, $1)=yes
              ;;
      
            hpux9*)
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
              _LT_TAGVAR(hardcode_libdir_separator, $1)=:
              _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
              _LT_TAGVAR(hardcode_direct, $1)=yes
              _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
      				             # but as the default
      				             # location of the library.
      
              case $cc_basename in
                CC*)
                  # FIXME: insert proper C++ library support
                  _LT_TAGVAR(ld_shlibs, $1)=no
                  ;;
                aCC*)
                  _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
                  # Commands to make compiler produce verbose output that lists
                  # what "hidden" libraries, object files and flags are used when
                  # linking a shared library.
                  #
                  # There doesn't appear to be a way to prevent this compiler from
                  # 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"'
                  ;;
                *)
                  if test yes = "$GXX"; then
                    _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
                  else
                    # FIXME: insert proper C++ library support
                    _LT_TAGVAR(ld_shlibs, $1)=no
                  fi
                  ;;
              esac
              ;;
      
            hpux10*|hpux11*)
              if test no = "$with_gnu_ld"; then
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
      	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      
                case $host_cpu in
                  hppa*64*|ia64*)
                    ;;
                  *)
      	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
                    ;;
                esac
              fi
              case $host_cpu in
                hppa*64*|ia64*)
                  _LT_TAGVAR(hardcode_direct, $1)=no
                  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
                  ;;
                *)
                  _LT_TAGVAR(hardcode_direct, $1)=yes
                  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
                  _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
      					         # but as the default
      					         # location of the library.
                  ;;
              esac
      
              case $cc_basename in
                CC*)
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
                aCC*)
      	    case $host_cpu in
      	      hppa*64*)
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
      	        ;;
      	      ia64*)
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
      	        ;;
      	      *)
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
      	        ;;
      	    esac
      	    # Commands to make compiler produce verbose output that lists
      	    # what "hidden" libraries, object files and flags are used when
      	    # linking a shared library.
      	    #
      	    # There doesn't appear to be a way to prevent this compiler from
      	    # 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"'
      	    ;;
                *)
      	    if test yes = "$GXX"; then
      	      if test no = "$with_gnu_ld"; then
      	        case $host_cpu in
      	          hppa*64*)
      	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
      	            ;;
      	          ia64*)
      	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
      	            ;;
      	          *)
      	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
      	            ;;
      	        esac
      	      fi
      	    else
      	      # FIXME: insert proper C++ library support
      	      _LT_TAGVAR(ld_shlibs, $1)=no
      	    fi
      	    ;;
              esac
              ;;
      
            interix[[3-9]]*)
      	_LT_TAGVAR(hardcode_direct, $1)=no
      	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
      	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
      	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
      	# Instead, shared libraries are loaded at an image base (0x10000000 by
      	# default) and relocated if they conflict, which is a slow very memory
      	# consuming and fragmenting process.  To avoid this, we pick a random,
      	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
      	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
      	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
      	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
      	;;
            irix5* | irix6*)
              case $cc_basename in
                CC*)
      	    # SGI C++
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
      
      	    # Archives containing C++ object files must be created using
      	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
      	    # necessary to make sure instantiated templates are included
      	    # in the archive.
      	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
      	    ;;
                *)
      	    if test yes = "$GXX"; then
      	      if test no = "$with_gnu_ld"; then
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
      	      else
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
      	      fi
      	    fi
      	    _LT_TAGVAR(link_all_deplibs, $1)=yes
      	    ;;
              esac
              _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
              _LT_TAGVAR(hardcode_libdir_separator, $1)=:
              _LT_TAGVAR(inherit_rpath, $1)=yes
              ;;
      
            linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
              case $cc_basename in
                KCC*)
      	    # Kuck and Associates, Inc. (KAI) C++ Compiler
      
      	    # KCC will only create a shared library if the output file
      	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
      	    # to its proper name (with version) after linking.
      	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
      	    # Commands to make compiler produce verbose output that lists
      	    # what "hidden" libraries, object files and flags are used when
      	    # linking a shared library.
      	    #
      	    # There doesn't appear to be a way to prevent this compiler from
      	    # 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 $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
      
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
      	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
      
      	    # Archives containing C++ object files must be created using
      	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
      	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
      	    ;;
      	  icpc* | ecpc* )
      	    # Intel C++
      	    with_gnu_ld=yes
      	    # version 8.0 and above of icpc choke on multiply defined symbols
      	    # if we add $predep_objects and $postdep_objects, however 7.1 and
      	    # earlier do not add the objects themselves.
      	    case `$CC -V 2>&1` in
      	      *"Version 7."*)
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
      		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
      		;;
      	      *)  # Version 8.0 or newer
      	        tmp_idyn=
      	        case $host_cpu in
      		  ia64*) tmp_idyn=' -i_dynamic';;
      		esac
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
      		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
      		;;
      	    esac
      	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
      	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
      	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
      	    ;;
                pgCC* | pgcpp*)
                  # Portland Group C++ compiler
      	    case `$CC -V` in
      	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
      	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
                     rm -rf $tpldir~
                     $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
                     compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
      	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
                      rm -rf $tpldir~
                      $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
                      $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
                      $RANLIB $oldlib'
      	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
                      rm -rf $tpldir~
                      $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
                      $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
      	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
                      rm -rf $tpldir~
                      $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
                      $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
      	      ;;
      	    *) # Version 6 and above use weak symbols
      	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
      	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
      	      ;;
      	    esac
      
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
      	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
      	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
                  ;;
      	  cxx*)
      	    # Compaq C++
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
      
      	    runpath_var=LD_RUN_PATH
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
      	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      
      	    # Commands to make compiler produce verbose output that lists
      	    # what "hidden" libraries, object files and flags are used when
      	    # linking a shared library.
      	    #
      	    # There doesn't appear to be a way to prevent this compiler from
      	    # 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 -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
      	    ;;
      	  xl* | mpixl* | bgxl*)
      	    # IBM XL 8.0 on PPC, with GNU ld
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
      	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
      	    if test yes = "$supports_anon_versioning"; then
      	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
                      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
                      echo "local: *; };" >> $output_objdir/$libname.ver~
                      $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
      	    fi
      	    ;;
      	  *)
      	    case `$CC -V 2>&1 | sed 5q` in
      	    *Sun\ C*)
      	      # Sun C++ 5.9
      	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
      	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
      	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
      	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
      	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
      	      _LT_TAGVAR(compiler_needs_object, $1)=yes
      
      	      # Not sure whether something based on
      	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
      	      # would be better.
      	      output_verbose_link_cmd='func_echo_all'
      
      	      # Archives containing C++ object files must be created using
      	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
      	      # necessary to make sure instantiated templates are included
      	      # in the archive.
      	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
      	      ;;
      	    esac
      	    ;;
      	esac
      	;;
      
            lynxos*)
              # FIXME: insert proper C++ library support
      	_LT_TAGVAR(ld_shlibs, $1)=no
      	;;
      
            m88k*)
              # FIXME: insert proper C++ library support
              _LT_TAGVAR(ld_shlibs, $1)=no
      	;;
      
            mvs*)
              case $cc_basename in
                cxx*)
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
      	  *)
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
      	esac
      	;;
      
            netbsd*)
              if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
      	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
      	  wlarc=
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
      	  _LT_TAGVAR(hardcode_direct, $1)=yes
      	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      	fi
      	# Workaround some broken pre-1.5 toolchains
      	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
      	;;
      
            *nto* | *qnx*)
              _LT_TAGVAR(ld_shlibs, $1)=yes
      	;;
      
            openbsd* | bitrig*)
      	if test -f /usr/libexec/ld.so; then
      	  _LT_TAGVAR(hardcode_direct, $1)=yes
      	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
      	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
      	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
      	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
      	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
      	  fi
      	  output_verbose_link_cmd=func_echo_all
      	else
      	  _LT_TAGVAR(ld_shlibs, $1)=no
      	fi
      	;;
      
            osf3* | osf4* | osf5*)
              case $cc_basename in
                KCC*)
      	    # Kuck and Associates, Inc. (KAI) C++ Compiler
      
      	    # KCC will only create a shared library if the output file
      	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
      	    # to its proper name (with version) after linking.
      	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
      
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
      	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      
      	    # Archives containing C++ object files must be created using
      	    # the KAI C++ compiler.
      	    case $host in
      	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
      	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
      	    esac
      	    ;;
                RCC*)
      	    # Rational C++ 2.4.1
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
                cxx*)
      	    case $host in
      	      osf3*)
      	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
      	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
      		;;
      	      *)
      	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
      	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
                        echo "-hidden">> $lib.exp~
                        $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
                        $RM $lib.exp'
      	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
      		;;
      	    esac
      
      	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      
      	    # Commands to make compiler produce verbose output that lists
      	    # what "hidden" libraries, object files and flags are used when
      	    # linking a shared library.
      	    #
      	    # There doesn't appear to be a way to prevent this compiler from
      	    # 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 -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; 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,no = "$GXX,$with_gnu_ld"; then
      	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
      	      case $host in
      	        osf3*)
      	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
      		  ;;
      	        *)
      	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
      		  ;;
      	      esac
      
      	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
      	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      
      	      # 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"'
      
      	    else
      	      # FIXME: insert proper C++ library support
      	      _LT_TAGVAR(ld_shlibs, $1)=no
      	    fi
      	    ;;
              esac
              ;;
      
            psos*)
              # FIXME: insert proper C++ library support
              _LT_TAGVAR(ld_shlibs, $1)=no
              ;;
      
            sunos4*)
              case $cc_basename in
                CC*)
      	    # Sun C++ 4.x
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
                lcc*)
      	    # Lucid
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
                *)
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
              esac
              ;;
      
            solaris*)
              case $cc_basename in
                CC* | sunCC*)
      	    # Sun C++ 4.2, 5.x and Centerline C++
                  _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
      	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
                    $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
      
      	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
      	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      	    case $host_os in
      	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
      	      *)
      		# The compiler driver will combine and reorder linker options,
      		# but understands '-z linker_flag'.
      	        # Supported since Solaris 2.6 (maybe 2.5.1?)
      		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
      	        ;;
      	    esac
      	    _LT_TAGVAR(link_all_deplibs, $1)=yes
      
      	    output_verbose_link_cmd='func_echo_all'
      
      	    # Archives containing C++ object files must be created using
      	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
      	    # necessary to make sure instantiated templates are included
      	    # in the archive.
      	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
      	    ;;
                gcx*)
      	    # Green Hills C++ Compiler
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
      
      	    # The C++ compiler must be used to create the archive.
      	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
      	    ;;
                *)
      	    # GNU C++ compiler with Solaris linker
      	    if test yes,no = "$GXX,$with_gnu_ld"; then
      	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
      	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
      	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
                        $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
      
      	        # 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"'
      	      else
      	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
      	        # platform.
      	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
      	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
                        $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
      
      	        # 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"'
      	      fi
      
      	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
      	      case $host_os in
      		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
      		*)
      		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
      		  ;;
      	      esac
      	    fi
      	    ;;
              esac
              ;;
      
          sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
            _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
            _LT_TAGVAR(archive_cmds_need_lc, $1)=no
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            runpath_var='LD_RUN_PATH'
      
            case $cc_basename in
              CC*)
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	  ;;
      	*)
      	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	  ;;
            esac
            ;;
      
            sysv5* | sco3.2v5* | sco5v6*)
      	# Note: We CANNOT use -z defs as we might desire, because we do not
      	# link with -lc, and that would cause any symbols used from libc to
      	# always be unresolved, which means just about no library would
      	# ever link correctly.  If we're not using GNU ld we use -z text
      	# though, which does catch some bad symbols but isn't as heavy-handed
      	# as -z defs.
      	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
      	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
      	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
      	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
      	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
      	_LT_TAGVAR(link_all_deplibs, $1)=yes
      	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
      	runpath_var='LD_RUN_PATH'
      
      	case $cc_basename in
                CC*)
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
                    '"$_LT_TAGVAR(old_archive_cmds, $1)"
      	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
                    '"$_LT_TAGVAR(reload_cmds, $1)"
      	    ;;
      	  *)
      	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      	    ;;
      	esac
            ;;
      
            tandem*)
              case $cc_basename in
                NCC*)
      	    # NonStop-UX NCC 3.20
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
                *)
      	    # FIXME: insert proper C++ library support
      	    _LT_TAGVAR(ld_shlibs, $1)=no
      	    ;;
              esac
              ;;
      
            vxworks*)
              # FIXME: insert proper C++ library support
              _LT_TAGVAR(ld_shlibs, $1)=no
              ;;
      
            *)
              # FIXME: insert proper C++ library support
              _LT_TAGVAR(ld_shlibs, $1)=no
              ;;
          esac
      
          AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
          test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
      
          _LT_TAGVAR(GCC, $1)=$GXX
          _LT_TAGVAR(LD, $1)=$LD
      
          ## CAVEAT EMPTOR:
          ## There is no encapsulation within the following macros, do not change
          ## the running order or otherwise move them around unless you know exactly
          ## what you are doing...
          _LT_SYS_HIDDEN_LIBDEPS($1)
          _LT_COMPILER_PIC($1)
          _LT_COMPILER_C_O($1)
          _LT_COMPILER_FILE_LOCKS($1)
          _LT_LINKER_SHLIBS($1)
          _LT_SYS_DYNAMIC_LINKER($1)
          _LT_LINKER_HARDCODE_LIBPATH($1)
      
          _LT_CONFIG($1)
        fi # test -n "$compiler"
      
        CC=$lt_save_CC
        CFLAGS=$lt_save_CFLAGS
        LDCXX=$LD
        LD=$lt_save_LD
        GCC=$lt_save_GCC
        with_gnu_ld=$lt_save_with_gnu_ld
        lt_cv_path_LDCXX=$lt_cv_path_LD
        lt_cv_path_LD=$lt_save_path_LD
        lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
        lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
      fi # test yes != "$_lt_caught_CXX_error"
      
      AC_LANG_POP
      ])# _LT_LANG_CXX_CONFIG
      
      
      # _LT_FUNC_STRIPNAME_CNF
      # ----------------------
      # func_stripname_cnf prefix suffix name
      # strip PREFIX and SUFFIX off of NAME.
      # PREFIX and SUFFIX must not contain globbing or regex special
      # characters, hashes, percent signs, but SUFFIX may contain a leading
      # dot (in which case that matches only a dot).
      #
      # This function is identical to the (non-XSI) version of func_stripname,
      # except this one can be used by m4 code that may be executed by configure,
      # rather than the libtool script.
      m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
      AC_REQUIRE([_LT_DECL_SED])
      AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
      func_stripname_cnf ()
      {
        case @S|@2 in
        .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
        *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
        esac
      } # func_stripname_cnf
      ])# _LT_FUNC_STRIPNAME_CNF
      
      
      # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
      # ---------------------------------
      # Figure out "hidden" library dependencies from verbose
      # compiler output when linking a shared library.
      # Parse the compiler output and extract the necessary
      # objects, libraries and library flags.
      m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
      [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
      AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
      # Dependencies to place before and after the object being linked:
      _LT_TAGVAR(predep_objects, $1)=
      _LT_TAGVAR(postdep_objects, $1)=
      _LT_TAGVAR(predeps, $1)=
      _LT_TAGVAR(postdeps, $1)=
      _LT_TAGVAR(compiler_lib_search_path, $1)=
      
      dnl we can't use the lt_simple_compile_test_code here,
      dnl because it contains code intended for an executable,
      dnl not a library.  It's possible we should let each
      dnl tag define a new lt_????_link_test_code variable,
      dnl but it's only used here...
      m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
      int a;
      void foo (void) { a = 0; }
      _LT_EOF
      ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
      class Foo
      {
      public:
        Foo (void) { a = 0; }
      private:
        int a;
      };
      _LT_EOF
      ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
            subroutine foo
            implicit none
            integer*4 a
            a=0
            return
            end
      _LT_EOF
      ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
            subroutine foo
            implicit none
            integer a
            a=0
            return
            end
      _LT_EOF
      ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
      public class foo {
        private int a;
        public void bar (void) {
          a = 0;
        }
      };
      _LT_EOF
      ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
      package foo
      func foo() {
      }
      _LT_EOF
      ])
      
      _lt_libdeps_save_CFLAGS=$CFLAGS
      case "$CC $CFLAGS " in #(
      *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
      *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
      *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
      esac
      
      dnl Parse the compiler output and extract the necessary
      dnl objects, libraries and library flags.
      if AC_TRY_EVAL(ac_compile); then
        # Parse the compiler output and extract the necessary
        # objects, libraries and library flags.
      
        # Sentinel used to keep track of whether or not we are before
        # the conftest object file.
        pre_test_object_deps_done=no
      
        for p in `eval "$output_verbose_link_cmd"`; do
          case $prev$p in
      
          -L* | -R* | -l*)
             # Some compilers place space between "-{L,R}" and the path.
             # Remove the space.
             if test x-L = "$p" ||
                test x-R = "$p"; then
      	 prev=$p
      	 continue
             fi
      
             # Expand the sysroot to ease extracting the directories later.
             if test -z "$prev"; then
               case $p in
               -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
               -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
               -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
               esac
             fi
             case $p in
             =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
             esac
             if test no = "$pre_test_object_deps_done"; then
      	 case $prev in
      	 -L | -R)
      	   # Internal compiler library paths should come after those
      	   # provided the user.  The postdeps already come after the
      	   # user supplied libs so there is no need to process them.
      	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
      	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
      	   else
      	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
      	   fi
      	   ;;
      	 # The "-l" case would never come before the object being
      	 # linked, so don't bother handling this case.
      	 esac
             else
      	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
      	   _LT_TAGVAR(postdeps, $1)=$prev$p
      	 else
      	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
      	 fi
             fi
             prev=
             ;;
      
          *.lto.$objext) ;; # Ignore GCC LTO objects
          *.$objext)
             # This assumes that the test object file only shows up
             # once in the compiler output.
             if test "$p" = "conftest.$objext"; then
      	 pre_test_object_deps_done=yes
      	 continue
             fi
      
             if test no = "$pre_test_object_deps_done"; then
      	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
      	   _LT_TAGVAR(predep_objects, $1)=$p
      	 else
      	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
      	 fi
             else
      	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
      	   _LT_TAGVAR(postdep_objects, $1)=$p
      	 else
      	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
      	 fi
             fi
             ;;
      
          *) ;; # Ignore the rest.
      
          esac
        done
      
        # Clean up.
        rm -f a.out a.exe
      else
        echo "libtool.m4: error: problem compiling $1 test program"
      fi
      
      $RM -f confest.$objext
      CFLAGS=$_lt_libdeps_save_CFLAGS
      
      # PORTME: override above test on systems where it is broken
      m4_if([$1], [CXX],
      [case $host_os in
      interix[[3-9]]*)
        # Interix 3.5 installs completely hosed .la files for C++, so rather than
        # hack all around it, let's just trust "g++" to DTRT.
        _LT_TAGVAR(predep_objects,$1)=
        _LT_TAGVAR(postdep_objects,$1)=
        _LT_TAGVAR(postdeps,$1)=
        ;;
      esac
      ])
      
      case " $_LT_TAGVAR(postdeps, $1) " in
      *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
      esac
       _LT_TAGVAR(compiler_lib_search_dirs, $1)=
      if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
       _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
      fi
      _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
          [The directories searched by this compiler when creating a shared library])
      _LT_TAGDECL([], [predep_objects], [1],
          [Dependencies to place before and after the objects being linked to
          create a shared library])
      _LT_TAGDECL([], [postdep_objects], [1])
      _LT_TAGDECL([], [predeps], [1])
      _LT_TAGDECL([], [postdeps], [1])
      _LT_TAGDECL([], [compiler_lib_search_path], [1],
          [The library search path used internally by the compiler when linking
          a shared library])
      ])# _LT_SYS_HIDDEN_LIBDEPS
      
      
      # _LT_LANG_F77_CONFIG([TAG])
      # --------------------------
      # Ensure that the configuration variables for a Fortran 77 compiler are
      # suitably defined.  These variables are subsequently used by _LT_CONFIG
      # to write the compiler configuration to 'libtool'.
      m4_defun([_LT_LANG_F77_CONFIG],
      [AC_LANG_PUSH(Fortran 77)
      if test -z "$F77" || test no = "$F77"; then
        _lt_disable_F77=yes
      fi
      
      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      _LT_TAGVAR(allow_undefined_flag, $1)=
      _LT_TAGVAR(always_export_symbols, $1)=no
      _LT_TAGVAR(archive_expsym_cmds, $1)=
      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
      _LT_TAGVAR(hardcode_direct, $1)=no
      _LT_TAGVAR(hardcode_direct_absolute, $1)=no
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
      _LT_TAGVAR(hardcode_libdir_separator, $1)=
      _LT_TAGVAR(hardcode_minus_L, $1)=no
      _LT_TAGVAR(hardcode_automatic, $1)=no
      _LT_TAGVAR(inherit_rpath, $1)=no
      _LT_TAGVAR(module_cmds, $1)=
      _LT_TAGVAR(module_expsym_cmds, $1)=
      _LT_TAGVAR(link_all_deplibs, $1)=unknown
      _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
      _LT_TAGVAR(reload_flag, $1)=$reload_flag
      _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
      _LT_TAGVAR(no_undefined_flag, $1)=
      _LT_TAGVAR(whole_archive_flag_spec, $1)=
      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
      
      # Source file extension for f77 test sources.
      ac_ext=f
      
      # Object file extension for compiled f77 test sources.
      objext=o
      _LT_TAGVAR(objext, $1)=$objext
      
      # No sense in running all these tests if we already determined that
      # the F77 compiler isn't working.  Some variables (like enable_shared)
      # are currently assumed to apply to all compilers on this platform,
      # and will be corrupted by setting them based on a non-working compiler.
      if test yes != "$_lt_disable_F77"; then
        # Code to be used in simple compile tests
        lt_simple_compile_test_code="\
            subroutine t
            return
            end
      "
      
        # Code to be used in simple link tests
        lt_simple_link_test_code="\
            program t
            end
      "
      
        # ltmain only uses $CC for tagged configurations so make sure $CC is set.
        _LT_TAG_COMPILER
      
        # save warnings/boilerplate of simple test code
        _LT_COMPILER_BOILERPLATE
        _LT_LINKER_BOILERPLATE
      
        # Allow CC to be a program name with arguments.
        lt_save_CC=$CC
        lt_save_GCC=$GCC
        lt_save_CFLAGS=$CFLAGS
        CC=${F77-"f77"}
        CFLAGS=$FFLAGS
        compiler=$CC
        _LT_TAGVAR(compiler, $1)=$CC
        _LT_CC_BASENAME([$compiler])
        GCC=$G77
        if test -n "$compiler"; then
          AC_MSG_CHECKING([if libtool supports shared libraries])
          AC_MSG_RESULT([$can_build_shared])
      
          AC_MSG_CHECKING([whether to build shared libraries])
          test no = "$can_build_shared" && enable_shared=no
      
          # On AIX, shared libraries and static libraries use the same namespace, and
          # are all built from PIC.
          case $host_os in
            aix3*)
              test yes = "$enable_shared" && enable_static=no
              if test -n "$RANLIB"; then
                archive_cmds="$archive_cmds~\$RANLIB \$lib"
                postinstall_cmds='$RANLIB $lib'
              fi
              ;;
            aix[[4-9]]*)
      	if test ia64 != "$host_cpu"; then
      	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
      	  yes,aix,yes) ;;		# shared object as lib.so file only
      	  yes,svr4,*) ;;		# shared object as lib.so archive member only
      	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
      	  esac
      	fi
              ;;
          esac
          AC_MSG_RESULT([$enable_shared])
      
          AC_MSG_CHECKING([whether to build static libraries])
          # Make sure either enable_shared or enable_static is yes.
          test yes = "$enable_shared" || enable_static=yes
          AC_MSG_RESULT([$enable_static])
      
          _LT_TAGVAR(GCC, $1)=$G77
          _LT_TAGVAR(LD, $1)=$LD
      
          ## CAVEAT EMPTOR:
          ## There is no encapsulation within the following macros, do not change
          ## the running order or otherwise move them around unless you know exactly
          ## what you are doing...
          _LT_COMPILER_PIC($1)
          _LT_COMPILER_C_O($1)
          _LT_COMPILER_FILE_LOCKS($1)
          _LT_LINKER_SHLIBS($1)
          _LT_SYS_DYNAMIC_LINKER($1)
          _LT_LINKER_HARDCODE_LIBPATH($1)
      
          _LT_CONFIG($1)
        fi # test -n "$compiler"
      
        GCC=$lt_save_GCC
        CC=$lt_save_CC
        CFLAGS=$lt_save_CFLAGS
      fi # test yes != "$_lt_disable_F77"
      
      AC_LANG_POP
      ])# _LT_LANG_F77_CONFIG
      
      
      # _LT_LANG_FC_CONFIG([TAG])
      # -------------------------
      # Ensure that the configuration variables for a Fortran compiler are
      # suitably defined.  These variables are subsequently used by _LT_CONFIG
      # to write the compiler configuration to 'libtool'.
      m4_defun([_LT_LANG_FC_CONFIG],
      [AC_LANG_PUSH(Fortran)
      
      if test -z "$FC" || test no = "$FC"; then
        _lt_disable_FC=yes
      fi
      
      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      _LT_TAGVAR(allow_undefined_flag, $1)=
      _LT_TAGVAR(always_export_symbols, $1)=no
      _LT_TAGVAR(archive_expsym_cmds, $1)=
      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
      _LT_TAGVAR(hardcode_direct, $1)=no
      _LT_TAGVAR(hardcode_direct_absolute, $1)=no
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
      _LT_TAGVAR(hardcode_libdir_separator, $1)=
      _LT_TAGVAR(hardcode_minus_L, $1)=no
      _LT_TAGVAR(hardcode_automatic, $1)=no
      _LT_TAGVAR(inherit_rpath, $1)=no
      _LT_TAGVAR(module_cmds, $1)=
      _LT_TAGVAR(module_expsym_cmds, $1)=
      _LT_TAGVAR(link_all_deplibs, $1)=unknown
      _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
      _LT_TAGVAR(reload_flag, $1)=$reload_flag
      _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
      _LT_TAGVAR(no_undefined_flag, $1)=
      _LT_TAGVAR(whole_archive_flag_spec, $1)=
      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
      
      # Source file extension for fc test sources.
      ac_ext=${ac_fc_srcext-f}
      
      # Object file extension for compiled fc test sources.
      objext=o
      _LT_TAGVAR(objext, $1)=$objext
      
      # No sense in running all these tests if we already determined that
      # the FC compiler isn't working.  Some variables (like enable_shared)
      # are currently assumed to apply to all compilers on this platform,
      # and will be corrupted by setting them based on a non-working compiler.
      if test yes != "$_lt_disable_FC"; then
        # Code to be used in simple compile tests
        lt_simple_compile_test_code="\
            subroutine t
            return
            end
      "
      
        # Code to be used in simple link tests
        lt_simple_link_test_code="\
            program t
            end
      "
      
        # ltmain only uses $CC for tagged configurations so make sure $CC is set.
        _LT_TAG_COMPILER
      
        # save warnings/boilerplate of simple test code
        _LT_COMPILER_BOILERPLATE
        _LT_LINKER_BOILERPLATE
      
        # Allow CC to be a program name with arguments.
        lt_save_CC=$CC
        lt_save_GCC=$GCC
        lt_save_CFLAGS=$CFLAGS
        CC=${FC-"f95"}
        CFLAGS=$FCFLAGS
        compiler=$CC
        GCC=$ac_cv_fc_compiler_gnu
      
        _LT_TAGVAR(compiler, $1)=$CC
        _LT_CC_BASENAME([$compiler])
      
        if test -n "$compiler"; then
          AC_MSG_CHECKING([if libtool supports shared libraries])
          AC_MSG_RESULT([$can_build_shared])
      
          AC_MSG_CHECKING([whether to build shared libraries])
          test no = "$can_build_shared" && enable_shared=no
      
          # On AIX, shared libraries and static libraries use the same namespace, and
          # are all built from PIC.
          case $host_os in
            aix3*)
              test yes = "$enable_shared" && enable_static=no
              if test -n "$RANLIB"; then
                archive_cmds="$archive_cmds~\$RANLIB \$lib"
                postinstall_cmds='$RANLIB $lib'
              fi
              ;;
            aix[[4-9]]*)
      	if test ia64 != "$host_cpu"; then
      	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
      	  yes,aix,yes) ;;		# shared object as lib.so file only
      	  yes,svr4,*) ;;		# shared object as lib.so archive member only
      	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
      	  esac
      	fi
              ;;
          esac
          AC_MSG_RESULT([$enable_shared])
      
          AC_MSG_CHECKING([whether to build static libraries])
          # Make sure either enable_shared or enable_static is yes.
          test yes = "$enable_shared" || enable_static=yes
          AC_MSG_RESULT([$enable_static])
      
          _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
          _LT_TAGVAR(LD, $1)=$LD
      
          ## CAVEAT EMPTOR:
          ## There is no encapsulation within the following macros, do not change
          ## the running order or otherwise move them around unless you know exactly
          ## what you are doing...
          _LT_SYS_HIDDEN_LIBDEPS($1)
          _LT_COMPILER_PIC($1)
          _LT_COMPILER_C_O($1)
          _LT_COMPILER_FILE_LOCKS($1)
          _LT_LINKER_SHLIBS($1)
          _LT_SYS_DYNAMIC_LINKER($1)
          _LT_LINKER_HARDCODE_LIBPATH($1)
      
          _LT_CONFIG($1)
        fi # test -n "$compiler"
      
        GCC=$lt_save_GCC
        CC=$lt_save_CC
        CFLAGS=$lt_save_CFLAGS
      fi # test yes != "$_lt_disable_FC"
      
      AC_LANG_POP
      ])# _LT_LANG_FC_CONFIG
      
      
      # _LT_LANG_GCJ_CONFIG([TAG])
      # --------------------------
      # Ensure that the configuration variables for the GNU Java Compiler compiler
      # are suitably defined.  These variables are subsequently used by _LT_CONFIG
      # to write the compiler configuration to 'libtool'.
      m4_defun([_LT_LANG_GCJ_CONFIG],
      [AC_REQUIRE([LT_PROG_GCJ])dnl
      AC_LANG_SAVE
      
      # Source file extension for Java test sources.
      ac_ext=java
      
      # Object file extension for compiled Java test sources.
      objext=o
      _LT_TAGVAR(objext, $1)=$objext
      
      # Code to be used in simple compile tests
      lt_simple_compile_test_code="class foo {}"
      
      # Code to be used in simple link tests
      lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
      
      # ltmain only uses $CC for tagged configurations so make sure $CC is set.
      _LT_TAG_COMPILER
      
      # save warnings/boilerplate of simple test code
      _LT_COMPILER_BOILERPLATE
      _LT_LINKER_BOILERPLATE
      
      # Allow CC to be a program name with arguments.
      lt_save_CC=$CC
      lt_save_CFLAGS=$CFLAGS
      lt_save_GCC=$GCC
      GCC=yes
      CC=${GCJ-"gcj"}
      CFLAGS=$GCJFLAGS
      compiler=$CC
      _LT_TAGVAR(compiler, $1)=$CC
      _LT_TAGVAR(LD, $1)=$LD
      _LT_CC_BASENAME([$compiler])
      
      # GCJ did not exist at the time GCC didn't implicitly link libc in.
      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      
      _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
      _LT_TAGVAR(reload_flag, $1)=$reload_flag
      _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
      
      ## CAVEAT EMPTOR:
      ## There is no encapsulation within the following macros, do not change
      ## the running order or otherwise move them around unless you know exactly
      ## what you are doing...
      if test -n "$compiler"; then
        _LT_COMPILER_NO_RTTI($1)
        _LT_COMPILER_PIC($1)
        _LT_COMPILER_C_O($1)
        _LT_COMPILER_FILE_LOCKS($1)
        _LT_LINKER_SHLIBS($1)
        _LT_LINKER_HARDCODE_LIBPATH($1)
      
        _LT_CONFIG($1)
      fi
      
      AC_LANG_RESTORE
      
      GCC=$lt_save_GCC
      CC=$lt_save_CC
      CFLAGS=$lt_save_CFLAGS
      ])# _LT_LANG_GCJ_CONFIG
      
      
      # _LT_LANG_GO_CONFIG([TAG])
      # --------------------------
      # Ensure that the configuration variables for the GNU Go compiler
      # are suitably defined.  These variables are subsequently used by _LT_CONFIG
      # to write the compiler configuration to 'libtool'.
      m4_defun([_LT_LANG_GO_CONFIG],
      [AC_REQUIRE([LT_PROG_GO])dnl
      AC_LANG_SAVE
      
      # Source file extension for Go test sources.
      ac_ext=go
      
      # Object file extension for compiled Go test sources.
      objext=o
      _LT_TAGVAR(objext, $1)=$objext
      
      # Code to be used in simple compile tests
      lt_simple_compile_test_code="package main; func main() { }"
      
      # Code to be used in simple link tests
      lt_simple_link_test_code='package main; func main() { }'
      
      # ltmain only uses $CC for tagged configurations so make sure $CC is set.
      _LT_TAG_COMPILER
      
      # save warnings/boilerplate of simple test code
      _LT_COMPILER_BOILERPLATE
      _LT_LINKER_BOILERPLATE
      
      # Allow CC to be a program name with arguments.
      lt_save_CC=$CC
      lt_save_CFLAGS=$CFLAGS
      lt_save_GCC=$GCC
      GCC=yes
      CC=${GOC-"gccgo"}
      CFLAGS=$GOFLAGS
      compiler=$CC
      _LT_TAGVAR(compiler, $1)=$CC
      _LT_TAGVAR(LD, $1)=$LD
      _LT_CC_BASENAME([$compiler])
      
      # Go did not exist at the time GCC didn't implicitly link libc in.
      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      
      _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
      _LT_TAGVAR(reload_flag, $1)=$reload_flag
      _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
      
      ## CAVEAT EMPTOR:
      ## There is no encapsulation within the following macros, do not change
      ## the running order or otherwise move them around unless you know exactly
      ## what you are doing...
      if test -n "$compiler"; then
        _LT_COMPILER_NO_RTTI($1)
        _LT_COMPILER_PIC($1)
        _LT_COMPILER_C_O($1)
        _LT_COMPILER_FILE_LOCKS($1)
        _LT_LINKER_SHLIBS($1)
        _LT_LINKER_HARDCODE_LIBPATH($1)
      
        _LT_CONFIG($1)
      fi
      
      AC_LANG_RESTORE
      
      GCC=$lt_save_GCC
      CC=$lt_save_CC
      CFLAGS=$lt_save_CFLAGS
      ])# _LT_LANG_GO_CONFIG
      
      
      # _LT_LANG_RC_CONFIG([TAG])
      # -------------------------
      # Ensure that the configuration variables for the Windows resource compiler
      # are suitably defined.  These variables are subsequently used by _LT_CONFIG
      # to write the compiler configuration to 'libtool'.
      m4_defun([_LT_LANG_RC_CONFIG],
      [AC_REQUIRE([LT_PROG_RC])dnl
      AC_LANG_SAVE
      
      # Source file extension for RC test sources.
      ac_ext=rc
      
      # Object file extension for compiled RC test sources.
      objext=o
      _LT_TAGVAR(objext, $1)=$objext
      
      # Code to be used in simple compile tests
      lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
      
      # Code to be used in simple link tests
      lt_simple_link_test_code=$lt_simple_compile_test_code
      
      # ltmain only uses $CC for tagged configurations so make sure $CC is set.
      _LT_TAG_COMPILER
      
      # save warnings/boilerplate of simple test code
      _LT_COMPILER_BOILERPLATE
      _LT_LINKER_BOILERPLATE
      
      # Allow CC to be a program name with arguments.
      lt_save_CC=$CC
      lt_save_CFLAGS=$CFLAGS
      lt_save_GCC=$GCC
      GCC=
      CC=${RC-"windres"}
      CFLAGS=
      compiler=$CC
      _LT_TAGVAR(compiler, $1)=$CC
      _LT_CC_BASENAME([$compiler])
      _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
      
      if test -n "$compiler"; then
        :
        _LT_CONFIG($1)
      fi
      
      GCC=$lt_save_GCC
      AC_LANG_RESTORE
      CC=$lt_save_CC
      CFLAGS=$lt_save_CFLAGS
      ])# _LT_LANG_RC_CONFIG
      
      
      # LT_PROG_GCJ
      # -----------
      AC_DEFUN([LT_PROG_GCJ],
      [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
        [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
          [AC_CHECK_TOOL(GCJ, gcj,)
            test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
            AC_SUBST(GCJFLAGS)])])[]dnl
      ])
      
      # Old name:
      AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
      
      
      # LT_PROG_GO
      # ----------
      AC_DEFUN([LT_PROG_GO],
      [AC_CHECK_TOOL(GOC, gccgo,)
      ])
      
      
      # LT_PROG_RC
      # ----------
      AC_DEFUN([LT_PROG_RC],
      [AC_CHECK_TOOL(RC, windres,)
      ])
      
      # Old name:
      AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([LT_AC_PROG_RC], [])
      
      
      # _LT_DECL_EGREP
      # --------------
      # If we don't have a new enough Autoconf to choose the best grep
      # available, choose the one first in the user's PATH.
      m4_defun([_LT_DECL_EGREP],
      [AC_REQUIRE([AC_PROG_EGREP])dnl
      AC_REQUIRE([AC_PROG_FGREP])dnl
      test -z "$GREP" && GREP=grep
      _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
      _LT_DECL([], [EGREP], [1], [An ERE matcher])
      _LT_DECL([], [FGREP], [1], [A literal string matcher])
      dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
      AC_SUBST([GREP])
      ])
      
      
      # _LT_DECL_OBJDUMP
      # --------------
      # If we don't have a new enough Autoconf to choose the best objdump
      # available, choose the one first in the user's PATH.
      m4_defun([_LT_DECL_OBJDUMP],
      [AC_CHECK_TOOL(OBJDUMP, objdump, false)
      test -z "$OBJDUMP" && OBJDUMP=objdump
      _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
      AC_SUBST([OBJDUMP])
      ])
      
      # _LT_DECL_DLLTOOL
      # ----------------
      # Ensure DLLTOOL variable is set.
      m4_defun([_LT_DECL_DLLTOOL],
      [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
      test -z "$DLLTOOL" && DLLTOOL=dlltool
      _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
      AC_SUBST([DLLTOOL])
      ])
      
      # _LT_DECL_SED
      # ------------
      # Check for a fully-functional sed program, that truncates
      # as few characters as possible.  Prefer GNU sed if found.
      m4_defun([_LT_DECL_SED],
      [AC_PROG_SED
      test -z "$SED" && SED=sed
      Xsed="$SED -e 1s/^X//"
      _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
      _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
          [Sed that helps us avoid accidentally triggering echo(1) options like -n])
      ])# _LT_DECL_SED
      
      m4_ifndef([AC_PROG_SED], [
      ############################################################
      # NOTE: This macro has been submitted for inclusion into   #
      #  GNU Autoconf as AC_PROG_SED.  When it is available in   #
      #  a released version of Autoconf we should remove this    #
      #  macro and use it instead.                               #
      ############################################################
      
      m4_defun([AC_PROG_SED],
      [AC_MSG_CHECKING([for a sed that does not truncate output])
      AC_CACHE_VAL(lt_cv_path_SED,
      [# Loop through the user's path and test for sed and gsed.
      # Then use that list of sed's as ones to test for truncation.
      as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
      for as_dir in $PATH
      do
        IFS=$as_save_IFS
        test -z "$as_dir" && as_dir=.
        for lt_ac_prog in sed gsed; do
          for ac_exec_ext in '' $ac_executable_extensions; do
            if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
              lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
            fi
          done
        done
      done
      IFS=$as_save_IFS
      lt_ac_max=0
      lt_ac_count=0
      # Add /usr/xpg4/bin/sed as it is typically found on Solaris
      # along with /bin/sed that truncates output.
      for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
        test ! -f "$lt_ac_sed" && continue
        cat /dev/null > conftest.in
        lt_ac_count=0
        echo $ECHO_N "0123456789$ECHO_C" >conftest.in
        # Check for GNU sed and select it if it is found.
        if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
          lt_cv_path_SED=$lt_ac_sed
          break
        fi
        while true; do
          cat conftest.in conftest.in >conftest.tmp
          mv conftest.tmp conftest.in
          cp conftest.in conftest.nl
          echo >>conftest.nl
          $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
          cmp -s conftest.out conftest.nl || break
          # 10000 chars as input seems more than enough
          test 10 -lt "$lt_ac_count" && break
          lt_ac_count=`expr $lt_ac_count + 1`
          if test "$lt_ac_count" -gt "$lt_ac_max"; then
            lt_ac_max=$lt_ac_count
            lt_cv_path_SED=$lt_ac_sed
          fi
        done
      done
      ])
      SED=$lt_cv_path_SED
      AC_SUBST([SED])
      AC_MSG_RESULT([$SED])
      ])#AC_PROG_SED
      ])#m4_ifndef
      
      # Old name:
      AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([LT_AC_PROG_SED], [])
      
      
      # _LT_CHECK_SHELL_FEATURES
      # ------------------------
      # Find out whether the shell is Bourne or XSI compatible,
      # or has some other useful features.
      m4_defun([_LT_CHECK_SHELL_FEATURES],
      [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
        lt_unset=unset
      else
        lt_unset=false
      fi
      _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
      
      # test EBCDIC or ASCII
      case `echo X|tr X '\101'` in
       A) # ASCII based system
          # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
        lt_SP2NL='tr \040 \012'
        lt_NL2SP='tr \015\012 \040\040'
        ;;
       *) # EBCDIC based system
        lt_SP2NL='tr \100 \n'
        lt_NL2SP='tr \r\n \100\100'
        ;;
      esac
      _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
      _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
      ])# _LT_CHECK_SHELL_FEATURES
      
      
      # _LT_PATH_CONVERSION_FUNCTIONS
      # -----------------------------
      # Determine what file name conversion functions should be used by
      # func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
      # for certain cross-compile configurations and native mingw.
      m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
      [AC_REQUIRE([AC_CANONICAL_HOST])dnl
      AC_REQUIRE([AC_CANONICAL_BUILD])dnl
      AC_MSG_CHECKING([how to convert $build file names to $host format])
      AC_CACHE_VAL(lt_cv_to_host_file_cmd,
      [case $host in
        *-*-mingw* )
          case $build in
            *-*-mingw* ) # actually msys
              lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
              ;;
            *-*-cygwin* )
              lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
              ;;
            * ) # otherwise, assume *nix
              lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
              ;;
          esac
          ;;
        *-*-cygwin* )
          case $build in
            *-*-mingw* ) # actually msys
              lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
              ;;
            *-*-cygwin* )
              lt_cv_to_host_file_cmd=func_convert_file_noop
              ;;
            * ) # otherwise, assume *nix
              lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
              ;;
          esac
          ;;
        * ) # unhandled hosts (and "normal" native builds)
          lt_cv_to_host_file_cmd=func_convert_file_noop
          ;;
      esac
      ])
      to_host_file_cmd=$lt_cv_to_host_file_cmd
      AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
      _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
               [0], [convert $build file names to $host format])dnl
      
      AC_MSG_CHECKING([how to convert $build file names to toolchain format])
      AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
      [#assume ordinary cross tools, or native build.
      lt_cv_to_tool_file_cmd=func_convert_file_noop
      case $host in
        *-*-mingw* )
          case $build in
            *-*-mingw* ) # actually msys
              lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
              ;;
          esac
          ;;
      esac
      ])
      to_tool_file_cmd=$lt_cv_to_tool_file_cmd
      AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
      _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
               [0], [convert $build files to toolchain format])dnl
      ])# _LT_PATH_CONVERSION_FUNCTIONS
      geany-plugins-1.27/build/cache/ltversion.m40000644000175000017500000000127312671261375021161 0ustar00frlanfrlan00000000000000# ltversion.m4 -- version numbers			-*- Autoconf -*-
      #
      #   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
      #   Written by Scott James Remnant, 2004
      #
      # This file is free software; the Free Software Foundation gives
      # unlimited permission to copy and/or distribute it, with or without
      # modifications, as long as this notice is preserved.
      
      # @configure_input@
      
      # serial 4179 ltversion.m4
      # This file is part of GNU Libtool
      
      m4_define([LT_PACKAGE_VERSION], [2.4.6])
      m4_define([LT_PACKAGE_REVISION], [2.4.6])
      
      AC_DEFUN([LTVERSION_VERSION],
      [macro_version='2.4.6'
      macro_revision='2.4.6'
      _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
      _LT_DECL(, macro_revision, 0)
      ])
      geany-plugins-1.27/build/cache/nls.m40000644000175000017500000000230112671261373017717 0ustar00frlanfrlan00000000000000# nls.m4 serial 5 (gettext-0.18)
      dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 Free Software Foundation,
      dnl Inc.
      dnl This file is free software; the Free Software Foundation
      dnl gives unlimited permission to copy and/or distribute it,
      dnl with or without modifications, as long as this notice is preserved.
      dnl
      dnl This file can be used in projects which are not available under
      dnl the GNU General Public License or the GNU Library General Public
      dnl License but which still want to provide support for the GNU gettext
      dnl functionality.
      dnl Please note that the actual code of the GNU gettext library is covered
      dnl by the GNU Library General Public License, and the rest of the GNU
      dnl gettext package is covered by the GNU General Public License.
      dnl They are *not* in the public domain.
      
      dnl Authors:
      dnl   Ulrich Drepper , 1995-2000.
      dnl   Bruno Haible , 2000-2003.
      
      AC_PREREQ([2.50])
      
      AC_DEFUN([AM_NLS],
      [
        AC_MSG_CHECKING([whether NLS is requested])
        dnl Default is enabled NLS
        AC_ARG_ENABLE([nls],
          [  --disable-nls           do not use Native Language Support],
          USE_NLS=$enableval, USE_NLS=yes)
        AC_MSG_RESULT([$USE_NLS])
        AC_SUBST([USE_NLS])
      ])
      geany-plugins-1.27/build/cache/ltoptions.m40000644000175000017500000003426212671261374021172 0ustar00frlanfrlan00000000000000# Helper functions for option handling.                    -*- Autoconf -*-
      #
      #   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
      #   Foundation, Inc.
      #   Written by Gary V. Vaughan, 2004
      #
      # This file is free software; the Free Software Foundation gives
      # unlimited permission to copy and/or distribute it, with or without
      # modifications, as long as this notice is preserved.
      
      # serial 8 ltoptions.m4
      
      # This is to help aclocal find these macros, as it can't see m4_define.
      AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
      
      
      # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
      # ------------------------------------------
      m4_define([_LT_MANGLE_OPTION],
      [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
      
      
      # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
      # ---------------------------------------
      # Set option OPTION-NAME for macro MACRO-NAME, and if there is a
      # matching handler defined, dispatch to it.  Other OPTION-NAMEs are
      # saved as a flag.
      m4_define([_LT_SET_OPTION],
      [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
      m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
              _LT_MANGLE_DEFUN([$1], [$2]),
          [m4_warning([Unknown $1 option '$2'])])[]dnl
      ])
      
      
      # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
      # ------------------------------------------------------------
      # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
      m4_define([_LT_IF_OPTION],
      [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
      
      
      # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
      # -------------------------------------------------------
      # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
      # are set.
      m4_define([_LT_UNLESS_OPTIONS],
      [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
      	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
      		      [m4_define([$0_found])])])[]dnl
      m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
      ])[]dnl
      ])
      
      
      # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
      # ----------------------------------------
      # OPTION-LIST is a space-separated list of Libtool options associated
      # with MACRO-NAME.  If any OPTION has a matching handler declared with
      # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
      # the unknown option and exit.
      m4_defun([_LT_SET_OPTIONS],
      [# Set options
      m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
          [_LT_SET_OPTION([$1], _LT_Option)])
      
      m4_if([$1],[LT_INIT],[
        dnl
        dnl Simply set some default values (i.e off) if boolean options were not
        dnl specified:
        _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
        ])
        _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
        ])
        dnl
        dnl If no reference was made to various pairs of opposing options, then
        dnl we run the default mode handler for the pair.  For example, if neither
        dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
        dnl archives by default:
        _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
        _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
        _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
        _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
      		   [_LT_ENABLE_FAST_INSTALL])
        _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
      		   [_LT_WITH_AIX_SONAME([aix])])
        ])
      ])# _LT_SET_OPTIONS
      
      
      ## --------------------------------- ##
      ## Macros to handle LT_INIT options. ##
      ## --------------------------------- ##
      
      # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
      # -----------------------------------------
      m4_define([_LT_MANGLE_DEFUN],
      [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
      
      
      # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
      # -----------------------------------------------
      m4_define([LT_OPTION_DEFINE],
      [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
      ])# LT_OPTION_DEFINE
      
      
      # dlopen
      # ------
      LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
      ])
      
      AU_DEFUN([AC_LIBTOOL_DLOPEN],
      [_LT_SET_OPTION([LT_INIT], [dlopen])
      AC_DIAGNOSE([obsolete],
      [$0: Remove this warning and the call to _LT_SET_OPTION when you
      put the 'dlopen' option into LT_INIT's first parameter.])
      ])
      
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
      
      
      # win32-dll
      # ---------
      # Declare package support for building win32 dll's.
      LT_OPTION_DEFINE([LT_INIT], [win32-dll],
      [enable_win32_dll=yes
      
      case $host in
      *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
        AC_CHECK_TOOL(AS, as, false)
        AC_CHECK_TOOL(DLLTOOL, dlltool, false)
        AC_CHECK_TOOL(OBJDUMP, objdump, false)
        ;;
      esac
      
      test -z "$AS" && AS=as
      _LT_DECL([], [AS],      [1], [Assembler program])dnl
      
      test -z "$DLLTOOL" && DLLTOOL=dlltool
      _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
      
      test -z "$OBJDUMP" && OBJDUMP=objdump
      _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
      ])# win32-dll
      
      AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
      [AC_REQUIRE([AC_CANONICAL_HOST])dnl
      _LT_SET_OPTION([LT_INIT], [win32-dll])
      AC_DIAGNOSE([obsolete],
      [$0: Remove this warning and the call to _LT_SET_OPTION when you
      put the 'win32-dll' option into LT_INIT's first parameter.])
      ])
      
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
      
      
      # _LT_ENABLE_SHARED([DEFAULT])
      # ----------------------------
      # implement the --enable-shared flag, and supports the 'shared' and
      # 'disable-shared' LT_INIT options.
      # DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
      m4_define([_LT_ENABLE_SHARED],
      [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
      AC_ARG_ENABLE([shared],
          [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
      	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
          [p=${PACKAGE-default}
          case $enableval in
          yes) enable_shared=yes ;;
          no) enable_shared=no ;;
          *)
            enable_shared=no
            # Look at the argument we got.  We use all the common list separators.
            lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
            for pkg in $enableval; do
      	IFS=$lt_save_ifs
      	if test "X$pkg" = "X$p"; then
      	  enable_shared=yes
      	fi
            done
            IFS=$lt_save_ifs
            ;;
          esac],
          [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
      
          _LT_DECL([build_libtool_libs], [enable_shared], [0],
      	[Whether or not to build shared libraries])
      ])# _LT_ENABLE_SHARED
      
      LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
      LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
      
      # Old names:
      AC_DEFUN([AC_ENABLE_SHARED],
      [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
      ])
      
      AC_DEFUN([AC_DISABLE_SHARED],
      [_LT_SET_OPTION([LT_INIT], [disable-shared])
      ])
      
      AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
      AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
      
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AM_ENABLE_SHARED], [])
      dnl AC_DEFUN([AM_DISABLE_SHARED], [])
      
      
      
      # _LT_ENABLE_STATIC([DEFAULT])
      # ----------------------------
      # implement the --enable-static flag, and support the 'static' and
      # 'disable-static' LT_INIT options.
      # DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
      m4_define([_LT_ENABLE_STATIC],
      [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
      AC_ARG_ENABLE([static],
          [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
      	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
          [p=${PACKAGE-default}
          case $enableval in
          yes) enable_static=yes ;;
          no) enable_static=no ;;
          *)
           enable_static=no
            # Look at the argument we got.  We use all the common list separators.
            lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
            for pkg in $enableval; do
      	IFS=$lt_save_ifs
      	if test "X$pkg" = "X$p"; then
      	  enable_static=yes
      	fi
            done
            IFS=$lt_save_ifs
            ;;
          esac],
          [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
      
          _LT_DECL([build_old_libs], [enable_static], [0],
      	[Whether or not to build static libraries])
      ])# _LT_ENABLE_STATIC
      
      LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
      LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
      
      # Old names:
      AC_DEFUN([AC_ENABLE_STATIC],
      [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
      ])
      
      AC_DEFUN([AC_DISABLE_STATIC],
      [_LT_SET_OPTION([LT_INIT], [disable-static])
      ])
      
      AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
      AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
      
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AM_ENABLE_STATIC], [])
      dnl AC_DEFUN([AM_DISABLE_STATIC], [])
      
      
      
      # _LT_ENABLE_FAST_INSTALL([DEFAULT])
      # ----------------------------------
      # implement the --enable-fast-install flag, and support the 'fast-install'
      # and 'disable-fast-install' LT_INIT options.
      # DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
      m4_define([_LT_ENABLE_FAST_INSTALL],
      [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
      AC_ARG_ENABLE([fast-install],
          [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
          [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
          [p=${PACKAGE-default}
          case $enableval in
          yes) enable_fast_install=yes ;;
          no) enable_fast_install=no ;;
          *)
            enable_fast_install=no
            # Look at the argument we got.  We use all the common list separators.
            lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
            for pkg in $enableval; do
      	IFS=$lt_save_ifs
      	if test "X$pkg" = "X$p"; then
      	  enable_fast_install=yes
      	fi
            done
            IFS=$lt_save_ifs
            ;;
          esac],
          [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
      
      _LT_DECL([fast_install], [enable_fast_install], [0],
      	 [Whether or not to optimize for fast installation])dnl
      ])# _LT_ENABLE_FAST_INSTALL
      
      LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
      LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
      
      # Old names:
      AU_DEFUN([AC_ENABLE_FAST_INSTALL],
      [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
      AC_DIAGNOSE([obsolete],
      [$0: Remove this warning and the call to _LT_SET_OPTION when you put
      the 'fast-install' option into LT_INIT's first parameter.])
      ])
      
      AU_DEFUN([AC_DISABLE_FAST_INSTALL],
      [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
      AC_DIAGNOSE([obsolete],
      [$0: Remove this warning and the call to _LT_SET_OPTION when you put
      the 'disable-fast-install' option into LT_INIT's first parameter.])
      ])
      
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
      dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
      
      
      # _LT_WITH_AIX_SONAME([DEFAULT])
      # ----------------------------------
      # implement the --with-aix-soname flag, and support the `aix-soname=aix'
      # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
      # is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
      m4_define([_LT_WITH_AIX_SONAME],
      [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
      shared_archive_member_spec=
      case $host,$enable_shared in
      power*-*-aix[[5-9]]*,yes)
        AC_MSG_CHECKING([which variant of shared library versioning to provide])
        AC_ARG_WITH([aix-soname],
          [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
            [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
          [case $withval in
          aix|svr4|both)
            ;;
          *)
            AC_MSG_ERROR([Unknown argument to --with-aix-soname])
            ;;
          esac
          lt_cv_with_aix_soname=$with_aix_soname],
          [AC_CACHE_VAL([lt_cv_with_aix_soname],
            [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
          with_aix_soname=$lt_cv_with_aix_soname])
        AC_MSG_RESULT([$with_aix_soname])
        if test aix != "$with_aix_soname"; then
          # For the AIX way of multilib, we name the shared archive member
          # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
          # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
          # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
          # the AIX toolchain works better with OBJECT_MODE set (default 32).
          if test 64 = "${OBJECT_MODE-32}"; then
            shared_archive_member_spec=shr_64
          else
            shared_archive_member_spec=shr
          fi
        fi
        ;;
      *)
        with_aix_soname=aix
        ;;
      esac
      
      _LT_DECL([], [shared_archive_member_spec], [0],
          [Shared archive member basename, for filename based shared library versioning on AIX])dnl
      ])# _LT_WITH_AIX_SONAME
      
      LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
      LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
      LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
      
      
      # _LT_WITH_PIC([MODE])
      # --------------------
      # implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
      # LT_INIT options.
      # MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
      m4_define([_LT_WITH_PIC],
      [AC_ARG_WITH([pic],
          [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
      	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
          [lt_p=${PACKAGE-default}
          case $withval in
          yes|no) pic_mode=$withval ;;
          *)
            pic_mode=default
            # Look at the argument we got.  We use all the common list separators.
            lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
            for lt_pkg in $withval; do
      	IFS=$lt_save_ifs
      	if test "X$lt_pkg" = "X$lt_p"; then
      	  pic_mode=yes
      	fi
            done
            IFS=$lt_save_ifs
            ;;
          esac],
          [pic_mode=m4_default([$1], [default])])
      
      _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
      ])# _LT_WITH_PIC
      
      LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
      LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
      
      # Old name:
      AU_DEFUN([AC_LIBTOOL_PICMODE],
      [_LT_SET_OPTION([LT_INIT], [pic-only])
      AC_DIAGNOSE([obsolete],
      [$0: Remove this warning and the call to _LT_SET_OPTION when you
      put the 'pic-only' option into LT_INIT's first parameter.])
      ])
      
      dnl aclocal-1.4 backwards compatibility:
      dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
      
      ## ----------------- ##
      ## LTDL_INIT Options ##
      ## ----------------- ##
      
      m4_define([_LTDL_MODE], [])
      LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
      		 [m4_define([_LTDL_MODE], [nonrecursive])])
      LT_OPTION_DEFINE([LTDL_INIT], [recursive],
      		 [m4_define([_LTDL_MODE], [recursive])])
      LT_OPTION_DEFINE([LTDL_INIT], [subproject],
      		 [m4_define([_LTDL_MODE], [subproject])])
      
      m4_define([_LTDL_TYPE], [])
      LT_OPTION_DEFINE([LTDL_INIT], [installable],
      		 [m4_define([_LTDL_TYPE], [installable])])
      LT_OPTION_DEFINE([LTDL_INIT], [convenience],
      		 [m4_define([_LTDL_TYPE], [convenience])])
      geany-plugins-1.27/build/cache/glib-gettext.m40000644000175000017500000003260712671261373021536 0ustar00frlanfrlan00000000000000# Copyright (C) 1995-2002 Free Software Foundation, Inc.
      # Copyright (C) 2001-2003,2004 Red Hat, Inc.
      #
      # This file is free software, distributed under the terms of the GNU
      # General Public License.  As a special exception to the GNU General
      # Public License, this file may be distributed as part of a program
      # that contains a configuration script generated by Autoconf, under
      # the same distribution terms as the rest of that program.
      #
      # This file can be copied and used freely without restrictions.  It can
      # be used in projects which are not available under the GNU Public License
      # but which still want to provide support for the GNU gettext functionality.
      #
      # Macro to add for using GNU gettext.
      # Ulrich Drepper , 1995, 1996
      #
      # Modified to never use included libintl. 
      # Owen Taylor , 12/15/1998
      #
      # Major rework to remove unused code
      # Owen Taylor , 12/11/2002
      #
      # Added better handling of ALL_LINGUAS from GNU gettext version 
      # written by Bruno Haible, Owen Taylor  5/30/3002
      #
      # Modified to require ngettext
      # Matthias Clasen  08/06/2004
      #
      # We need this here as well, since someone might use autoconf-2.5x
      # to configure GLib then an older version to configure a package
      # using AM_GLIB_GNU_GETTEXT
      AC_PREREQ(2.53)
      
      dnl
      dnl We go to great lengths to make sure that aclocal won't 
      dnl try to pull in the installed version of these macros
      dnl when running aclocal in the glib directory.
      dnl
      m4_copy([AC_DEFUN],[glib_DEFUN])
      m4_copy([AC_REQUIRE],[glib_REQUIRE])
      dnl
      dnl At the end, if we're not within glib, we'll define the public
      dnl definitions in terms of our private definitions.
      dnl
      
      # GLIB_LC_MESSAGES
      #--------------------
      glib_DEFUN([GLIB_LC_MESSAGES],
        [AC_CHECK_HEADERS([locale.h])
          if test $ac_cv_header_locale_h = yes; then
          AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
            [AC_TRY_LINK([#include ], [return LC_MESSAGES],
             am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
          if test $am_cv_val_LC_MESSAGES = yes; then
            AC_DEFINE(HAVE_LC_MESSAGES, 1,
              [Define if your  file defines LC_MESSAGES.])
          fi
        fi])
      
      # GLIB_PATH_PROG_WITH_TEST
      #----------------------------
      dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
      dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
      glib_DEFUN([GLIB_PATH_PROG_WITH_TEST],
      [# Extract the first word of "$2", so it can be a program name with args.
      set dummy $2; ac_word=[$]2
      AC_MSG_CHECKING([for $ac_word])
      AC_CACHE_VAL(ac_cv_path_$1,
      [case "[$]$1" in
        /*)
        ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
        ;;
        *)
        IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
        for ac_dir in ifelse([$5], , $PATH, [$5]); do
          test -z "$ac_dir" && ac_dir=.
          if test -f $ac_dir/$ac_word; then
            if [$3]; then
      	ac_cv_path_$1="$ac_dir/$ac_word"
      	break
            fi
          fi
        done
        IFS="$ac_save_ifs"
      dnl If no 4th arg is given, leave the cache variable unset,
      dnl so AC_PATH_PROGS will keep looking.
      ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
      ])dnl
        ;;
      esac])dnl
      $1="$ac_cv_path_$1"
      if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
        AC_MSG_RESULT([$]$1)
      else
        AC_MSG_RESULT(no)
      fi
      AC_SUBST($1)dnl
      ])
      
      # GLIB_WITH_NLS
      #-----------------
      glib_DEFUN([GLIB_WITH_NLS],
        dnl NLS is obligatory
        [USE_NLS=yes
          AC_SUBST(USE_NLS)
      
          gt_cv_have_gettext=no
      
          CATOBJEXT=NONE
          XGETTEXT=:
          INTLLIBS=
      
          AC_CHECK_HEADER(libintl.h,
           [gt_cv_func_dgettext_libintl="no"
            libintl_extra_libs=""
      
            #
            # First check in libc
            #
            AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc,
              [AC_TRY_LINK([
      #include 
      ],
               [return !ngettext ("","", 1)],
      	  gt_cv_func_ngettext_libc=yes,
                gt_cv_func_ngettext_libc=no)
              ])
        
            if test "$gt_cv_func_ngettext_libc" = "yes" ; then
      	      AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
              	[AC_TRY_LINK([
      #include 
      ],
      	          [return !dgettext ("","")],
      		  gt_cv_func_dgettext_libc=yes,
      	          gt_cv_func_dgettext_libc=no)
              	])
            fi
        
            if test "$gt_cv_func_ngettext_libc" = "yes" ; then
              AC_CHECK_FUNCS(bind_textdomain_codeset)
            fi
      
            #
            # If we don't have everything we want, check in libintl
            #
            if test "$gt_cv_func_dgettext_libc" != "yes" \
      	 || test "$gt_cv_func_ngettext_libc" != "yes" \
               || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
              
              AC_CHECK_LIB(intl, bindtextdomain,
      	    [AC_CHECK_LIB(intl, ngettext,
      		    [AC_CHECK_LIB(intl, dgettext,
      			          gt_cv_func_dgettext_libintl=yes)])])
      
      	if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
      	  AC_MSG_CHECKING([if -liconv is needed to use gettext])
      	  AC_MSG_RESULT([])
        	  AC_CHECK_LIB(intl, ngettext,
                	[AC_CHECK_LIB(intl, dcgettext,
      		       [gt_cv_func_dgettext_libintl=yes
      			libintl_extra_libs=-liconv],
      			:,-liconv)],
      		:,-liconv)
              fi
      
              #
              # If we found libintl, then check in it for bind_textdomain_codeset();
              # we'll prefer libc if neither have bind_textdomain_codeset(),
              # and both have dgettext and ngettext
              #
              if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
                glib_save_LIBS="$LIBS"
                LIBS="$LIBS -lintl $libintl_extra_libs"
                unset ac_cv_func_bind_textdomain_codeset
                AC_CHECK_FUNCS(bind_textdomain_codeset)
                LIBS="$glib_save_LIBS"
      
                if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
                  gt_cv_func_dgettext_libc=no
                else
                  if test "$gt_cv_func_dgettext_libc" = "yes" \
      		&& test "$gt_cv_func_ngettext_libc" = "yes"; then
                    gt_cv_func_dgettext_libintl=no
                  fi
                fi
              fi
            fi
      
            if test "$gt_cv_func_dgettext_libc" = "yes" \
      	|| test "$gt_cv_func_dgettext_libintl" = "yes"; then
              gt_cv_have_gettext=yes
            fi
        
            if test "$gt_cv_func_dgettext_libintl" = "yes"; then
              INTLLIBS="-lintl $libintl_extra_libs"
            fi
        
            if test "$gt_cv_have_gettext" = "yes"; then
      	AC_DEFINE(HAVE_GETTEXT,1,
      	  [Define if the GNU gettext() function is already present or preinstalled.])
      	GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
      	  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
      	if test "$MSGFMT" != "no"; then
                glib_save_LIBS="$LIBS"
                LIBS="$LIBS $INTLLIBS"
      	  AC_CHECK_FUNCS(dcgettext)
      	  MSGFMT_OPTS=
      	  AC_MSG_CHECKING([if msgfmt accepts -c])
      	  GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[
      msgid ""
      msgstr ""
      "Content-Type: text/plain; charset=UTF-8\n"
      "Project-Id-Version: test 1.0\n"
      "PO-Revision-Date: 2007-02-15 12:01+0100\n"
      "Last-Translator: test \n"
      "Language-Team: C \n"
      "MIME-Version: 1.0\n"
      "Content-Transfer-Encoding: 8bit\n"
      ], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])
      	  AC_SUBST(MSGFMT_OPTS)
      	  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
      	  GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
      	    [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
      	  AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
      			 return _nl_msg_cat_cntr],
      	    [CATOBJEXT=.gmo 
                   DATADIRNAME=share],
      	    [case $host in
      	    *-*-solaris*)
      	    dnl On Solaris, if bind_textdomain_codeset is in libc,
      	    dnl GNU format message catalog is always supported,
                  dnl since both are added to the libc all together.
      	    dnl Hence, we'd like to go with DATADIRNAME=share and
      	    dnl and CATOBJEXT=.gmo in this case.
                  AC_CHECK_FUNC(bind_textdomain_codeset,
      	      [CATOBJEXT=.gmo 
                     DATADIRNAME=share],
      	      [CATOBJEXT=.mo
                     DATADIRNAME=lib])
      	    ;;
      	    *-*-openbsd*)
      	    CATOBJEXT=.mo
                  DATADIRNAME=share
      	    ;;
      	    *)
      	    CATOBJEXT=.mo
                  DATADIRNAME=lib
      	    ;;
      	    esac])
                LIBS="$glib_save_LIBS"
      	  INSTOBJEXT=.mo
      	else
      	  gt_cv_have_gettext=no
      	fi
            fi
          ])
      
          if test "$gt_cv_have_gettext" = "yes" ; then
            AC_DEFINE(ENABLE_NLS, 1,
              [always defined to indicate that i18n is enabled])
          fi
      
          dnl Test whether we really found GNU xgettext.
          if test "$XGETTEXT" != ":"; then
            dnl If it is not GNU xgettext we define it as : so that the
            dnl Makefiles still can work.
            if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
              : ;
            else
              AC_MSG_RESULT(
      	  [found xgettext program is not GNU xgettext; ignore it])
              XGETTEXT=":"
            fi
          fi
      
          # We need to process the po/ directory.
          POSUB=po
      
          AC_OUTPUT_COMMANDS(
            [case "$CONFIG_FILES" in *po/Makefile.in*)
              sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
            esac])
      
          dnl These rules are solely for the distribution goal.  While doing this
          dnl we only have to keep exactly one list of the available catalogs
          dnl in configure.ac.
          for lang in $ALL_LINGUAS; do
            GMOFILES="$GMOFILES $lang.gmo"
            POFILES="$POFILES $lang.po"
          done
      
          dnl Make all variables we use known to autoconf.
          AC_SUBST(CATALOGS)
          AC_SUBST(CATOBJEXT)
          AC_SUBST(DATADIRNAME)
          AC_SUBST(GMOFILES)
          AC_SUBST(INSTOBJEXT)
          AC_SUBST(INTLLIBS)
          AC_SUBST(PO_IN_DATADIR_TRUE)
          AC_SUBST(PO_IN_DATADIR_FALSE)
          AC_SUBST(POFILES)
          AC_SUBST(POSUB)
        ])
      
      # AM_GLIB_GNU_GETTEXT
      # -------------------
      # Do checks necessary for use of gettext. If a suitable implementation 
      # of gettext is found in either in libintl or in the C library,
      # it will set INTLLIBS to the libraries needed for use of gettext
      # and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable
      # gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST()
      # on various variables needed by the Makefile.in.in installed by 
      # glib-gettextize.
      dnl
      glib_DEFUN([GLIB_GNU_GETTEXT],
        [AC_REQUIRE([AC_PROG_CC])dnl
         
         GLIB_LC_MESSAGES
         GLIB_WITH_NLS
      
         if test "$gt_cv_have_gettext" = "yes"; then
           if test "x$ALL_LINGUAS" = "x"; then
             LINGUAS=
           else
             AC_MSG_CHECKING(for catalogs to be installed)
             NEW_LINGUAS=
             for presentlang in $ALL_LINGUAS; do
               useit=no
               if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
                 desiredlanguages="$LINGUAS"
               else
                 desiredlanguages="$ALL_LINGUAS"
               fi
               for desiredlang in $desiredlanguages; do
       	   # Use the presentlang catalog if desiredlang is
                 #   a. equal to presentlang, or
                 #   b. a variant of presentlang (because in this case,
                 #      presentlang can be used as a fallback for messages
                 #      which are not translated in the desiredlang catalog).
                 case "$desiredlang" in
                   "$presentlang"*) useit=yes;;
                 esac
               done
               if test $useit = yes; then
                 NEW_LINGUAS="$NEW_LINGUAS $presentlang"
               fi
             done
             LINGUAS=$NEW_LINGUAS
             AC_MSG_RESULT($LINGUAS)
           fi
      
           dnl Construct list of names of catalog files to be constructed.
           if test -n "$LINGUAS"; then
             for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
           fi
         fi
      
         dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
         dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
         dnl Try to locate is.
         MKINSTALLDIRS=
         if test -n "$ac_aux_dir"; then
           MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
         fi
         if test -z "$MKINSTALLDIRS"; then
           MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
         fi
         AC_SUBST(MKINSTALLDIRS)
      
         dnl Generate list of files to be processed by xgettext which will
         dnl be included in po/Makefile.
         test -d po || mkdir po
         if test "x$srcdir" != "x."; then
           if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
             posrcprefix="$srcdir/"
           else
             posrcprefix="../$srcdir/"
           fi
         else
           posrcprefix="../"
         fi
         rm -f po/POTFILES
         sed -e "/^#/d" -e "/^\$/d" -e "s,.*,	$posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
      	< $srcdir/po/POTFILES.in > po/POTFILES
        ])
      
      # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE)
      # -------------------------------
      # Define VARIABLE to the location where catalog files will
      # be installed by po/Makefile.
      glib_DEFUN([GLIB_DEFINE_LOCALEDIR],
      [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl
      glib_save_prefix="$prefix"
      glib_save_exec_prefix="$exec_prefix"
      glib_save_datarootdir="$datarootdir"
      test "x$prefix" = xNONE && prefix=$ac_default_prefix
      test "x$exec_prefix" = xNONE && exec_prefix=$prefix
      datarootdir=`eval echo "${datarootdir}"`
      if test "x$CATOBJEXT" = "x.mo" ; then
        localedir=`eval echo "${libdir}/locale"`
      else
        localedir=`eval echo "${datadir}/locale"`
      fi
      prefix="$glib_save_prefix"
      exec_prefix="$glib_save_exec_prefix"
      datarootdir="$glib_save_datarootdir"
      AC_DEFINE_UNQUOTED($1, "$localedir",
        [Define the location where the catalogs will be installed])
      ])
      
      dnl
      dnl Now the definitions that aclocal will find
      dnl
      ifdef(glib_configure_ac,[],[
      AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)])
      AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
      ])dnl
      
      # GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL])
      # 
      # Create a temporary file with TEST-FILE as its contents and pass the
      # file name to PROGRAM.  Perform ACTION-IF-PASS if PROGRAM exits with
      # 0 and perform ACTION-IF-FAIL for any other exit status.
      AC_DEFUN([GLIB_RUN_PROG],
      [cat >conftest.foo <<_ACEOF
      $2
      _ACEOF
      if AC_RUN_LOG([$1 conftest.foo]); then
        m4_ifval([$3], [$3], [:])
      m4_ifvaln([$4], [else $4])dnl
      echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD
      sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD
      fi])
      
      geany-plugins-1.27/build/cache/pkg.m40000644000175000017500000002400512671261373017711 0ustar00frlanfrlan00000000000000dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
      dnl serial 11 (pkg-config-0.29)
      dnl
      dnl Copyright © 2004 Scott James Remnant .
      dnl Copyright © 2012-2015 Dan Nicholson 
      dnl
      dnl This program is free software; you can redistribute it and/or modify
      dnl it under the terms of the GNU General Public License as published by
      dnl the Free Software Foundation; either version 2 of the License, or
      dnl (at your option) any later version.
      dnl
      dnl This program is distributed in the hope that it will be useful, but
      dnl WITHOUT ANY WARRANTY; without even the implied warranty of
      dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
      dnl General Public License for more details.
      dnl
      dnl You should have received a copy of the GNU General Public License
      dnl along with this program; if not, write to the Free Software
      dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
      dnl 02111-1307, USA.
      dnl
      dnl As a special exception to the GNU General Public License, if you
      dnl distribute this file as part of a program that contains a
      dnl configuration script generated by Autoconf, you may include it under
      dnl the same distribution terms that you use for the rest of that
      dnl program.
      
      dnl PKG_PREREQ(MIN-VERSION)
      dnl -----------------------
      dnl Since: 0.29
      dnl
      dnl Verify that the version of the pkg-config macros are at least
      dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
      dnl installed version of pkg-config, this checks the developer's version
      dnl of pkg.m4 when generating configure.
      dnl
      dnl To ensure that this macro is defined, also add:
      dnl m4_ifndef([PKG_PREREQ],
      dnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
      dnl
      dnl See the "Since" comment for each macro you use to see what version
      dnl of the macros you require.
      m4_defun([PKG_PREREQ],
      [m4_define([PKG_MACROS_VERSION], [0.29])
      m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
          [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
      ])dnl PKG_PREREQ
      
      dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
      dnl ----------------------------------
      dnl Since: 0.16
      dnl
      dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
      dnl first found in the path. Checks that the version of pkg-config found
      dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
      dnl used since that's the first version where most current features of
      dnl pkg-config existed.
      AC_DEFUN([PKG_PROG_PKG_CONFIG],
      [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
      m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
      m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
      AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
      AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
      AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
      
      if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
      	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
      fi
      if test -n "$PKG_CONFIG"; then
      	_pkg_min_version=m4_default([$1], [0.9.0])
      	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
      	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
      		AC_MSG_RESULT([yes])
      	else
      		AC_MSG_RESULT([no])
      		PKG_CONFIG=""
      	fi
      fi[]dnl
      ])dnl PKG_PROG_PKG_CONFIG
      
      dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
      dnl -------------------------------------------------------------------
      dnl Since: 0.18
      dnl
      dnl Check to see whether a particular set of modules exists. Similar to
      dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
      dnl
      dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
      dnl only at the first occurence in configure.ac, so if the first place
      dnl it's called might be skipped (such as if it is within an "if", you
      dnl have to call PKG_CHECK_EXISTS manually
      AC_DEFUN([PKG_CHECK_EXISTS],
      [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
      if test -n "$PKG_CONFIG" && \
          AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
        m4_default([$2], [:])
      m4_ifvaln([$3], [else
        $3])dnl
      fi])
      
      dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
      dnl ---------------------------------------------
      dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
      dnl pkg_failed based on the result.
      m4_define([_PKG_CONFIG],
      [if test -n "$$1"; then
          pkg_cv_[]$1="$$1"
       elif test -n "$PKG_CONFIG"; then
          PKG_CHECK_EXISTS([$3],
                           [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
      		      test "x$?" != "x0" && pkg_failed=yes ],
      		     [pkg_failed=yes])
       else
          pkg_failed=untried
      fi[]dnl
      ])dnl _PKG_CONFIG
      
      dnl _PKG_SHORT_ERRORS_SUPPORTED
      dnl ---------------------------
      dnl Internal check to see if pkg-config supports short errors.
      AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
      [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
      if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
              _pkg_short_errors_supported=yes
      else
              _pkg_short_errors_supported=no
      fi[]dnl
      ])dnl _PKG_SHORT_ERRORS_SUPPORTED
      
      
      dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
      dnl   [ACTION-IF-NOT-FOUND])
      dnl --------------------------------------------------------------
      dnl Since: 0.4.0
      dnl
      dnl Note that if there is a possibility the first call to
      dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
      dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
      AC_DEFUN([PKG_CHECK_MODULES],
      [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
      AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
      AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
      
      pkg_failed=no
      AC_MSG_CHECKING([for $1])
      
      _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
      _PKG_CONFIG([$1][_LIBS], [libs], [$2])
      
      m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
      and $1[]_LIBS to avoid the need to call pkg-config.
      See the pkg-config man page for more details.])
      
      if test $pkg_failed = yes; then
         	AC_MSG_RESULT([no])
              _PKG_SHORT_ERRORS_SUPPORTED
              if test $_pkg_short_errors_supported = yes; then
      	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
              else 
      	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
              fi
      	# Put the nasty error message in config.log where it belongs
      	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
      
      	m4_default([$4], [AC_MSG_ERROR(
      [Package requirements ($2) were not met:
      
      $$1_PKG_ERRORS
      
      Consider adjusting the PKG_CONFIG_PATH environment variable if you
      installed software in a non-standard prefix.
      
      _PKG_TEXT])[]dnl
              ])
      elif test $pkg_failed = untried; then
           	AC_MSG_RESULT([no])
      	m4_default([$4], [AC_MSG_FAILURE(
      [The pkg-config script could not be found or is too old.  Make sure it
      is in your PATH or set the PKG_CONFIG environment variable to the full
      path to pkg-config.
      
      _PKG_TEXT
      
      To get pkg-config, see .])[]dnl
              ])
      else
      	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
      	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
              AC_MSG_RESULT([yes])
      	$3
      fi[]dnl
      ])dnl PKG_CHECK_MODULES
      
      
      dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
      dnl   [ACTION-IF-NOT-FOUND])
      dnl ---------------------------------------------------------------------
      dnl Since: 0.29
      dnl
      dnl Checks for existence of MODULES and gathers its build flags with
      dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
      dnl and VARIABLE-PREFIX_LIBS from --libs.
      dnl
      dnl Note that if there is a possibility the first call to
      dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
      dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
      dnl configure.ac.
      AC_DEFUN([PKG_CHECK_MODULES_STATIC],
      [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
      _save_PKG_CONFIG=$PKG_CONFIG
      PKG_CONFIG="$PKG_CONFIG --static"
      PKG_CHECK_MODULES($@)
      PKG_CONFIG=$_save_PKG_CONFIG[]dnl
      ])dnl PKG_CHECK_MODULES_STATIC
      
      
      dnl PKG_INSTALLDIR([DIRECTORY])
      dnl -------------------------
      dnl Since: 0.27
      dnl
      dnl Substitutes the variable pkgconfigdir as the location where a module
      dnl should install pkg-config .pc files. By default the directory is
      dnl $libdir/pkgconfig, but the default can be changed by passing
      dnl DIRECTORY. The user can override through the --with-pkgconfigdir
      dnl parameter.
      AC_DEFUN([PKG_INSTALLDIR],
      [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
      m4_pushdef([pkg_description],
          [pkg-config installation directory @<:@]pkg_default[@:>@])
      AC_ARG_WITH([pkgconfigdir],
          [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
          [with_pkgconfigdir=]pkg_default)
      AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
      m4_popdef([pkg_default])
      m4_popdef([pkg_description])
      ])dnl PKG_INSTALLDIR
      
      
      dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
      dnl --------------------------------
      dnl Since: 0.27
      dnl
      dnl Substitutes the variable noarch_pkgconfigdir as the location where a
      dnl module should install arch-independent pkg-config .pc files. By
      dnl default the directory is $datadir/pkgconfig, but the default can be
      dnl changed by passing DIRECTORY. The user can override through the
      dnl --with-noarch-pkgconfigdir parameter.
      AC_DEFUN([PKG_NOARCH_INSTALLDIR],
      [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
      m4_pushdef([pkg_description],
          [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
      AC_ARG_WITH([noarch-pkgconfigdir],
          [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
          [with_noarch_pkgconfigdir=]pkg_default)
      AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
      m4_popdef([pkg_default])
      m4_popdef([pkg_description])
      ])dnl PKG_NOARCH_INSTALLDIR
      
      
      dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
      dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
      dnl -------------------------------------------
      dnl Since: 0.28
      dnl
      dnl Retrieves the value of the pkg-config variable for the given module.
      AC_DEFUN([PKG_CHECK_VAR],
      [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
      AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
      
      _PKG_CONFIG([$1], [variable="][$3]["], [$2])
      AS_VAR_COPY([$1], [pkg_cv_][$1])
      
      AS_VAR_IF([$1], [""], [$5], [$4])dnl
      ])dnl PKG_CHECK_VAR
      geany-plugins-1.27/build/cache/ltsugar.m40000644000175000017500000001044012671261374020610 0ustar00frlanfrlan00000000000000# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
      #
      # Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
      # Foundation, Inc.
      # Written by Gary V. Vaughan, 2004
      #
      # This file is free software; the Free Software Foundation gives
      # unlimited permission to copy and/or distribute it, with or without
      # modifications, as long as this notice is preserved.
      
      # serial 6 ltsugar.m4
      
      # This is to help aclocal find these macros, as it can't see m4_define.
      AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
      
      
      # lt_join(SEP, ARG1, [ARG2...])
      # -----------------------------
      # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
      # associated separator.
      # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
      # versions in m4sugar had bugs.
      m4_define([lt_join],
      [m4_if([$#], [1], [],
             [$#], [2], [[$2]],
             [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
      m4_define([_lt_join],
      [m4_if([$#$2], [2], [],
             [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
      
      
      # lt_car(LIST)
      # lt_cdr(LIST)
      # ------------
      # Manipulate m4 lists.
      # These macros are necessary as long as will still need to support
      # Autoconf-2.59, which quotes differently.
      m4_define([lt_car], [[$1]])
      m4_define([lt_cdr],
      [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
             [$#], 1, [],
             [m4_dquote(m4_shift($@))])])
      m4_define([lt_unquote], $1)
      
      
      # lt_append(MACRO-NAME, STRING, [SEPARATOR])
      # ------------------------------------------
      # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
      # Note that neither SEPARATOR nor STRING are expanded; they are appended
      # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
      # No SEPARATOR is output if MACRO-NAME was previously undefined (different
      # than defined and empty).
      #
      # This macro is needed until we can rely on Autoconf 2.62, since earlier
      # versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
      m4_define([lt_append],
      [m4_define([$1],
      	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
      
      
      
      # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
      # ----------------------------------------------------------
      # Produce a SEP delimited list of all paired combinations of elements of
      # PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
      # has the form PREFIXmINFIXSUFFIXn.
      # Needed until we can rely on m4_combine added in Autoconf 2.62.
      m4_define([lt_combine],
      [m4_if(m4_eval([$# > 3]), [1],
             [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
      [[m4_foreach([_Lt_prefix], [$2],
      	     [m4_foreach([_Lt_suffix],
      		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
      	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
      
      
      # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
      # -----------------------------------------------------------------------
      # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
      # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
      m4_define([lt_if_append_uniq],
      [m4_ifdef([$1],
      	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
      		 [lt_append([$1], [$2], [$3])$4],
      		 [$5])],
      	  [lt_append([$1], [$2], [$3])$4])])
      
      
      # lt_dict_add(DICT, KEY, VALUE)
      # -----------------------------
      m4_define([lt_dict_add],
      [m4_define([$1($2)], [$3])])
      
      
      # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
      # --------------------------------------------
      m4_define([lt_dict_add_subkey],
      [m4_define([$1($2:$3)], [$4])])
      
      
      # lt_dict_fetch(DICT, KEY, [SUBKEY])
      # ----------------------------------
      m4_define([lt_dict_fetch],
      [m4_ifval([$3],
      	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
          m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
      
      
      # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
      # -----------------------------------------------------------------
      m4_define([lt_if_dict_fetch],
      [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
      	[$5],
          [$6])])
      
      
      # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
      # --------------------------------------------------------------
      m4_define([lt_dict_filter],
      [m4_if([$5], [], [],
        [lt_join(m4_quote(m4_default([$4], [[, ]])),
                 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
      		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
      ])
      geany-plugins-1.27/build/cache/lt~obsolete.m40000644000175000017500000001377412671261375021517 0ustar00frlanfrlan00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
      #
      #   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
      #   Foundation, Inc.
      #   Written by Scott James Remnant, 2004.
      #
      # This file is free software; the Free Software Foundation gives
      # unlimited permission to copy and/or distribute it, with or without
      # modifications, as long as this notice is preserved.
      
      # serial 5 lt~obsolete.m4
      
      # These exist entirely to fool aclocal when bootstrapping libtool.
      #
      # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
      # which have later been changed to m4_define as they aren't part of the
      # exported API, or moved to Autoconf or Automake where they belong.
      #
      # The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
      # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
      # using a macro with the same name in our local m4/libtool.m4 it'll
      # pull the old libtool.m4 in (it doesn't see our shiny new m4_define
      # and doesn't know about Autoconf macros at all.)
      #
      # So we provide this file, which has a silly filename so it's always
      # included after everything else.  This provides aclocal with the
      # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
      # because those macros already exist, or will be overwritten later.
      # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
      #
      # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
      # Yes, that means every name once taken will need to remain here until
      # we give up compatibility with versions before 1.7, at which point
      # we need to keep only those names which we still refer to.
      
      # This is to help aclocal find these macros, as it can't see m4_define.
      AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
      
      m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
      m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
      m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
      m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
      m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
      m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
      m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
      m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
      m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
      m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
      m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
      m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
      m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
      m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
      m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
      m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
      m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
      m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
      m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
      m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
      m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
      m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
      m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
      m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
      m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
      m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
      m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
      m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
      m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
      m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
      m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
      m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
      m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
      m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
      m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
      m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
      m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
      m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
      m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
      m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
      m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
      m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
      m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
      m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
      m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
      m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
      m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
      m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
      m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
      m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
      m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
      m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
      m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
      m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
      m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
      m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
      m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
      m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
      m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
      m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
      m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
      geany-plugins-1.27/build/geanylatex.m40000644000175000017500000000043512671261352020224 0ustar00frlanfrlan00000000000000AC_DEFUN([GP_CHECK_GEANYLATEX],
      [
          GP_ARG_DISABLE([GeanyLaTeX], [auto])
          GP_CHECK_PLUGIN_GTK2_ONLY([GeanyLaTeX])
          GP_COMMIT_PLUGIN_STATUS([GeanyLaTeX])
          AC_CONFIG_FILES([
              geanylatex/Makefile
              geanylatex/doc/Makefile
              geanylatex/src/Makefile
          ])
      ])
      geany-plugins-1.27/build/vala.m40000644000175000017500000000326012671261352017005 0ustar00frlanfrlan00000000000000dnl GP_CHECK_VALAC([version], [action-if-found], [action-if-not-found])
      dnl Checks for the Vala compiler.  Similar to AM_PROG_VALAC but supports
      dnl 2nd and 3rd arguments with Automake < 1.12.5
      AC_DEFUN([GP_CHECK_VALAC],
      [
          gp_have_valac=yes
          AM_PROG_VALAC([$1],,[gp_have_valac=no])
          dnl Automake < 1.12.5 does not support 3rd arg but leaves $VALAC
          dnl empty if not found, so emulate it
          AS_IF([test "x$VALAC" = x], [gp_have_valac=no])
          AS_IF([test "$gp_have_valac" = yes],
                [m4_default([$2], [:])],
                [m4_default([$3], [:])])
      ])
      
      dnl GP_CHECK_PLUGIN_VALA(plugin, [valac-version])
      dnl Checks for the Vala compiler and takes the appropriate action on
      dnl $plugin depending on its presence.
      dnl FIXME: take into account that the compiler is optional if we have
      dnl        the generated C sources
      AC_DEFUN([GP_CHECK_PLUGIN_VALA],
      [
          AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = no],[],
                [GP_CHECK_VALAC([$2],
                                [dnl we fake the checking messages here because
                                 dnl GP_CHECK_VALAC outputs messages itself
                                 AC_MSG_CHECKING([whether the vala compiler is compatible with $1])
                                 AC_MSG_RESULT([yes])],
                                [AC_MSG_CHECKING([whether the vala compiler is compatible with $1])
                                 AC_MSG_RESULT([no])
                                 AS_IF([test "$m4_tolower(AS_TR_SH(enable_$1))" = yes],
                                       [AC_MSG_ERROR([$1 requires the Vala compiler])],
                                       [test "$m4_tolower(AS_TR_SH(enable_$1))" = auto],
                                       [m4_tolower(AS_TR_SH(enable_$1))=no])])])
      ])
      geany-plugins-1.27/depcomp0000755000175000017500000005601612671261403016102 0ustar00frlanfrlan00000000000000#! /bin/sh
      # depcomp - compile a program generating dependencies as side-effects
      
      scriptversion=2013-05-30.07; # UTC
      
      # Copyright (C) 1999-2014 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
      # the Free Software Foundation; either version 2, or (at your option)
      # any later version.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY; without even the implied warranty of
      # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      # GNU General Public License for more details.
      
      # You should have received a copy of the GNU General Public License
      # 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
      # configuration script generated by Autoconf, you may include it under
      # the same distribution terms that you use for the rest of that program.
      
      # Originally written by Alexandre Oliva .
      
      case $1 in
        '')
          echo "$0: No command.  Try '$0 --help' for more information." 1>&2
          exit 1;
          ;;
        -h | --h*)
          cat <<\EOF
      Usage: depcomp [--help] [--version] PROGRAM [ARGS]
      
      Run PROGRAMS ARGS to compile a file, generating dependencies
      as side-effects.
      
      Environment variables:
        depmode     Dependency tracking mode.
        source      Source file read by 'PROGRAMS ARGS'.
        object      Object file output by 'PROGRAMS ARGS'.
        DEPDIR      directory where to store dependencies.
        depfile     Dependency file to output.
        tmpdepfile  Temporary file to use when outputting dependencies.
        libtool     Whether libtool is used (yes/no).
      
      Report bugs to .
      EOF
          exit $?
          ;;
        -v | --v*)
          echo "depcomp $scriptversion"
          exit $?
          ;;
      esac
      
      # Get the directory component of the given path, and save it in the
      # global variables '$dir'.  Note that this directory component will
      # be either empty or ending with a '/' character.  This is deliberate.
      set_dir_from ()
      {
        case $1 in
          */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
            *) dir=;;
        esac
      }
      
      # Get the suffix-stripped basename of the given path, and save it the
      # global variable '$base'.
      set_base_from ()
      {
        base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
      }
      
      # If no dependency file was actually created by the compiler invocation,
      # we still have to create a dummy depfile, to avoid errors with the
      # Makefile "include basename.Plo" scheme.
      make_dummy_depfile ()
      {
        echo "#dummy" > "$depfile"
      }
      
      # Factor out some common post-processing of the generated depfile.
      # Requires the auxiliary global variable '$tmpdepfile' to be set.
      aix_post_process_depfile ()
      {
        # If the compiler actually managed to produce a dependency file,
        # post-process it.
        if test -f "$tmpdepfile"; then
          # Each line is of the form 'foo.o: dependency.h'.
          # Do two passes, one to just change these to
          #   $object: dependency.h
          # and one to simply output
          #   dependency.h:
          # which is needed to avoid the deleted-header problem.
          { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
            sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
          } > "$depfile"
          rm -f "$tmpdepfile"
        else
          make_dummy_depfile
        fi
      }
      
      # A tabulation character.
      tab='	'
      # A newline character.
      nl='
      '
      # Character ranges might be problematic outside the C locale.
      # These definitions help.
      upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
      lower=abcdefghijklmnopqrstuvwxyz
      digits=0123456789
      alpha=${upper}${lower}
      
      if test -z "$depmode" || test -z "$source" || test -z "$object"; then
        echo "depcomp: Variables source, object and depmode must be set" 1>&2
        exit 1
      fi
      
      # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
      depfile=${depfile-`echo "$object" |
        sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
      tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
      
      rm -f "$tmpdepfile"
      
      # Avoid interferences from the environment.
      gccflag= dashmflag=
      
      # Some modes work just like other modes, but use different flags.  We
      # parameterize here, but still list the modes in the big case below,
      # to make depend.m4 easier to write.  Note that we *cannot* use a case
      # here, because this file can only contain one case statement.
      if test "$depmode" = hp; then
        # HP compiler uses -M and no extra arg.
        gccflag=-M
        depmode=gcc
      fi
      
      if test "$depmode" = dashXmstdout; then
        # This is just like dashmstdout with a different argument.
        dashmflag=-xM
        depmode=dashmstdout
      fi
      
      cygpath_u="cygpath -u -f -"
      if test "$depmode" = msvcmsys; then
        # This is just like msvisualcpp but w/o cygpath translation.
        # Just convert the backslash-escaped backslashes to single forward
        # slashes to satisfy depend.m4
        cygpath_u='sed s,\\\\,/,g'
        depmode=msvisualcpp
      fi
      
      if test "$depmode" = msvc7msys; then
        # This is just like msvc7 but w/o cygpath translation.
        # Just convert the backslash-escaped backslashes to single forward
        # slashes to satisfy depend.m4
        cygpath_u='sed s,\\\\,/,g'
        depmode=msvc7
      fi
      
      if test "$depmode" = xlc; then
        # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
        gccflag=-qmakedep=gcc,-MF
        depmode=gcc
      fi
      
      case "$depmode" in
      gcc3)
      ## gcc 3 implements dependency tracking that does exactly what
      ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
      ## it if -MD -MP comes after the -MF stuff.  Hmm.
      ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
      ## the command line argument order; so add the flags where they
      ## appear in depend2.am.  Note that the slowdown incurred here
      ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
        for arg
        do
          case $arg in
          -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
          *)  set fnord "$@" "$arg" ;;
          esac
          shift # fnord
          shift # $arg
        done
        "$@"
        stat=$?
        if test $stat -ne 0; then
          rm -f "$tmpdepfile"
          exit $stat
        fi
        mv "$tmpdepfile" "$depfile"
        ;;
      
      gcc)
      ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
      ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
      ## (see the conditional assignment to $gccflag above).
      ## There are various ways to get dependency output from gcc.  Here's
      ## why we pick this rather obscure method:
      ## - Don't want to use -MD because we'd like the dependencies to end
      ##   up in a subdir.  Having to rename by hand is ugly.
      ##   (We might end up doing this anyway to support other compilers.)
      ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
      ##   -MM, not -M (despite what the docs say).  Also, it might not be
      ##   supported by the other compilers which use the 'gcc' depmode.
      ## - Using -M directly means running the compiler twice (even worse
      ##   than renaming).
        if test -z "$gccflag"; then
          gccflag=-MD,
        fi
        "$@" -Wp,"$gccflag$tmpdepfile"
        stat=$?
        if test $stat -ne 0; then
          rm -f "$tmpdepfile"
          exit $stat
        fi
        rm -f "$depfile"
        echo "$object : \\" > "$depfile"
        # The second -e expression handles DOS-style file names with drive
        # letters.
        sed -e 's/^[^:]*: / /' \
            -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
      ## This next piece of magic avoids the "deleted header file" problem.
      ## The problem is that when a header file which appears in a .P file
      ## is deleted, the dependency causes make to die (because there is
      ## typically no way to rebuild the header).  We avoid this by adding
      ## dummy dependencies for each header file.  Too bad gcc doesn't do
      ## this for us directly.
      ## Some versions of gcc put a space before the ':'.  On the theory
      ## that the space means something, we add a space to the output as
      ## well.  hp depmode also adds that space, but also prefixes the VPATH
      ## to the object.  Take care to not repeat it in the output.
      ## Some versions of the HPUX 10.20 sed can't process this invocation
      ## correctly.  Breaking it into two sed invocations is a workaround.
        tr ' ' "$nl" < "$tmpdepfile" \
          | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
          | sed -e 's/$/ :/' >> "$depfile"
        rm -f "$tmpdepfile"
        ;;
      
      hp)
        # This case exists only to let depend.m4 do its work.  It works by
        # looking at the text of this script.  This case will never be run,
        # since it is checked for above.
        exit 1
        ;;
      
      sgi)
        if test "$libtool" = yes; then
          "$@" "-Wp,-MDupdate,$tmpdepfile"
        else
          "$@" -MDupdate "$tmpdepfile"
        fi
        stat=$?
        if test $stat -ne 0; then
          rm -f "$tmpdepfile"
          exit $stat
        fi
        rm -f "$depfile"
      
        if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
          echo "$object : \\" > "$depfile"
          # Clip off the initial element (the dependent).  Don't try to be
          # clever and replace this with sed code, as IRIX sed won't handle
          # lines with more than a fixed number of characters (4096 in
          # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
          # the IRIX cc adds comments like '#:fec' to the end of the
          # dependency line.
          tr ' ' "$nl" < "$tmpdepfile" \
            | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
            | tr "$nl" ' ' >> "$depfile"
          echo >> "$depfile"
          # The second pass generates a dummy entry for each header file.
          tr ' ' "$nl" < "$tmpdepfile" \
            | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
            >> "$depfile"
        else
          make_dummy_depfile
        fi
        rm -f "$tmpdepfile"
        ;;
      
      xlc)
        # This case exists only to let depend.m4 do its work.  It works by
        # looking at the text of this script.  This case will never be run,
        # since it is checked for above.
        exit 1
        ;;
      
      aix)
        # The C for AIX Compiler uses -M and outputs the dependencies
        # in a .u file.  In older versions, this file always lives in the
        # current directory.  Also, the AIX compiler puts '$object:' at the
        # start of each line; $object doesn't have directory information.
        # Version 6 uses the directory in both cases.
        set_dir_from "$object"
        set_base_from "$object"
        if test "$libtool" = yes; then
          tmpdepfile1=$dir$base.u
          tmpdepfile2=$base.u
          tmpdepfile3=$dir.libs/$base.u
          "$@" -Wc,-M
        else
          tmpdepfile1=$dir$base.u
          tmpdepfile2=$dir$base.u
          tmpdepfile3=$dir$base.u
          "$@" -M
        fi
        stat=$?
        if test $stat -ne 0; then
          rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
          exit $stat
        fi
      
        for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
        do
          test -f "$tmpdepfile" && break
        done
        aix_post_process_depfile
        ;;
      
      tcc)
        # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
        # FIXME: That version still under development at the moment of writing.
        #        Make that this statement remains true also for stable, released
        #        versions.
        # It will wrap lines (doesn't matter whether long or short) with a
        # trailing '\', as in:
        #
        #   foo.o : \
        #    foo.c \
        #    foo.h \
        #
        # It will put a trailing '\' even on the last line, and will use leading
        # spaces rather than leading tabs (at least since its commit 0394caf7
        # "Emit spaces for -MD").
        "$@" -MD -MF "$tmpdepfile"
        stat=$?
        if test $stat -ne 0; then
          rm -f "$tmpdepfile"
          exit $stat
        fi
        rm -f "$depfile"
        # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
        # We have to change lines of the first kind to '$object: \'.
        sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
        # And for each line of the second kind, we have to emit a 'dep.h:'
        # dummy dependency, to avoid the deleted-header problem.
        sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
        rm -f "$tmpdepfile"
        ;;
      
      ## The order of this option in the case statement is important, since the
      ## shell code in configure will try each of these formats in the order
      ## listed in this file.  A plain '-MD' option would be understood by many
      ## compilers, so we must ensure this comes after the gcc and icc options.
      pgcc)
        # Portland's C compiler understands '-MD'.
        # Will always output deps to 'file.d' where file is the root name of the
        # source file under compilation, even if file resides in a subdirectory.
        # The object file name does not affect the name of the '.d' file.
        # pgcc 10.2 will output
        #    foo.o: sub/foo.c sub/foo.h
        # and will wrap long lines using '\' :
        #    foo.o: sub/foo.c ... \
        #     sub/foo.h ... \
        #     ...
        set_dir_from "$object"
        # Use the source, not the object, to determine the base name, since
        # that's sadly what pgcc will do too.
        set_base_from "$source"
        tmpdepfile=$base.d
      
        # For projects that build the same source file twice into different object
        # files, the pgcc approach of using the *source* file root name can cause
        # problems in parallel builds.  Use a locking strategy to avoid stomping on
        # the same $tmpdepfile.
        lockdir=$base.d-lock
        trap "
          echo '$0: caught signal, cleaning up...' >&2
          rmdir '$lockdir'
          exit 1
        " 1 2 13 15
        numtries=100
        i=$numtries
        while test $i -gt 0; do
          # mkdir is a portable test-and-set.
          if mkdir "$lockdir" 2>/dev/null; then
            # This process acquired the lock.
            "$@" -MD
            stat=$?
            # Release the lock.
            rmdir "$lockdir"
            break
          else
            # If the lock is being held by a different process, wait
            # until the winning process is done or we timeout.
            while test -d "$lockdir" && test $i -gt 0; do
              sleep 1
              i=`expr $i - 1`
            done
          fi
          i=`expr $i - 1`
        done
        trap - 1 2 13 15
        if test $i -le 0; then
          echo "$0: failed to acquire lock after $numtries attempts" >&2
          echo "$0: check lockdir '$lockdir'" >&2
          exit 1
        fi
      
        if test $stat -ne 0; then
          rm -f "$tmpdepfile"
          exit $stat
        fi
        rm -f "$depfile"
        # Each line is of the form `foo.o: dependent.h',
        # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
        # Do two passes, one to just change these to
        # `$object: dependent.h' and one to simply `dependent.h:'.
        sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
        # Some versions of the HPUX 10.20 sed can't process this invocation
        # correctly.  Breaking it into two sed invocations is a workaround.
        sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
          | sed -e 's/$/ :/' >> "$depfile"
        rm -f "$tmpdepfile"
        ;;
      
      hp2)
        # The "hp" stanza above does not work with aCC (C++) and HP's ia64
        # compilers, which have integrated preprocessors.  The correct option
        # to use with these is +Maked; it writes dependencies to a file named
        # 'foo.d', which lands next to the object file, wherever that
        # happens to be.
        # Much of this is similar to the tru64 case; see comments there.
        set_dir_from  "$object"
        set_base_from "$object"
        if test "$libtool" = yes; then
          tmpdepfile1=$dir$base.d
          tmpdepfile2=$dir.libs/$base.d
          "$@" -Wc,+Maked
        else
          tmpdepfile1=$dir$base.d
          tmpdepfile2=$dir$base.d
          "$@" +Maked
        fi
        stat=$?
        if test $stat -ne 0; then
           rm -f "$tmpdepfile1" "$tmpdepfile2"
           exit $stat
        fi
      
        for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
        do
          test -f "$tmpdepfile" && break
        done
        if test -f "$tmpdepfile"; then
          sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
          # Add 'dependent.h:' lines.
          sed -ne '2,${
                     s/^ *//
                     s/ \\*$//
                     s/$/:/
                     p
                   }' "$tmpdepfile" >> "$depfile"
        else
          make_dummy_depfile
        fi
        rm -f "$tmpdepfile" "$tmpdepfile2"
        ;;
      
      tru64)
        # The Tru64 compiler uses -MD to generate dependencies as a side
        # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
        # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
        # dependencies in 'foo.d' instead, so we check for that too.
        # Subdirectories are respected.
        set_dir_from  "$object"
        set_base_from "$object"
      
        if test "$libtool" = yes; then
          # Libtool generates 2 separate objects for the 2 libraries.  These
          # two compilations output dependencies in $dir.libs/$base.o.d and
          # in $dir$base.o.d.  We have to check for both files, because
          # one of the two compilations can be disabled.  We should prefer
          # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
          # automatically cleaned when .libs/ is deleted, while ignoring
          # the former would cause a distcleancheck panic.
          tmpdepfile1=$dir$base.o.d          # libtool 1.5
          tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
          tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
          "$@" -Wc,-MD
        else
          tmpdepfile1=$dir$base.d
          tmpdepfile2=$dir$base.d
          tmpdepfile3=$dir$base.d
          "$@" -MD
        fi
      
        stat=$?
        if test $stat -ne 0; then
          rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
          exit $stat
        fi
      
        for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
        do
          test -f "$tmpdepfile" && break
        done
        # Same post-processing that is required for AIX mode.
        aix_post_process_depfile
        ;;
      
      msvc7)
        if test "$libtool" = yes; then
          showIncludes=-Wc,-showIncludes
        else
          showIncludes=-showIncludes
        fi
        "$@" $showIncludes > "$tmpdepfile"
        stat=$?
        grep -v '^Note: including file: ' "$tmpdepfile"
        if test $stat -ne 0; then
          rm -f "$tmpdepfile"
          exit $stat
        fi
        rm -f "$depfile"
        echo "$object : \\" > "$depfile"
        # The first sed program below extracts the file names and escapes
        # backslashes for cygpath.  The second sed program outputs the file
        # name when reading, but also accumulates all include files in the
        # hold buffer in order to output them again at the end.  This only
        # works with sed implementations that can handle large buffers.
        sed < "$tmpdepfile" -n '
      /^Note: including file:  *\(.*\)/ {
        s//\1/
        s/\\/\\\\/g
        p
      }' | $cygpath_u | sort -u | sed -n '
      s/ /\\ /g
      s/\(.*\)/'"$tab"'\1 \\/p
      s/.\(.*\) \\/\1:/
      H
      $ {
        s/.*/'"$tab"'/
        G
        p
      }' >> "$depfile"
        echo >> "$depfile" # make sure the fragment doesn't end with a backslash
        rm -f "$tmpdepfile"
        ;;
      
      msvc7msys)
        # This case exists only to let depend.m4 do its work.  It works by
        # looking at the text of this script.  This case will never be run,
        # since it is checked for above.
        exit 1
        ;;
      
      #nosideeffect)
        # This comment above is used by automake to tell side-effect
        # dependency tracking mechanisms from slower ones.
      
      dashmstdout)
        # Important note: in order to support this mode, a compiler *must*
        # always write the preprocessed file to stdout, regardless of -o.
        "$@" || exit $?
      
        # Remove the call to Libtool.
        if test "$libtool" = yes; then
          while test "X$1" != 'X--mode=compile'; do
            shift
          done
          shift
        fi
      
        # Remove '-o $object'.
        IFS=" "
        for arg
        do
          case $arg in
          -o)
            shift
            ;;
          $object)
            shift
            ;;
          *)
            set fnord "$@" "$arg"
            shift # fnord
            shift # $arg
            ;;
          esac
        done
      
        test -z "$dashmflag" && dashmflag=-M
        # Require at least two characters before searching for ':'
        # in the target name.  This is to cope with DOS-style filenames:
        # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
        "$@" $dashmflag |
          sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
        rm -f "$depfile"
        cat < "$tmpdepfile" > "$depfile"
        # Some versions of the HPUX 10.20 sed can't process this sed invocation
        # correctly.  Breaking it into two sed invocations is a workaround.
        tr ' ' "$nl" < "$tmpdepfile" \
          | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
          | sed -e 's/$/ :/' >> "$depfile"
        rm -f "$tmpdepfile"
        ;;
      
      dashXmstdout)
        # This case only exists to satisfy depend.m4.  It is never actually
        # run, as this mode is specially recognized in the preamble.
        exit 1
        ;;
      
      makedepend)
        "$@" || exit $?
        # Remove any Libtool call
        if test "$libtool" = yes; then
          while test "X$1" != 'X--mode=compile'; do
            shift
          done
          shift
        fi
        # X makedepend
        shift
        cleared=no eat=no
        for arg
        do
          case $cleared in
          no)
            set ""; shift
            cleared=yes ;;
          esac
          if test $eat = yes; then
            eat=no
            continue
          fi
          case "$arg" in
          -D*|-I*)
            set fnord "$@" "$arg"; shift ;;
          # Strip any option that makedepend may not understand.  Remove
          # the object too, otherwise makedepend will parse it as a source file.
          -arch)
            eat=yes ;;
          -*|$object)
            ;;
          *)
            set fnord "$@" "$arg"; shift ;;
          esac
        done
        obj_suffix=`echo "$object" | sed 's/^.*\././'`
        touch "$tmpdepfile"
        ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
        rm -f "$depfile"
        # makedepend may prepend the VPATH from the source file name to the object.
        # No need to regex-escape $object, excess matching of '.' is harmless.
        sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
        # Some versions of the HPUX 10.20 sed can't process the last invocation
        # correctly.  Breaking it into two sed invocations is a workaround.
        sed '1,2d' "$tmpdepfile" \
          | tr ' ' "$nl" \
          | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
          | sed -e 's/$/ :/' >> "$depfile"
        rm -f "$tmpdepfile" "$tmpdepfile".bak
        ;;
      
      cpp)
        # Important note: in order to support this mode, a compiler *must*
        # always write the preprocessed file to stdout.
        "$@" || exit $?
      
        # Remove the call to Libtool.
        if test "$libtool" = yes; then
          while test "X$1" != 'X--mode=compile'; do
            shift
          done
          shift
        fi
      
        # Remove '-o $object'.
        IFS=" "
        for arg
        do
          case $arg in
          -o)
            shift
            ;;
          $object)
            shift
            ;;
          *)
            set fnord "$@" "$arg"
            shift # fnord
            shift # $arg
            ;;
          esac
        done
      
        "$@" -E \
          | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
                   -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
          | sed '$ s: \\$::' > "$tmpdepfile"
        rm -f "$depfile"
        echo "$object : \\" > "$depfile"
        cat < "$tmpdepfile" >> "$depfile"
        sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
        rm -f "$tmpdepfile"
        ;;
      
      msvisualcpp)
        # Important note: in order to support this mode, a compiler *must*
        # always write the preprocessed file to stdout.
        "$@" || exit $?
      
        # Remove the call to Libtool.
        if test "$libtool" = yes; then
          while test "X$1" != 'X--mode=compile'; do
            shift
          done
          shift
        fi
      
        IFS=" "
        for arg
        do
          case "$arg" in
          -o)
            shift
            ;;
          $object)
            shift
            ;;
          "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
              set fnord "$@"
              shift
              shift
              ;;
          *)
              set fnord "$@" "$arg"
              shift
              shift
              ;;
          esac
        done
        "$@" -E 2>/dev/null |
        sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
        rm -f "$depfile"
        echo "$object : \\" > "$depfile"
        sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
        echo "$tab" >> "$depfile"
        sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
        rm -f "$tmpdepfile"
        ;;
      
      msvcmsys)
        # This case exists only to let depend.m4 do its work.  It works by
        # looking at the text of this script.  This case will never be run,
        # since it is checked for above.
        exit 1
        ;;
      
      none)
        exec "$@"
        ;;
      
      *)
        echo "Unknown depmode $depmode" 1>&2
        exit 1
        ;;
      esac
      
      exit 0
      
      # Local Variables:
      # mode: shell-script
      # sh-indentation: 2
      # eval: (add-hook 'write-file-hooks 'time-stamp)
      # time-stamp-start: "scriptversion="
      # time-stamp-format: "%:y-%02m-%02d.%02H"
      # time-stamp-time-zone: "UTC"
      # time-stamp-end: "; # UTC"
      # End:
      geany-plugins-1.27/pohelper/0000755000175000017500000000000012671261443016337 5ustar00frlanfrlan00000000000000geany-plugins-1.27/pohelper/Makefile.in0000644000175000017500000006447512671261403020420 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = pohelper
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindoc_DATA) \
      	$(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      SOURCES =
      DIST_SOURCES =
      RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
      	ctags-recursive dvi-recursive html-recursive info-recursive \
      	install-data-recursive install-dvi-recursive \
      	install-exec-recursive install-html-recursive \
      	install-info-recursive install-pdf-recursive \
      	install-ps-recursive install-recursive installcheck-recursive \
      	installdirs-recursive pdf-recursive ps-recursive \
      	tags-recursive uninstall-recursive
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(plugindocdir)"
      DATA = $(dist_plugindoc_DATA)
      RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
        distclean-recursive maintainer-clean-recursive
      am__recursive_targets = \
        $(RECURSIVE_TARGETS) \
        $(RECURSIVE_CLEAN_TARGETS) \
        $(am__extra_recursive_targets)
      AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
      	distdir
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      DIST_SUBDIRS = $(SUBDIRS)
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/vars.auxfiles.mk \
      	$(top_srcdir)/build/vars.docs.mk AUTHORS COPYING ChangeLog \
      	NEWS README
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      am__relativize = \
        dir0=`pwd`; \
        sed_first='s,^\([^/]*\)/.*$$,\1,'; \
        sed_rest='s,^[^/]*/*,,'; \
        sed_last='s,^.*/\([^/]*\)$$,\1,'; \
        sed_butlast='s,/*[^/]*$$,,'; \
        while test -n "$$dir1"; do \
          first=`echo "$$dir1" | sed -e "$$sed_first"`; \
          if test "$$first" != "."; then \
            if test "$$first" = ".."; then \
              dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
              dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
            else \
              first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
              if test "$$first2" = "$$first"; then \
                dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
              else \
                dir2="../$$dir2"; \
              fi; \
              dir0="$$dir0"/"$$first"; \
            fi; \
          fi; \
          dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
        done; \
        reldir="$$dir2"
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      plugindocdir = $(docdir)/$(plugin)
      htmldocdir = $(plugindocdir)
      plugindatadir = $(pkgdatadir)/$(plugin)
      pluginlibdir = $(pkglibdir)/$(plugin)
      examplesdir = $(plugindatadir)
      dist_plugindoc_DATA = \
      	README \
      	ChangeLog \
      	NEWS \
      	COPYING \
      	AUTHORS \
      	$(AUXFILES)
      
      EXTRA_DIST = 
      SUBDIRS = data src
      plugin = pohelper
      all: all-recursive
      
      .SUFFIXES:
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign pohelper/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign pohelper/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      install-dist_plugindocDATA: $(dist_plugindoc_DATA)
      	@$(NORMAL_INSTALL)
      	@list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \
      	if test -n "$$list"; then \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(plugindocdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(plugindocdir)" || exit 1; \
      	fi; \
      	for p in $$list; do \
      	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
      	  echo "$$d$$p"; \
      	done | $(am__base_list) | \
      	while read files; do \
      	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindocdir)'"; \
      	  $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindocdir)" || exit $$?; \
      	done
      
      uninstall-dist_plugindocDATA:
      	@$(NORMAL_UNINSTALL)
      	@list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \
      	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
      	dir='$(DESTDIR)$(plugindocdir)'; $(am__uninstall_files_from_dir)
      
      # This directory's subdirectories are mostly independent; you can cd
      # into them and run 'make' without going through this Makefile.
      # To change the values of 'make' variables: instead of editing Makefiles,
      # (1) if the variable is set in 'config.status', edit 'config.status'
      #     (which will cause the Makefiles to be regenerated when you run 'make');
      # (2) otherwise, pass the desired values on the 'make' command line.
      $(am__recursive_targets):
      	@fail=; \
      	if $(am__make_keepgoing); then \
      	  failcom='fail=yes'; \
      	else \
      	  failcom='exit 1'; \
      	fi; \
      	dot_seen=no; \
      	target=`echo $@ | sed s/-recursive//`; \
      	case "$@" in \
      	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
      	  *) list='$(SUBDIRS)' ;; \
      	esac; \
      	for subdir in $$list; do \
      	  echo "Making $$target in $$subdir"; \
      	  if test "$$subdir" = "."; then \
      	    dot_seen=yes; \
      	    local_target="$$target-am"; \
      	  else \
      	    local_target="$$target"; \
      	  fi; \
      	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
      	  || eval $$failcom; \
      	done; \
      	if test "$$dot_seen" = "no"; then \
      	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
      	fi; test -z "$$fail"
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-recursive
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
      	  include_option=--etags-include; \
      	  empty_fix=.; \
      	else \
      	  include_option=--include; \
      	  empty_fix=; \
      	fi; \
      	list='$(SUBDIRS)'; for subdir in $$list; do \
      	  if test "$$subdir" = .; then :; else \
      	    test ! -f $$subdir/TAGS || \
      	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
      	  fi; \
      	done; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-recursive
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-recursive
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
      	  if test "$$subdir" = .; then :; else \
      	    $(am__make_dryrun) \
      	      || test -d "$(distdir)/$$subdir" \
      	      || $(MKDIR_P) "$(distdir)/$$subdir" \
      	      || exit 1; \
      	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
      	    $(am__relativize); \
      	    new_distdir=$$reldir; \
      	    dir1=$$subdir; dir2="$(top_distdir)"; \
      	    $(am__relativize); \
      	    new_top_distdir=$$reldir; \
      	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
      	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
      	    ($(am__cd) $$subdir && \
      	      $(MAKE) $(AM_MAKEFLAGS) \
      	        top_distdir="$$new_top_distdir" \
      	        distdir="$$new_distdir" \
      		am__remove_distdir=: \
      		am__skip_length_check=: \
      		am__skip_mode_fix=: \
      	        distdir) \
      	      || exit 1; \
      	  fi; \
      	done
      check-am: all-am
      check: check-recursive
      all-am: Makefile $(DATA)
      installdirs: installdirs-recursive
      installdirs-am:
      	for dir in "$(DESTDIR)$(plugindocdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-recursive
      install-exec: install-exec-recursive
      install-data: install-data-recursive
      uninstall: uninstall-recursive
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-recursive
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-recursive
      
      clean-am: clean-generic clean-libtool mostlyclean-am
      
      distclean: distclean-recursive
      	-rm -f Makefile
      distclean-am: clean-am distclean-generic distclean-tags
      
      dvi: dvi-recursive
      
      dvi-am:
      
      html: html-recursive
      
      html-am:
      
      info: info-recursive
      
      info-am:
      
      install-data-am: install-dist_plugindocDATA
      
      install-dvi: install-dvi-recursive
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-recursive
      
      install-html-am:
      
      install-info: install-info-recursive
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-recursive
      
      install-pdf-am:
      
      install-ps: install-ps-recursive
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-recursive
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-recursive
      
      mostlyclean-am: mostlyclean-generic mostlyclean-libtool
      
      pdf: pdf-recursive
      
      pdf-am:
      
      ps: ps-recursive
      
      ps-am:
      
      uninstall-am: uninstall-dist_plugindocDATA
      
      .MAKE: $(am__recursive_targets) install-am install-strip
      
      .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
      	check-am clean clean-generic clean-libtool cscopelist-am ctags \
      	ctags-am distclean distclean-generic distclean-libtool \
      	distclean-tags distdir dvi dvi-am html html-am info info-am \
      	install install-am install-data install-data-am \
      	install-dist_plugindocDATA install-dvi install-dvi-am \
      	install-exec install-exec-am install-html install-html-am \
      	install-info install-info-am install-man install-pdf \
      	install-pdf-am install-ps install-ps-am install-strip \
      	installcheck installcheck-am installdirs installdirs-am \
      	maintainer-clean maintainer-clean-generic mostlyclean \
      	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
      	tags tags-am uninstall uninstall-am \
      	uninstall-dist_plugindocDATA
      
      .PRECIOUS: Makefile
      
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/pohelper/Makefile.am0000644000175000017500000000012312671261352020366 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = data src
      plugin = pohelper
      geany-plugins-1.27/pohelper/AUTHORS0000644000175000017500000000006012671261352017402 0ustar00frlanfrlan00000000000000Colomban Wendling 
      geany-plugins-1.27/pohelper/data/0000755000175000017500000000000012671261443017250 5ustar00frlanfrlan00000000000000geany-plugins-1.27/pohelper/data/Makefile.in0000644000175000017500000004760212671261403021322 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = pohelper/data
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindata_DATA) \
      	$(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      SOURCES =
      DIST_SOURCES =
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(plugindatadir)"
      DATA = $(dist_plugindata_DATA)
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/vars.docs.mk
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      plugindocdir = $(docdir)/$(plugin)
      htmldocdir = $(plugindocdir)
      plugindatadir = $(pkgdatadir)/$(plugin)
      pluginlibdir = $(pkglibdir)/$(plugin)
      examplesdir = $(plugindatadir)
      plugin = pohelper
      dist_plugindata_DATA = menus.ui stats.ui
      all: all-am
      
      .SUFFIXES:
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.docs.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign pohelper/data/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign pohelper/data/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.docs.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      install-dist_plugindataDATA: $(dist_plugindata_DATA)
      	@$(NORMAL_INSTALL)
      	@list='$(dist_plugindata_DATA)'; test -n "$(plugindatadir)" || list=; \
      	if test -n "$$list"; then \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(plugindatadir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(plugindatadir)" || exit 1; \
      	fi; \
      	for p in $$list; do \
      	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
      	  echo "$$d$$p"; \
      	done | $(am__base_list) | \
      	while read files; do \
      	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindatadir)'"; \
      	  $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindatadir)" || exit $$?; \
      	done
      
      uninstall-dist_plugindataDATA:
      	@$(NORMAL_UNINSTALL)
      	@list='$(dist_plugindata_DATA)'; test -n "$(plugindatadir)" || list=; \
      	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
      	dir='$(DESTDIR)$(plugindatadir)'; $(am__uninstall_files_from_dir)
      tags TAGS:
      
      ctags CTAGS:
      
      cscope cscopelist:
      
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      check-am: all-am
      check: check-am
      all-am: Makefile $(DATA)
      installdirs:
      	for dir in "$(DESTDIR)$(plugindatadir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-am
      install-exec: install-exec-am
      install-data: install-data-am
      uninstall: uninstall-am
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-am
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-am
      
      clean-am: clean-generic clean-libtool mostlyclean-am
      
      distclean: distclean-am
      	-rm -f Makefile
      distclean-am: clean-am distclean-generic
      
      dvi: dvi-am
      
      dvi-am:
      
      html: html-am
      
      html-am:
      
      info: info-am
      
      info-am:
      
      install-data-am: install-dist_plugindataDATA
      
      install-dvi: install-dvi-am
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-am
      
      install-html-am:
      
      install-info: install-info-am
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-am
      
      install-pdf-am:
      
      install-ps: install-ps-am
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-am
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-am
      
      mostlyclean-am: mostlyclean-generic mostlyclean-libtool
      
      pdf: pdf-am
      
      pdf-am:
      
      ps: ps-am
      
      ps-am:
      
      uninstall-am: uninstall-dist_plugindataDATA
      
      .MAKE: install-am install-strip
      
      .PHONY: all all-am check check-am clean clean-generic clean-libtool \
      	cscopelist-am ctags-am distclean distclean-generic \
      	distclean-libtool distdir dvi dvi-am html html-am info info-am \
      	install install-am install-data install-data-am \
      	install-dist_plugindataDATA install-dvi install-dvi-am \
      	install-exec install-exec-am install-html install-html-am \
      	install-info install-info-am install-man install-pdf \
      	install-pdf-am install-ps install-ps-am install-strip \
      	installcheck installcheck-am installdirs maintainer-clean \
      	maintainer-clean-generic mostlyclean mostlyclean-generic \
      	mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
      	uninstall-am uninstall-dist_plugindataDATA
      
      .PRECIOUS: Makefile
      
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/pohelper/data/stats.ui0000644000175000017500000002552112671261352020751 0ustar00frlanfrlan00000000000000
      
        
        
        
          False
          5
          Translation statistics
          True
          dialog
          
            
              True
              False
              2
              
                
                  True
                  False
                  end
                  
                    
                      gtk-close
                      True
                      True
                      True
                      True
                      True
                      True
                    
                    
                      False
                      False
                      1
                    
                  
                
                
                  False
                  True
                  end
                  0
                
              
              
                
                  True
                  False
                  6
                  5
                  
                    
                      24
                      True
                      False
                    
                    
                      True
                      True
                      0
                    
                  
                  
                    
                      True
                      False
                      3
                      3
                      6
                      
                        
                          True
                          True
                          True
                          none
                          Choose a color for translated strings
                          #7373d2d21616
                        
                        
                          GTK_FILL
                          GTK_FILL
                        
                      
                      
                        
                          True
                          True
                          True
                          none
                          Choose a color for fuzzily translated strings
                          #ededd4d40000
                        
                        
                          1
                          2
                          GTK_FILL
                          GTK_FILL
                        
                      
                      
                        
                          True
                          True
                          True
                          none
                          Choose a color for untranslated strings
                          #cccc00000000
                        
                        
                          2
                          3
                          GTK_FILL
                          GTK_FILL
                        
                      
                      
                        
                          True
                          False
                          1
                          Translated:
                          
                            
                          
                        
                        
                          1
                          2
                          GTK_FILL
                        
                      
                      
                        
                          True
                          False
                          1
                          Fuzzy:
                          
                            
                          
                        
                        
                          1
                          2
                          1
                          2
                          GTK_FILL
                        
                      
                      
                        
                          True
                          False
                          1
                          Untranslated:
                          
                            
                          
                        
                        
                          1
                          2
                          2
                          3
                          GTK_FILL
                        
                      
                      
                        
                          True
                          False
                          0
                          0
                        
                        
                          2
                          3
                          GTK_FILL
                        
                      
                      
                        
                          True
                          False
                          0
                          0
                        
                        
                          2
                          3
                          1
                          2
                          GTK_FILL
                        
                      
                      
                        
                          True
                          False
                          0
                          0
                        
                        
                          2
                          3
                          2
                          3
                          GTK_FILL
                        
                      
                    
                    
                      False
                      True
                      1
                    
                  
                
                
                  True
                  True
                  1
                
              
            
          
          
            button1
          
        
      
      geany-plugins-1.27/pohelper/data/menus.ui0000644000175000017500000003007712671261352020744 0ustar00frlanfrlan00000000000000
      
        
        
        
          True
          False
          gtk-go-back
          1
        
        
          True
          False
          gtk-go-forward
          1
        
        
          True
          False
          gtk-go-back
          1
        
        
          True
          False
          gtk-go-forward
          1
        
        
          True
          False
          gtk-go-back
          1
        
        
          True
          False
          gtk-go-forward
          1
        
        
          True
          False
          gtk-go-back
          1
        
        
          True
          False
          gtk-go-forward
          1
        
        
          True
          False
          gtk-paste
          1
        
        
          False
          True
          False
          _Translation Helper
          True
          
            
              False
              
                
                  _Previous String
                  False
                  True
                  False
                  Go to previous string
                  True
                  image1
                  False
                
              
              
                
                  _Next String
                  False
                  True
                  False
                  Go to next string
                  True
                  image2
                  False
                
              
              
                
                  True
                  False
                
              
              
                
                  Pre_vious Untranslated
                  False
                  True
                  False
                  Go to previous untranslated string
                  True
                  image3
                  False
                
              
              
                
                  Next _Untranslated
                  False
                  True
                  False
                  Go to next untranslated string
                  True
                  image4
                  False
                
              
              
                
                  True
                  False
                
              
              
                
                  Previous Fu_zzy
                  False
                  True
                  False
                  Go to previous fuzzily translated string
                  True
                  image5
                  False
                
              
              
                
                  Next _Fuzzy
                  False
                  True
                  False
                  Go to next fuzzily translated string
                  True
                  image6
                  False
                
              
              
                
                  True
                  False
                
              
              
                
                  Previous Untranslated or Fuzz_y
                  False
                  True
                  False
                  Go to previous untranslated or fuzzy string
                  True
                  image7
                  False
                
              
              
                
                  Next Untranslated _or Fuzzy
                  False
                  True
                  False
                  Go to next untranslated or fuzzy string
                  True
                  image8
                  False
                
              
              
                
                  True
                  False
                
              
              
                
                  False
                  True
                  False
                  Toggle current translation fuzziness
                  _Toggle Fuzziness
                  True
                
              
              
                
                  Paste _Message as Translation
                  False
                  True
                  False
                  Paste the original untranslated string to the translation
                  True
                  image9
                  False
                
              
              
                
                  False
                  True
                  False
                  Reflow the current translation string
                  _Reflow Translation
                  True
                
              
              
                
                  True
                  False
                
              
              
                
                  False
                  True
                  False
                  Show statistics of the current document
                  _Show stats
                  True
                
              
              
                
                  True
                  False
                
              
              
                
                  False
                  True
                  False
                  Whether to update the translation headers (author, revision date, ...) upon file save
                  Update _Headers Upon Save
                  True
                
              
            
          
        
      
      geany-plugins-1.27/pohelper/data/Makefile.am0000644000175000017500000000014512671261352021303 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.docs.mk
      plugin = pohelper
      
      dist_plugindata_DATA = menus.ui stats.ui
      geany-plugins-1.27/pohelper/NEWS0000644000175000017500000000005712671261352017037 0ustar00frlanfrlan00000000000000Translation Helper 0.1
      
          * Initial release.
      geany-plugins-1.27/pohelper/COPYING0000644000175000017500000010451312671261352017375 0ustar00frlanfrlan00000000000000                    GNU GENERAL PUBLIC LICENSE
                             Version 3, 29 June 2007
      
       Copyright (C) 2007 Free Software Foundation, Inc. 
       Everyone is permitted to copy and distribute verbatim copies
       of this license document, but changing it is not allowed.
      
                                  Preamble
      
        The GNU General Public License is a free, copyleft license for
      software and other kinds of works.
      
        The licenses for most software and other practical works are designed
      to take away your freedom to share and change the works.  By contrast,
      the GNU General Public License is intended to guarantee your freedom to
      share and change all versions of a program--to make sure it remains free
      software for all its users.  We, the Free Software Foundation, use the
      GNU General Public License for most of our software; it applies also to
      any other work released this way by its authors.  You can apply it to
      your programs, too.
      
        When we speak of free software, we are referring to freedom, not
      price.  Our General Public Licenses are designed to make sure that you
      have the freedom to distribute copies of free software (and charge for
      them if you wish), that you receive source code or can get it if you
      want it, that you can change the software or use pieces of it in new
      free programs, and that you know you can do these things.
      
        To protect your rights, we need to prevent others from denying you
      these rights or asking you to surrender the rights.  Therefore, you have
      certain responsibilities if you distribute copies of the software, or if
      you modify it: responsibilities to respect the freedom of others.
      
        For example, if you distribute copies of such a program, whether
      gratis or for a fee, you must pass on to the recipients the same
      freedoms that you received.  You must make sure that they, too, receive
      or can get the source code.  And you must show them these terms so they
      know their rights.
      
        Developers that use the GNU GPL protect your rights with two steps:
      (1) assert copyright on the software, and (2) offer you this License
      giving you legal permission to copy, distribute and/or modify it.
      
        For the developers' and authors' protection, the GPL clearly explains
      that there is no warranty for this free software.  For both users' and
      authors' sake, the GPL requires that modified versions be marked as
      changed, so that their problems will not be attributed erroneously to
      authors of previous versions.
      
        Some devices are designed to deny users access to install or run
      modified versions of the software inside them, although the manufacturer
      can do so.  This is fundamentally incompatible with the aim of
      protecting users' freedom to change the software.  The systematic
      pattern of such abuse occurs in the area of products for individuals to
      use, which is precisely where it is most unacceptable.  Therefore, we
      have designed this version of the GPL to prohibit the practice for those
      products.  If such problems arise substantially in other domains, we
      stand ready to extend this provision to those domains in future versions
      of the GPL, as needed to protect the freedom of users.
      
        Finally, every program is threatened constantly by software patents.
      States should not allow patents to restrict development and use of
      software on general-purpose computers, but in those that do, we wish to
      avoid the special danger that patents applied to a free program could
      make it effectively proprietary.  To prevent this, the GPL assures that
      patents cannot be used to render the program non-free.
      
        The precise terms and conditions for copying, distribution and
      modification follow.
      
                             TERMS AND CONDITIONS
      
        0. Definitions.
      
        "This License" refers to version 3 of the GNU General Public License.
      
        "Copyright" also means copyright-like laws that apply to other kinds of
      works, such as semiconductor masks.
      
        "The Program" refers to any copyrightable work licensed under this
      License.  Each licensee is addressed as "you".  "Licensees" and
      "recipients" may be individuals or organizations.
      
        To "modify" a work means to copy from or adapt all or part of the work
      in a fashion requiring copyright permission, other than the making of an
      exact copy.  The resulting work is called a "modified version" of the
      earlier work or a work "based on" the earlier work.
      
        A "covered work" means either the unmodified Program or a work based
      on the Program.
      
        To "propagate" a work means to do anything with it that, without
      permission, would make you directly or secondarily liable for
      infringement under applicable copyright law, except executing it on a
      computer or modifying a private copy.  Propagation includes copying,
      distribution (with or without modification), making available to the
      public, and in some countries other activities as well.
      
        To "convey" a work means any kind of propagation that enables other
      parties to make or receive copies.  Mere interaction with a user through
      a computer network, with no transfer of a copy, is not conveying.
      
        An interactive user interface displays "Appropriate Legal Notices"
      to the extent that it includes a convenient and prominently visible
      feature that (1) displays an appropriate copyright notice, and (2)
      tells the user that there is no warranty for the work (except to the
      extent that warranties are provided), that licensees may convey the
      work under this License, and how to view a copy of this License.  If
      the interface presents a list of user commands or options, such as a
      menu, a prominent item in the list meets this criterion.
      
        1. Source Code.
      
        The "source code" for a work means the preferred form of the work
      for making modifications to it.  "Object code" means any non-source
      form of a work.
      
        A "Standard Interface" means an interface that either is an official
      standard defined by a recognized standards body, or, in the case of
      interfaces specified for a particular programming language, one that
      is widely used among developers working in that language.
      
        The "System Libraries" of an executable work include anything, other
      than the work as a whole, that (a) is included in the normal form of
      packaging a Major Component, but which is not part of that Major
      Component, and (b) serves only to enable use of the work with that
      Major Component, or to implement a Standard Interface for which an
      implementation is available to the public in source code form.  A
      "Major Component", in this context, means a major essential component
      (kernel, window system, and so on) of the specific operating system
      (if any) on which the executable work runs, or a compiler used to
      produce the work, or an object code interpreter used to run it.
      
        The "Corresponding Source" for a work in object code form means all
      the source code needed to generate, install, and (for an executable
      work) run the object code and to modify the work, including scripts to
      control those activities.  However, it does not include the work's
      System Libraries, or general-purpose tools or generally available free
      programs which are used unmodified in performing those activities but
      which are not part of the work.  For example, Corresponding Source
      includes interface definition files associated with source files for
      the work, and the source code for shared libraries and dynamically
      linked subprograms that the work is specifically designed to require,
      such as by intimate data communication or control flow between those
      subprograms and other parts of the work.
      
        The Corresponding Source need not include anything that users
      can regenerate automatically from other parts of the Corresponding
      Source.
      
        The Corresponding Source for a work in source code form is that
      same work.
      
        2. Basic Permissions.
      
        All rights granted under this License are granted for the term of
      copyright on the Program, and are irrevocable provided the stated
      conditions are met.  This License explicitly affirms your unlimited
      permission to run the unmodified Program.  The output from running a
      covered work is covered by this License only if the output, given its
      content, constitutes a covered work.  This License acknowledges your
      rights of fair use or other equivalent, as provided by copyright law.
      
        You may make, run and propagate covered works that you do not
      convey, without conditions so long as your license otherwise remains
      in force.  You may convey covered works to others for the sole purpose
      of having them make modifications exclusively for you, or provide you
      with facilities for running those works, provided that you comply with
      the terms of this License in conveying all material for which you do
      not control copyright.  Those thus making or running the covered works
      for you must do so exclusively on your behalf, under your direction
      and control, on terms that prohibit them from making any copies of
      your copyrighted material outside their relationship with you.
      
        Conveying under any other circumstances is permitted solely under
      the conditions stated below.  Sublicensing is not allowed; section 10
      makes it unnecessary.
      
        3. Protecting Users' Legal Rights From Anti-Circumvention Law.
      
        No covered work shall be deemed part of an effective technological
      measure under any applicable law fulfilling obligations under article
      11 of the WIPO copyright treaty adopted on 20 December 1996, or
      similar laws prohibiting or restricting circumvention of such
      measures.
      
        When you convey a covered work, you waive any legal power to forbid
      circumvention of technological measures to the extent such circumvention
      is effected by exercising rights under this License with respect to
      the covered work, and you disclaim any intention to limit operation or
      modification of the work as a means of enforcing, against the work's
      users, your or third parties' legal rights to forbid circumvention of
      technological measures.
      
        4. Conveying Verbatim Copies.
      
        You may convey verbatim copies of the Program's source code as you
      receive it, in any medium, provided that you conspicuously and
      appropriately publish on each copy an appropriate copyright notice;
      keep intact all notices stating that this License and any
      non-permissive terms added in accord with section 7 apply to the code;
      keep intact all notices of the absence of any warranty; and give all
      recipients a copy of this License along with the Program.
      
        You may charge any price or no price for each copy that you convey,
      and you may offer support or warranty protection for a fee.
      
        5. Conveying Modified Source Versions.
      
        You may convey a work based on the Program, or the modifications to
      produce it from the Program, in the form of source code under the
      terms of section 4, provided that you also meet all of these conditions:
      
          a) The work must carry prominent notices stating that you modified
          it, and giving a relevant date.
      
          b) The work must carry prominent notices stating that it is
          released under this License and any conditions added under section
          7.  This requirement modifies the requirement in section 4 to
          "keep intact all notices".
      
          c) You must license the entire work, as a whole, under this
          License to anyone who comes into possession of a copy.  This
          License will therefore apply, along with any applicable section 7
          additional terms, to the whole of the work, and all its parts,
          regardless of how they are packaged.  This License gives no
          permission to license the work in any other way, but it does not
          invalidate such permission if you have separately received it.
      
          d) If the work has interactive user interfaces, each must display
          Appropriate Legal Notices; however, if the Program has interactive
          interfaces that do not display Appropriate Legal Notices, your
          work need not make them do so.
      
        A compilation of a covered work with other separate and independent
      works, which are not by their nature extensions of the covered work,
      and which are not combined with it such as to form a larger program,
      in or on a volume of a storage or distribution medium, is called an
      "aggregate" if the compilation and its resulting copyright are not
      used to limit the access or legal rights of the compilation's users
      beyond what the individual works permit.  Inclusion of a covered work
      in an aggregate does not cause this License to apply to the other
      parts of the aggregate.
      
        6. Conveying Non-Source Forms.
      
        You may convey a covered work in object code form under the terms
      of sections 4 and 5, provided that you also convey the
      machine-readable Corresponding Source under the terms of this License,
      in one of these ways:
      
          a) Convey the object code in, or embodied in, a physical product
          (including a physical distribution medium), accompanied by the
          Corresponding Source fixed on a durable physical medium
          customarily used for software interchange.
      
          b) Convey the object code in, or embodied in, a physical product
          (including a physical distribution medium), accompanied by a
          written offer, valid for at least three years and valid for as
          long as you offer spare parts or customer support for that product
          model, to give anyone who possesses the object code either (1) a
          copy of the Corresponding Source for all the software in the
          product that is covered by this License, on a durable physical
          medium customarily used for software interchange, for a price no
          more than your reasonable cost of physically performing this
          conveying of source, or (2) access to copy the
          Corresponding Source from a network server at no charge.
      
          c) Convey individual copies of the object code with a copy of the
          written offer to provide the Corresponding Source.  This
          alternative is allowed only occasionally and noncommercially, and
          only if you received the object code with such an offer, in accord
          with subsection 6b.
      
          d) Convey the object code by offering access from a designated
          place (gratis or for a charge), and offer equivalent access to the
          Corresponding Source in the same way through the same place at no
          further charge.  You need not require recipients to copy the
          Corresponding Source along with the object code.  If the place to
          copy the object code is a network server, the Corresponding Source
          may be on a different server (operated by you or a third party)
          that supports equivalent copying facilities, provided you maintain
          clear directions next to the object code saying where to find the
          Corresponding Source.  Regardless of what server hosts the
          Corresponding Source, you remain obligated to ensure that it is
          available for as long as needed to satisfy these requirements.
      
          e) Convey the object code using peer-to-peer transmission, provided
          you inform other peers where the object code and Corresponding
          Source of the work are being offered to the general public at no
          charge under subsection 6d.
      
        A separable portion of the object code, whose source code is excluded
      from the Corresponding Source as a System Library, need not be
      included in conveying the object code work.
      
        A "User Product" is either (1) a "consumer product", which means any
      tangible personal property which is normally used for personal, family,
      or household purposes, or (2) anything designed or sold for incorporation
      into a dwelling.  In determining whether a product is a consumer product,
      doubtful cases shall be resolved in favor of coverage.  For a particular
      product received by a particular user, "normally used" refers to a
      typical or common use of that class of product, regardless of the status
      of the particular user or of the way in which the particular user
      actually uses, or expects or is expected to use, the product.  A product
      is a consumer product regardless of whether the product has substantial
      commercial, industrial or non-consumer uses, unless such uses represent
      the only significant mode of use of the product.
      
        "Installation Information" for a User Product means any methods,
      procedures, authorization keys, or other information required to install
      and execute modified versions of a covered work in that User Product from
      a modified version of its Corresponding Source.  The information must
      suffice to ensure that the continued functioning of the modified object
      code is in no case prevented or interfered with solely because
      modification has been made.
      
        If you convey an object code work under this section in, or with, or
      specifically for use in, a User Product, and the conveying occurs as
      part of a transaction in which the right of possession and use of the
      User Product is transferred to the recipient in perpetuity or for a
      fixed term (regardless of how the transaction is characterized), the
      Corresponding Source conveyed under this section must be accompanied
      by the Installation Information.  But this requirement does not apply
      if neither you nor any third party retains the ability to install
      modified object code on the User Product (for example, the work has
      been installed in ROM).
      
        The requirement to provide Installation Information does not include a
      requirement to continue to provide support service, warranty, or updates
      for a work that has been modified or installed by the recipient, or for
      the User Product in which it has been modified or installed.  Access to a
      network may be denied when the modification itself materially and
      adversely affects the operation of the network or violates the rules and
      protocols for communication across the network.
      
        Corresponding Source conveyed, and Installation Information provided,
      in accord with this section must be in a format that is publicly
      documented (and with an implementation available to the public in
      source code form), and must require no special password or key for
      unpacking, reading or copying.
      
        7. Additional Terms.
      
        "Additional permissions" are terms that supplement the terms of this
      License by making exceptions from one or more of its conditions.
      Additional permissions that are applicable to the entire Program shall
      be treated as though they were included in this License, to the extent
      that they are valid under applicable law.  If additional permissions
      apply only to part of the Program, that part may be used separately
      under those permissions, but the entire Program remains governed by
      this License without regard to the additional permissions.
      
        When you convey a copy of a covered work, you may at your option
      remove any additional permissions from that copy, or from any part of
      it.  (Additional permissions may be written to require their own
      removal in certain cases when you modify the work.)  You may place
      additional permissions on material, added by you to a covered work,
      for which you have or can give appropriate copyright permission.
      
        Notwithstanding any other provision of this License, for material you
      add to a covered work, you may (if authorized by the copyright holders of
      that material) supplement the terms of this License with terms:
      
          a) Disclaiming warranty or limiting liability differently from the
          terms of sections 15 and 16 of this License; or
      
          b) Requiring preservation of specified reasonable legal notices or
          author attributions in that material or in the Appropriate Legal
          Notices displayed by works containing it; or
      
          c) Prohibiting misrepresentation of the origin of that material, or
          requiring that modified versions of such material be marked in
          reasonable ways as different from the original version; or
      
          d) Limiting the use for publicity purposes of names of licensors or
          authors of the material; or
      
          e) Declining to grant rights under trademark law for use of some
          trade names, trademarks, or service marks; or
      
          f) Requiring indemnification of licensors and authors of that
          material by anyone who conveys the material (or modified versions of
          it) with contractual assumptions of liability to the recipient, for
          any liability that these contractual assumptions directly impose on
          those licensors and authors.
      
        All other non-permissive additional terms are considered "further
      restrictions" within the meaning of section 10.  If the Program as you
      received it, or any part of it, contains a notice stating that it is
      governed by this License along with a term that is a further
      restriction, you may remove that term.  If a license document contains
      a further restriction but permits relicensing or conveying under this
      License, you may add to a covered work material governed by the terms
      of that license document, provided that the further restriction does
      not survive such relicensing or conveying.
      
        If you add terms to a covered work in accord with this section, you
      must place, in the relevant source files, a statement of the
      additional terms that apply to those files, or a notice indicating
      where to find the applicable terms.
      
        Additional terms, permissive or non-permissive, may be stated in the
      form of a separately written license, or stated as exceptions;
      the above requirements apply either way.
      
        8. Termination.
      
        You may not propagate or modify a covered work except as expressly
      provided under this License.  Any attempt otherwise to propagate or
      modify it is void, and will automatically terminate your rights under
      this License (including any patent licenses granted under the third
      paragraph of section 11).
      
        However, if you cease all violation of this License, then your
      license from a particular copyright holder is reinstated (a)
      provisionally, unless and until the copyright holder explicitly and
      finally terminates your license, and (b) permanently, if the copyright
      holder fails to notify you of the violation by some reasonable means
      prior to 60 days after the cessation.
      
        Moreover, your license from a particular copyright holder is
      reinstated permanently if the copyright holder notifies you of the
      violation by some reasonable means, this is the first time you have
      received notice of violation of this License (for any work) from that
      copyright holder, and you cure the violation prior to 30 days after
      your receipt of the notice.
      
        Termination of your rights under this section does not terminate the
      licenses of parties who have received copies or rights from you under
      this License.  If your rights have been terminated and not permanently
      reinstated, you do not qualify to receive new licenses for the same
      material under section 10.
      
        9. Acceptance Not Required for Having Copies.
      
        You are not required to accept this License in order to receive or
      run a copy of the Program.  Ancillary propagation of a covered work
      occurring solely as a consequence of using peer-to-peer transmission
      to receive a copy likewise does not require acceptance.  However,
      nothing other than this License grants you permission to propagate or
      modify any covered work.  These actions infringe copyright if you do
      not accept this License.  Therefore, by modifying or propagating a
      covered work, you indicate your acceptance of this License to do so.
      
        10. Automatic Licensing of Downstream Recipients.
      
        Each time you convey a covered work, the recipient automatically
      receives a license from the original licensors, to run, modify and
      propagate that work, subject to this License.  You are not responsible
      for enforcing compliance by third parties with this License.
      
        An "entity transaction" is a transaction transferring control of an
      organization, or substantially all assets of one, or subdividing an
      organization, or merging organizations.  If propagation of a covered
      work results from an entity transaction, each party to that
      transaction who receives a copy of the work also receives whatever
      licenses to the work the party's predecessor in interest had or could
      give under the previous paragraph, plus a right to possession of the
      Corresponding Source of the work from the predecessor in interest, if
      the predecessor has it or can get it with reasonable efforts.
      
        You may not impose any further restrictions on the exercise of the
      rights granted or affirmed under this License.  For example, you may
      not impose a license fee, royalty, or other charge for exercise of
      rights granted under this License, and you may not initiate litigation
      (including a cross-claim or counterclaim in a lawsuit) alleging that
      any patent claim is infringed by making, using, selling, offering for
      sale, or importing the Program or any portion of it.
      
        11. Patents.
      
        A "contributor" is a copyright holder who authorizes use under this
      License of the Program or a work on which the Program is based.  The
      work thus licensed is called the contributor's "contributor version".
      
        A contributor's "essential patent claims" are all patent claims
      owned or controlled by the contributor, whether already acquired or
      hereafter acquired, that would be infringed by some manner, permitted
      by this License, of making, using, or selling its contributor version,
      but do not include claims that would be infringed only as a
      consequence of further modification of the contributor version.  For
      purposes of this definition, "control" includes the right to grant
      patent sublicenses in a manner consistent with the requirements of
      this License.
      
        Each contributor grants you a non-exclusive, worldwide, royalty-free
      patent license under the contributor's essential patent claims, to
      make, use, sell, offer for sale, import and otherwise run, modify and
      propagate the contents of its contributor version.
      
        In the following three paragraphs, a "patent license" is any express
      agreement or commitment, however denominated, not to enforce a patent
      (such as an express permission to practice a patent or covenant not to
      sue for patent infringement).  To "grant" such a patent license to a
      party means to make such an agreement or commitment not to enforce a
      patent against the party.
      
        If you convey a covered work, knowingly relying on a patent license,
      and the Corresponding Source of the work is not available for anyone
      to copy, free of charge and under the terms of this License, through a
      publicly available network server or other readily accessible means,
      then you must either (1) cause the Corresponding Source to be so
      available, or (2) arrange to deprive yourself of the benefit of the
      patent license for this particular work, or (3) arrange, in a manner
      consistent with the requirements of this License, to extend the patent
      license to downstream recipients.  "Knowingly relying" means you have
      actual knowledge that, but for the patent license, your conveying the
      covered work in a country, or your recipient's use of the covered work
      in a country, would infringe one or more identifiable patents in that
      country that you have reason to believe are valid.
      
        If, pursuant to or in connection with a single transaction or
      arrangement, you convey, or propagate by procuring conveyance of, a
      covered work, and grant a patent license to some of the parties
      receiving the covered work authorizing them to use, propagate, modify
      or convey a specific copy of the covered work, then the patent license
      you grant is automatically extended to all recipients of the covered
      work and works based on it.
      
        A patent license is "discriminatory" if it does not include within
      the scope of its coverage, prohibits the exercise of, or is
      conditioned on the non-exercise of one or more of the rights that are
      specifically granted under this License.  You may not convey a covered
      work if you are a party to an arrangement with a third party that is
      in the business of distributing software, under which you make payment
      to the third party based on the extent of your activity of conveying
      the work, and under which the third party grants, to any of the
      parties who would receive the covered work from you, a discriminatory
      patent license (a) in connection with copies of the covered work
      conveyed by you (or copies made from those copies), or (b) primarily
      for and in connection with specific products or compilations that
      contain the covered work, unless you entered into that arrangement,
      or that patent license was granted, prior to 28 March 2007.
      
        Nothing in this License shall be construed as excluding or limiting
      any implied license or other defenses to infringement that may
      otherwise be available to you under applicable patent law.
      
        12. No Surrender of Others' Freedom.
      
        If conditions are imposed on you (whether by court order, agreement or
      otherwise) that contradict the conditions of this License, they do not
      excuse you from the conditions of this License.  If you cannot convey a
      covered work so as to satisfy simultaneously your obligations under this
      License and any other pertinent obligations, then as a consequence you may
      not convey it at all.  For example, if you agree to terms that obligate you
      to collect a royalty for further conveying from those to whom you convey
      the Program, the only way you could satisfy both those terms and this
      License would be to refrain entirely from conveying the Program.
      
        13. Use with the GNU Affero General Public License.
      
        Notwithstanding any other provision of this License, you have
      permission to link or combine any covered work with a work licensed
      under version 3 of the GNU Affero General Public License into a single
      combined work, and to convey the resulting work.  The terms of this
      License will continue to apply to the part which is the covered work,
      but the special requirements of the GNU Affero General Public License,
      section 13, concerning interaction through a network will apply to the
      combination as such.
      
        14. Revised Versions of this License.
      
        The Free Software Foundation may publish revised and/or new versions of
      the GNU General Public License from time to time.  Such new versions will
      be similar in spirit to the present version, but may differ in detail to
      address new problems or concerns.
      
        Each version is given a distinguishing version number.  If the
      Program specifies that a certain numbered version of the GNU General
      Public License "or any later version" applies to it, you have the
      option of following the terms and conditions either of that numbered
      version or of any later version published by the Free Software
      Foundation.  If the Program does not specify a version number of the
      GNU General Public License, you may choose any version ever published
      by the Free Software Foundation.
      
        If the Program specifies that a proxy can decide which future
      versions of the GNU General Public License can be used, that proxy's
      public statement of acceptance of a version permanently authorizes you
      to choose that version for the Program.
      
        Later license versions may give you additional or different
      permissions.  However, no additional obligations are imposed on any
      author or copyright holder as a result of your choosing to follow a
      later version.
      
        15. Disclaimer of Warranty.
      
        THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
      APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
      HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
      OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
      THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
      PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
      IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
      ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
      
        16. Limitation of Liability.
      
        IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
      WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
      THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
      GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
      USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
      DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
      PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
      EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
      SUCH DAMAGES.
      
        17. Interpretation of Sections 15 and 16.
      
        If the disclaimer of warranty and limitation of liability provided
      above cannot be given local legal effect according to their terms,
      reviewing courts shall apply local law that most closely approximates
      an absolute waiver of all civil liability in connection with the
      Program, unless a warranty or assumption of liability accompanies a
      copy of the Program in return for a fee.
      
                           END OF TERMS AND CONDITIONS
      
                  How to Apply These Terms to Your New Programs
      
        If you develop a new program, and you want it to be of the greatest
      possible use to the public, the best way to achieve this is to make it
      free software which everyone can redistribute and change under these terms.
      
        To do so, attach the following notices to the program.  It is safest
      to attach them to the start of each source file to most effectively
      state the exclusion of warranty; and each file should have at least
      the "copyright" line and a pointer to where the full notice is found.
      
          
          Copyright (C)   
      
          This program is free software: you can redistribute it and/or modify
          it under the terms of the GNU General Public License as published by
          the Free Software Foundation, either version 3 of the License, or
          (at your option) any later version.
      
          This program is distributed in the hope that it will be useful,
          but WITHOUT ANY WARRANTY; without even the implied warranty of
          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
          GNU General Public License for more details.
      
          You should have received a copy of the GNU General Public License
          along with this program.  If not, see .
      
      Also add information on how to contact you by electronic and paper mail.
      
        If the program does terminal interaction, make it output a short
      notice like this when it starts in an interactive mode:
      
            Copyright (C)   
          This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
          This is free software, and you are welcome to redistribute it
          under certain conditions; type `show c' for details.
      
      The hypothetical commands `show w' and `show c' should show the appropriate
      parts of the General Public License.  Of course, your program's commands
      might be different; for a GUI interface, you would use an "about box".
      
        You should also get your employer (if you work as a programmer) or school,
      if any, to sign a "copyright disclaimer" for the program, if necessary.
      For more information on this, and how to apply and follow the GNU GPL, see
      .
      
        The GNU General Public License does not permit incorporating your program
      into proprietary programs.  If your program is a subroutine library, you
      may consider it more useful to permit linking proprietary applications with
      the library.  If this is what you want to do, use the GNU Lesser General
      Public License instead of this License.  But first, please read
      .
      geany-plugins-1.27/pohelper/ChangeLog0000644000175000017500000000000012671261352020076 0ustar00frlanfrlan00000000000000geany-plugins-1.27/pohelper/src/0000755000175000017500000000000012671261443017126 5ustar00frlanfrlan00000000000000geany-plugins-1.27/pohelper/src/Makefile.in0000644000175000017500000007133412671261403021177 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = pohelper/src
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(geanypluginsdir)"
      LTLIBRARIES = $(geanyplugins_LTLIBRARIES)
      am__DEPENDENCIES_1 =
      am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
      pohelper_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
      am_pohelper_la_OBJECTS = pohelper_la-gph-plugin.lo
      pohelper_la_OBJECTS = $(am_pohelper_la_OBJECTS)
      AM_V_lt = $(am__v_lt_@AM_V@)
      am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
      am__v_lt_0 = --silent
      am__v_lt_1 = 
      pohelper_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(pohelper_la_CFLAGS) \
      	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
      depcomp = $(SHELL) $(top_srcdir)/depcomp
      am__depfiles_maybe = depfiles
      am__mv = mv -f
      COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
      	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
      LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
      	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
      	$(AM_CFLAGS) $(CFLAGS)
      AM_V_CC = $(am__v_CC_@AM_V@)
      am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
      am__v_CC_0 = @echo "  CC      " $@;
      am__v_CC_1 = 
      CCLD = $(CC)
      LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
      	$(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_CCLD = $(am__v_CCLD_@AM_V@)
      am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
      am__v_CCLD_0 = @echo "  CCLD    " $@;
      am__v_CCLD_1 = 
      SOURCES = $(pohelper_la_SOURCES)
      DIST_SOURCES = $(pohelper_la_SOURCES)
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/cppcheck.mk \
      	$(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      @MINGW_FALSE@GP_PREFIX = $(prefix)
      @MINGW_TRUE@GP_PREFIX = .
      @MINGW_FALSE@GP_DATADIR = $(datadir)
      @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share
      @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR)
      @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale
      @MINGW_FALSE@GP_DOCDIR = $(docdir)
      @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE)
      @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir)
      @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE)
      @MINGW_FALSE@GP_LIBDIR = $(libdir)
      @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib
      @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir)
      @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE)
      LOCAL_AM_CFLAGS = \
      	-DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \
      	-DPREFIX=\""$(GP_PREFIX)"\" \
      	-DDOCDIR=\""$(GP_DOCDIR)"\" \
      	-DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \
      	-DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \
      	-DLIBDIR=\""$(GP_LIBDIR)"\" \
      	-DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \
      	-DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \
      	-DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \
      	-DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \
      	-DPLUGIN="\"$(plugin)\""
      
      AM_CFLAGS = \
      	${LOCAL_AM_CFLAGS} \
      	$(GEANY_CFLAGS) \
      	$(GP_CFLAGS)
      
      AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS)
      COMMONLIBS = \
      	$(GEANY_LIBS) \
      	$(INTLLIBS)
      
      plugin = pohelper
      geanyplugins_LTLIBRARIES = pohelper.la
      pohelper_la_SOURCES = gph-plugin.c
      pohelper_la_CPPFLAGS = $(AM_CPPFLAGS) \
                              -DG_LOG_DOMAIN=\"PoHelper\"
      
      pohelper_la_CFLAGS = $(AM_CFLAGS)
      pohelper_la_LIBADD = $(COMMONLIBS)
      all: all-am
      
      .SUFFIXES:
      .SUFFIXES: .c .lo .o .obj
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign pohelper/src/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign pohelper/src/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES)
      	@$(NORMAL_INSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	list2=; for p in $$list; do \
      	  if test -f $$p; then \
      	    list2="$$list2 $$p"; \
      	  else :; fi; \
      	done; \
      	test -z "$$list2" || { \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \
      	}
      
      uninstall-geanypluginsLTLIBRARIES:
      	@$(NORMAL_UNINSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	for p in $$list; do \
      	  $(am__strip_dir) \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \
      	done
      
      clean-geanypluginsLTLIBRARIES:
      	-test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES)
      	@list='$(geanyplugins_LTLIBRARIES)'; \
      	locs=`for p in $$list; do echo $$p; done | \
      	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
      	      sort -u`; \
      	test -z "$$locs" || { \
      	  echo rm -f $${locs}; \
      	  rm -f $${locs}; \
      	}
      
      pohelper.la: $(pohelper_la_OBJECTS) $(pohelper_la_DEPENDENCIES) $(EXTRA_pohelper_la_DEPENDENCIES) 
      	$(AM_V_CCLD)$(pohelper_la_LINK) -rpath $(geanypluginsdir) $(pohelper_la_OBJECTS) $(pohelper_la_LIBADD) $(LIBS)
      
      mostlyclean-compile:
      	-rm -f *.$(OBJEXT)
      
      distclean-compile:
      	-rm -f *.tab.c
      
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pohelper_la-gph-plugin.Plo@am__quote@
      
      .c.o:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
      
      .c.obj:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
      
      .c.lo:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
      @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
      
      pohelper_la-gph-plugin.lo: gph-plugin.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pohelper_la_CPPFLAGS) $(CPPFLAGS) $(pohelper_la_CFLAGS) $(CFLAGS) -MT pohelper_la-gph-plugin.lo -MD -MP -MF $(DEPDIR)/pohelper_la-gph-plugin.Tpo -c -o pohelper_la-gph-plugin.lo `test -f 'gph-plugin.c' || echo '$(srcdir)/'`gph-plugin.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pohelper_la-gph-plugin.Tpo $(DEPDIR)/pohelper_la-gph-plugin.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gph-plugin.c' object='pohelper_la-gph-plugin.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(pohelper_la_CPPFLAGS) $(CPPFLAGS) $(pohelper_la_CFLAGS) $(CFLAGS) -c -o pohelper_la-gph-plugin.lo `test -f 'gph-plugin.c' || echo '$(srcdir)/'`gph-plugin.c
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-am
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-am
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-am
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      @HAVE_CPPCHECK_FALSE@check-local:
      check-am: all-am
      	$(MAKE) $(AM_MAKEFLAGS) check-local
      check: check-am
      all-am: Makefile $(LTLIBRARIES)
      installdirs:
      	for dir in "$(DESTDIR)$(geanypluginsdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-am
      install-exec: install-exec-am
      install-data: install-data-am
      uninstall: uninstall-am
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-am
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-am
      
      clean-am: clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \
      	mostlyclean-am
      
      distclean: distclean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      distclean-am: clean-am distclean-compile distclean-generic \
      	distclean-tags
      
      dvi: dvi-am
      
      dvi-am:
      
      html: html-am
      
      html-am:
      
      info: info-am
      
      info-am:
      
      install-data-am: install-geanypluginsLTLIBRARIES
      
      install-dvi: install-dvi-am
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-am
      
      install-html-am:
      
      install-info: install-info-am
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-am
      
      install-pdf-am:
      
      install-ps: install-ps-am
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-am
      
      mostlyclean-am: mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool
      
      pdf: pdf-am
      
      pdf-am:
      
      ps: ps-am
      
      ps-am:
      
      uninstall-am: uninstall-geanypluginsLTLIBRARIES
      
      .MAKE: check-am install-am install-strip
      
      .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
      	clean-geanypluginsLTLIBRARIES clean-generic clean-libtool \
      	cscopelist-am ctags ctags-am distclean distclean-compile \
      	distclean-generic distclean-libtool distclean-tags distdir dvi \
      	dvi-am html html-am info info-am install install-am \
      	install-data install-data-am install-dvi install-dvi-am \
      	install-exec install-exec-am install-geanypluginsLTLIBRARIES \
      	install-html install-html-am install-info install-info-am \
      	install-man install-pdf install-pdf-am install-ps \
      	install-ps-am install-strip installcheck installcheck-am \
      	installdirs maintainer-clean maintainer-clean-generic \
      	mostlyclean mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
      	uninstall-am uninstall-geanypluginsLTLIBRARIES
      
      .PRECIOUS: Makefile
      
      
      @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir)
      @HAVE_CPPCHECK_TRUE@	$(CPPCHECK) \
      @HAVE_CPPCHECK_TRUE@		-q --template gcc --error-exitcode=2 \
      @HAVE_CPPCHECK_TRUE@		$(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \
      @HAVE_CPPCHECK_TRUE@		$(srcdir)
      
      @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/pohelper/src/Makefile.am0000644000175000017500000000053012671261352021157 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk
      plugin = pohelper
      
      geanyplugins_LTLIBRARIES = pohelper.la
      
      
      pohelper_la_SOURCES  = gph-plugin.c
      pohelper_la_CPPFLAGS = $(AM_CPPFLAGS) \
                              -DG_LOG_DOMAIN=\"PoHelper\"
      pohelper_la_CFLAGS   = $(AM_CFLAGS)
      pohelper_la_LIBADD   = $(COMMONLIBS)
      
      include $(top_srcdir)/build/cppcheck.mk
      geany-plugins-1.27/pohelper/src/gph-plugin.c0000644000175000017500000015052012671261352021346 0ustar00frlanfrlan00000000000000/*
       *  
       *  Copyright (C) 2013  Colomban Wendling 
       *  
       *  This program is free software: you can redistribute it and/or modify
       *  it under the terms of the GNU General Public License as published by
       *  the Free Software Foundation, either version 3 of the License, or
       *  (at your option) any later version.
       *  
       *  This program is distributed in the hope that it will be useful,
       *  but WITHOUT ANY WARRANTY; without even the implied warranty of
       *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       *  GNU General Public License for more details.
       *  
       *  You should have received a copy of the GNU General Public License
       *  along with this program.  If not, see .
       *  
       */
      
      #include "config.h"
      
      #include 
      #include 
      #include 
      
      #include 
      #include 
      #include 
      #include 
      
      
      GeanyPlugin      *geany_plugin;
      GeanyData        *geany_data;
      
      
      PLUGIN_VERSION_CHECK (224)
      
      PLUGIN_SET_TRANSLATABLE_INFO (
        LOCALEDIR, GETTEXT_PACKAGE,
        _("Translation Helper"),
        _("Improves support for GetText translation files."),
        "0.1",
        "Colomban Wendling "
      )
      
      
      enum {
        GPH_KB_GOTO_PREV,
        GPH_KB_GOTO_NEXT,
        GPH_KB_GOTO_PREV_UNTRANSLATED,
        GPH_KB_GOTO_NEXT_UNTRANSLATED,
        GPH_KB_GOTO_PREV_FUZZY,
        GPH_KB_GOTO_NEXT_FUZZY,
        GPH_KB_GOTO_PREV_UNTRANSLATED_OR_FUZZY,
        GPH_KB_GOTO_NEXT_UNTRANSLATED_OR_FUZZY,
        GPH_KB_PASTE_UNTRANSLATED,
        GPH_KB_REFLOW,
        GPH_KB_TOGGLE_FUZZY,
        GPH_KB_SHOW_STATS,
        GPH_KB_COUNT
      };
      
      
      static struct Plugin {
        gboolean update_headers;
        /* stats dialog colors */
        GdkColor color_translated;
        GdkColor color_fuzzy;
        GdkColor color_untranslated;
        
        GeanyKeyGroup *key_group;
        GtkWidget *menu_item;
      } plugin = {
        TRUE,
        { 0, 0x7373, 0xd2d2, 0x1616 }, /* tango mid green */
        { 0, 0xeded, 0xd4d4, 0x0000 }, /* tango mid yellow */
        { 0, 0xcccc, 0x0000, 0x0000 }, /* tango mid red */
        NULL,
        NULL
      };
      
      
      #define doc_is_po(doc) (DOC_VALID (doc) && \
                              (doc)->file_type && \
                              (doc)->file_type->id == GEANY_FILETYPES_PO)
      
      
      /* gets the smallest valid position between @a and @b */
      #define MIN_POS(a, b) ((a) < 0 ? (b) : (b) < 0 ? (a) : MIN ((a), (b)))
      /* gets the highest valid position between @a and @b */
      #define MAX_POS(a, b) (MAX ((a), (b)))
      
      
      /*
       * find_style:
       * @sci: a #ScintillaObject
       * @style: a style ID to search for
       * @start: start of the search range
       * @end: end of the search range
       * 
       * Search for a style in a #ScintillaObject.  Backward search is possible if
       * start is > end.  Note that this find the first occurrence of @style in the
       * search direction, which means that the start of the style will be found when
       * searching onwards but the end when searching backwards.  Also, if the start
       * position is already on the style to search for this position is returned
       * rather than one bound.
       * 
       * Returns: The first found position with style @style, or -1 if not found in
       *          the given range.
       */
      static gint
      find_style (ScintillaObject  *sci,
                  gint              style,
                  gint              start,
                  gint              end)
      {
        gint pos;
        
        if (start > end) {  /* search backwards */
          for (pos = start; pos >= end; pos--) {
            if (sci_get_style_at (sci, pos) == style)
              break;
          }
          if (pos < end)
            return -1;
        } else {
          for (pos = start; pos < end; pos++) {
            if (sci_get_style_at (sci, pos) == style)
              break;
          }
          if (pos >= end)
            return -1;
        }
        
        return pos;
      }
      
      /* like find_style(), but searches for the first style change from @start to
       * @end.  Returns the first position in the search direction with a style
       * different from the one at @start, or -1 */
      static gint
      find_style_boundary (ScintillaObject *sci,
                           gint             start,
                           gint             end)
      {
        gint style = sci_get_style_at (sci, start);
        gint pos;
        
        if (start > end) {  /* search backwards */
          for (pos = start; pos >= end; pos--) {
            if (sci_get_style_at (sci, pos) != style)
              break;
          }
          if (pos < end)
            return -1;
        } else {
          for (pos = start; pos < end; pos++) {
            if (sci_get_style_at (sci, pos) != style)
              break;
          }
          if (pos >= end)
            return -1;
        }
        
        return pos;
      }
      
      /*
       * find_message:
       * @doc: A #GeanyDocument
       * @start: start of the search range
       * @end: end of the search range
       * 
       * Finds the start position of the next msgstr in the given range.  If start is
       * > end, searches backwards.
       * 
       * Returns: The start position of the next msgstr in the given range, or -1 if
       *          not found.
       */
      static gint
      find_message (GeanyDocument  *doc,
                    gint            start,
                    gint            end)
      {
        if (doc_is_po (doc)) {
          ScintillaObject *sci = doc->editor->sci;
          gint pos = find_style (sci, SCE_PO_MSGSTR, start, end);
          
          /* if searching backwards and already in a msgstr style, search previous
           * again not to go to current's start */
          if (pos >= 0 && start > end) {
            gint style = sci_get_style_at (sci, start);
            
            /* don't take default style into account, so find previous non-default */
            if (style == SCE_PO_DEFAULT) {
              gint style_pos = find_style_boundary (sci, start, end);
              if (style_pos >= 0) {
                style = sci_get_style_at (sci, style_pos);
              }
            }
            
            if (style == SCE_PO_MSGSTR ||
                style == SCE_PO_MSGSTR_TEXT ||
                style == SCE_PO_MSGSTR_TEXT_EOL) {
              pos = find_style_boundary (sci, pos, end);
              if (pos >= 0) {
                pos = find_style (sci, SCE_PO_MSGSTR, pos, end);
              }
            }
          }
          
          if (pos >= 0) {
            pos = find_style (sci, SCE_PO_MSGSTR_TEXT, pos, sci_get_length (sci));
            if (pos >= 0) {
              return pos + 1;
            } 
          }
        }
        
        return -1;
      }
      
      /*
       * find_untranslated:
       * @doc: A #GeanyDocument
       * @start: start of the search range
       * @end: end of the search range
       * 
       * Searches for the next untranslated message in the given range.  If start is
       * > end, searches backwards.
       * 
       * Returns: The start position of the next untranslated message in the given
       *          range, or -1 if not found.
       */
      static gint
      find_untranslated (GeanyDocument *doc,
                         gint           start,
                         gint           end)
      {
        if (doc_is_po (doc)) {
          ScintillaObject *sci = doc->editor->sci;
          
          while (start >= 0) {
            gint pos;
            
            pos = find_message (doc, start, end);
            if (pos < 0) {
              return -1;
            } else {
              gint i = pos;
              
              for (i = pos; i < sci_get_length (sci); i++) {
                gint style = sci_get_style_at (sci, i);
                
                if (style == SCE_PO_MSGSTR_TEXT) {
                  if (sci_get_char_at (sci, i) != '"') {
                    /* if any character in the text is not a delimiter, there's a
                     * translation */
                    i = -1;
                    break;
                  }
                } else if (style != SCE_PO_DEFAULT) {
                  /* if we reached something else than the text and the background,
                   * we're done searching */
                  break;
                }
              }
              if (i >= 0)
                return pos;
            }
            
            start = pos;
          }
        }
        
        return -1;
      }
      
      static gint
      find_prev_untranslated (GeanyDocument  *doc)
      {
        return find_untranslated (doc, sci_get_current_position (doc->editor->sci),
                                  0);
      }
      
      static gint
      find_next_untranslated (GeanyDocument  *doc)
      {
        return find_untranslated (doc, sci_get_current_position (doc->editor->sci),
                                  sci_get_length (doc->editor->sci));
      }
      
      static gint
      find_fuzzy (GeanyDocument  *doc,
                  gint            start,
                  gint            end)
      {
        if (doc_is_po (doc)) {
          ScintillaObject *sci = doc->editor->sci;
          
          if (start > end) {
            /* if searching backwards, first go to the previous msgstr not to find
             * the current one */
            gint style = sci_get_style_at (sci, start);
            
            if (style == SCE_PO_MSGSTR || style == SCE_PO_MSGSTR_TEXT) {
              start = find_style (sci, SCE_PO_MSGID, start, end);
              if (start >= 0) {
                start = find_style (sci, SCE_PO_MSGSTR, start, end);
              }
            }
          }
          
          if (start >= 0) {
            struct Sci_TextToFind ttf;
            
            ttf.chrg.cpMin = start;
            ttf.chrg.cpMax = end;
            ttf.lpstrText = (gchar *)"fuzzy";
            
            while (sci_find_text (sci, SCFIND_WHOLEWORD | SCFIND_MATCHCASE,
                                  &ttf) >= 0) {
              gint style = sci_get_style_at (sci, (gint) ttf.chrgText.cpMin);
              
              if (style == SCE_PO_FUZZY || style == SCE_PO_FLAGS) {
                /* OK, now find the start of the translation */
                return find_message (doc, (gint) ttf.chrgText.cpMax,
                                     start > end ? sci_get_length (sci) : end);
              }
              
              ttf.chrg.cpMin = start > end ? ttf.chrgText.cpMin : ttf.chrgText.cpMax;
            }
          }
        }
        
        return -1;
      }
      
      static gint
      find_prev_fuzzy (GeanyDocument *doc)
      {
        return find_fuzzy (doc, sci_get_current_position (doc->editor->sci), 0);
      }
      
      static gint
      find_next_fuzzy (GeanyDocument *doc)
      {
        return find_fuzzy (doc, sci_get_current_position (doc->editor->sci),
                           sci_get_length (doc->editor->sci));
      }
      
      /* goto */
      
      static void
      goto_prev (GeanyDocument *doc)
      {
        if (doc_is_po (doc)) {
          gint pos = find_message (doc, sci_get_current_position (doc->editor->sci),
                                   0);
          
          if (pos >= 0) {
            editor_goto_pos (doc->editor, pos, FALSE);
          }
        }
      }
      
      static void
      goto_next (GeanyDocument *doc)
      {
        if (doc_is_po (doc)) {
          gint pos = find_message (doc, sci_get_current_position (doc->editor->sci),
                                   sci_get_length (doc->editor->sci));
          
          if (pos >= 0) {
            editor_goto_pos (doc->editor, pos, FALSE);
          }
        }
      }
      
      static void
      goto_prev_untranslated (GeanyDocument *doc)
      {
        if (doc_is_po (doc)) {
          gint pos = find_prev_untranslated (doc);
          
          if (pos >= 0) {
            editor_goto_pos (doc->editor, pos, FALSE);
          }
        }
      }
      
      static void
      goto_next_untranslated (GeanyDocument *doc)
      {
        if (doc_is_po (doc)) {
          gint pos = find_next_untranslated (doc);
          
          if (pos >= 0) {
            editor_goto_pos (doc->editor, pos, FALSE);
          }
        }
      }
      
      static void
      goto_prev_fuzzy (GeanyDocument *doc)
      {
        if (doc_is_po (doc)) {
          gint pos = find_prev_fuzzy (doc);
          
          if (pos >= 0) {
            editor_goto_pos (doc->editor, pos, FALSE);
          }
        }
      }
      
      static void
      goto_next_fuzzy (GeanyDocument *doc)
      {
        if (doc_is_po (doc)) {
          gint pos = find_next_fuzzy (doc);
          
          if (pos >= 0) {
            editor_goto_pos (doc->editor, pos, FALSE);
          }
        }
      }
      
      static void
      goto_prev_untranslated_or_fuzzy (GeanyDocument *doc)
      {
        if (doc_is_po (doc)) {
          gint pos1 = find_prev_untranslated (doc);
          gint pos2 = find_prev_fuzzy (doc);
          gint pos = MAX_POS (pos1, pos2);
          
          if (pos >= 0) {
            editor_goto_pos (doc->editor, pos, FALSE);
          }
        }
      }
      
      static void
      goto_next_untranslated_or_fuzzy (GeanyDocument *doc)
      {
        if (doc_is_po (doc)) {
          gint pos1 = find_next_untranslated (doc);
          gint pos2 = find_next_fuzzy (doc);
          gint pos = MIN_POS (pos1, pos2);
          
          if (pos >= 0) {
            editor_goto_pos (doc->editor, pos, FALSE);
          }
        }
      }
      
      /* basic regex search/replace without captures or back references */
      static gboolean
      regex_replace (ScintillaObject *sci,
                     const gchar     *scire,
                     const gchar     *repl)
      {
        struct Sci_TextToFind ttf;
        
        ttf.chrg.cpMin = 0;
        ttf.chrg.cpMax = sci_get_length (sci);
        ttf.lpstrText = (gchar *) scire;
        
        if (sci_find_text (sci, SCFIND_REGEXP, &ttf)) {
          sci_set_target_start (sci, (gint) ttf.chrgText.cpMin);
          sci_set_target_end (sci, (gint) ttf.chrgText.cpMax);
          sci_replace_target (sci, repl, FALSE);
          
          return TRUE;
        }
        
        return FALSE;
      }
      
      /* escapes @str so it is valid to put it inside a message
       * escapes '\b', '\f', '\n', '\r', '\t', '\v', '\' and '"'
       * unlike g_strescape(), it doesn't escape non-ASCII characters so keeps
       * all of UTF-8 */
      static gchar *
      escape_string (const gchar *str)
      {
        gchar *new = g_malloc (strlen (str) * 2 + 1);
        gchar *p;
        
        for (p = new; *str; str++) {
          switch (*str) {
            case '\b': *p++ = '\\'; *p++ = 'b'; break;
            case '\f': *p++ = '\\'; *p++ = 'f'; break;
            case '\n': *p++ = '\\'; *p++ = 'n'; break;
            case '\r': *p++ = '\\'; *p++ = 'r'; break;
            case '\t': *p++ = '\\'; *p++ = 't'; break;
            case '\v': *p++ = '\\'; *p++ = 'v'; break;
            case '\\': *p++ = '\\'; *p++ = '\\'; break;
            case '"':  *p++ = '\\'; *p++ = '"'; break;
            default:
              *p++ = *str;
          }
        }
        *p = 0;
        
        return new;
      }
      
      static void
      on_document_save (GObject        *obj,
                        GeanyDocument  *doc,
                        gpointer        user_data)
      {
        if (doc_is_po (doc) && plugin.update_headers) {
          gchar *name = escape_string (geany_data->template_prefs->developer);
          gchar *mail = escape_string (geany_data->template_prefs->mail);
          gchar *date;
          gchar *translator;
          
          date = utils_get_date_time ("\"PO-Revision-Date: %Y-%m-%d %H:%M%z\\n\"",
                                      NULL);
          translator = g_strdup_printf ("\"Last-Translator: %s <%s>\\n\"",
                                        name, mail);
          
          sci_start_undo_action (doc->editor->sci);
          regex_replace (doc->editor->sci, "^\"PO-Revision-Date: .*\"$", date);
          regex_replace (doc->editor->sci, "^\"Last-Translator: .*\"$", translator);
          sci_end_undo_action (doc->editor->sci);
          
          g_free (date);
          g_free (translator);
          g_free (name);
          g_free (mail);
        }
      }
      
      static void
      update_menu_items_sensitivity (GeanyDocument *doc)
      {
        gboolean sensitive = doc_is_po (doc);
        guint i;
        
        /* since all the document-sensitive items have keybindings and all
         * keybinginds that have a widget are document-sensitive, just walk
         * the keybindings list to fetch the widgets */
        for (i = 0; i < GPH_KB_COUNT; i++) {
          GeanyKeyBinding *kb = keybindings_get_item (plugin.key_group, i);
          
          if (kb->menu_item) {
            gtk_widget_set_sensitive (kb->menu_item, sensitive);
          }
        }
      }
      
      static void
      on_document_activate (GObject        *obj,
                            GeanyDocument  *doc,
                            gpointer        user_data)
      {
        update_menu_items_sensitivity (doc);
      }
      
      static void
      on_document_filetype_set (GObject        *obj,
                                GeanyDocument  *doc,
                                GeanyFiletype  *old_ft,
                                gpointer        user_data)
      {
        update_menu_items_sensitivity (doc);
      }
      
      static void
      on_document_close (GObject       *obj,
                         GeanyDocument *doc,
                         gpointer       user_data)
      {
        GtkNotebook *nb = GTK_NOTEBOOK (geany_data->main_widgets->notebook);
        
        /* the :document-close signal is emitted before a document gets closed,
         * so there always still is the current document open (hence the < 2) */
        if (gtk_notebook_get_n_pages (nb) < 2) {
          update_menu_items_sensitivity (NULL);
        }
      }
      
      static void
      on_kb_goto_prev (guint key_id)
      {
        goto_prev (document_get_current ());
      }
      
      static void
      on_kb_goto_next (guint key_id)
      {
        goto_next (document_get_current ());
      }
      
      static void
      on_kb_goto_prev_untranslated (guint key_id)
      {
        goto_prev_untranslated (document_get_current ());
      }
      
      static void
      on_kb_goto_next_untranslated (guint key_id)
      {
        goto_next_untranslated (document_get_current ());
      }
      
      static void
      on_kb_goto_prev_fuzzy (guint key_id)
      {
        goto_prev_fuzzy (document_get_current ());
      }
      
      static void
      on_kb_goto_next_fuzzy (guint key_id)
      {
        goto_next_fuzzy (document_get_current ());
      }
      
      static void
      on_kb_goto_prev_untranslated_or_fuzzy (guint key_id)
      {
        goto_prev_untranslated_or_fuzzy (document_get_current ());
      }
      
      static void
      on_kb_goto_next_untranslated_or_fuzzy (guint key_id)
      {
        goto_next_untranslated_or_fuzzy (document_get_current ());
      }
      
      /*
       * on_kb_paste_untranslated:
       * @key_id: unused
       * 
       * Replaces the msgstr at the current position with it corresponding msgid.
       */
      static void
      on_kb_paste_untranslated (guint key_id)
      {
        GeanyDocument *doc = document_get_current ();
        
        if (doc_is_po (doc)) {
          ScintillaObject *sci = doc->editor->sci;
          gint pos = sci_get_current_position (sci);
          gint style = sci_get_style_at (sci, pos);
          
          while (pos > 0 && style == SCE_PO_DEFAULT) {
            style = sci_get_style_at (sci, --pos);
          }
          
          if (style == SCE_PO_MSGID_TEXT ||
              style == SCE_PO_MSGSTR ||
              style == SCE_PO_MSGSTR_TEXT) {
            pos = find_style (sci, SCE_PO_MSGID, pos, 0);
            if (pos >= 0)
              style = SCE_PO_MSGID;
          }
          
          if (style == SCE_PO_MSGID) {
            gint start = find_style (sci, SCE_PO_MSGID_TEXT,
                                     pos, sci_get_length (sci));
            
            if (start >= 0) {
              gchar *msgid;
              gint end = start;
              
              /* find msgid range and copy it */
              for (pos = start + 1; pos < sci_get_length (sci); pos++) {
                style = sci_get_style_at (sci, pos);
                if (style == SCE_PO_MSGID_TEXT)
                  end = pos;
                else if (style != SCE_PO_DEFAULT)
                  break;
              }
              
              if (end - start <= 2 /* 2 is because we include the quotes */) {
                /* don't allow replacing the header (empty) msgid */
              } else {
                msgid = sci_get_contents_range (sci, start, end);
                
                start = find_style (sci, SCE_PO_MSGSTR_TEXT, end,
                                    sci_get_length (sci));
                if (start >= 0) {
                  /* find msgstr range and replace it */
                  end = start;
                  sci_set_target_start (sci, start);
                  for (pos = start; pos < sci_get_length (sci); pos++) {
                    style = sci_get_style_at (sci, pos);
                    if (style == SCE_PO_MSGSTR_TEXT)
                      end = pos;
                    else if (style != SCE_PO_DEFAULT)
                      break;
                  }
                  sci_set_target_end (sci, end);
                  sci_replace_target (sci, msgid, FALSE);
                  scintilla_send_message (sci, SCI_GOTOPOS, (uptr_t) start + 1, 0);
                }
                g_free (msgid);
              }
            }
          }
        }
      }
      
      /* finds the start of the msgstr text at @pos.  the returned position is the
       * start of the msgstr text style, so it's on the first opening quote.  Returns
       * -1 if none found */
      static gint
      find_msgstr_start_at (GeanyDocument  *doc,
                            gint            pos)
      {
        if (doc_is_po (doc)) {
          ScintillaObject *sci = doc->editor->sci;
          gint style = sci_get_style_at (sci, pos);
          
          /* find the previous non-default style */
          while (pos > 0 && style == SCE_PO_DEFAULT) {
            style = sci_get_style_at (sci, --pos);
          }
          
          /* if a msgid or msgstr, go to the msgstr keyword */
          if (style == SCE_PO_MSGID ||
              style == SCE_PO_MSGID_TEXT ||
              style == SCE_PO_MSGSTR_TEXT) {
            pos = find_style (sci, SCE_PO_MSGSTR, pos,
                              style == SCE_PO_MSGSTR_TEXT ? 0 : sci_get_length (sci));
            if (pos >= 0)
              style = SCE_PO_MSGSTR;
          }
          
          if (style == SCE_PO_MSGSTR) {
            return find_style (sci, SCE_PO_MSGSTR_TEXT, pos, sci_get_length (sci));
          }
        }
        
        return -1;
      }
      
      /* like find_msgstr_start_at() but finds the end rather than the start */
      static gint
      find_msgstr_end_at (GeanyDocument  *doc,
                          gint            pos)
      {
        pos = find_msgstr_start_at (doc, pos);
        if (pos >= 0) {
          ScintillaObject *sci = doc->editor->sci;
          gint end = pos;
          
          for (; pos < sci_get_length (sci); pos++) {
            gint style = sci_get_style_at (sci, pos);
            
            if (style == SCE_PO_MSGSTR_TEXT)
              end = pos;
            else if (style != SCE_PO_DEFAULT)
              break;
          }
          
          return end;
        }
        
        return -1;
      }
      
      static GString *
      get_msgstr_text_at (GeanyDocument  *doc,
                          gint            pos)
      {
        pos = find_msgstr_start_at (doc, pos);
        
        if (pos >= 0) {
          ScintillaObject *sci = doc->editor->sci;
          GString *msgstr = g_string_new (NULL);
          gint length = sci_get_length (sci);
          
          while (sci_get_style_at (sci, pos) == SCE_PO_MSGSTR_TEXT) {
            pos++; /* skip opening quote */
            while (sci_get_style_at (sci, pos + 1) == SCE_PO_MSGSTR_TEXT) {
              g_string_append_c (msgstr, sci_get_char_at (sci, pos));
              pos++;
            }
            pos++; /* skip closing quote */
            
            /* skip until next non-default style */
            while (pos < length && sci_get_style_at (sci, pos) == SCE_PO_DEFAULT) {
              pos++;
            }
          }
          
          return msgstr;
        }
        
        return NULL;
      }
      
      /* finds the start of the msgid text at @pos.  the returned position is the
       * start of the msgid text style, so it's on the first opening quote.  Returns
       * -1 if none found */
      static gint
      find_msgid_start_at (GeanyDocument  *doc,
                           gint            pos)
      {
        if (doc_is_po (doc)) {
          ScintillaObject *sci = doc->editor->sci;
          gint style = sci_get_style_at (sci, pos);
          
          /* find the previous non-default style */
          while (pos > 0 && style == SCE_PO_DEFAULT) {
            style = sci_get_style_at (sci, --pos);
          }
          
          /* if a msgid or msgstr, go to the msgstr keyword */
          if (style == SCE_PO_MSGID_TEXT ||
              style == SCE_PO_MSGSTR ||
              style == SCE_PO_MSGSTR_TEXT) {
            pos = find_style (sci, SCE_PO_MSGID, pos, 0);
            if (pos >= 0)
              style = SCE_PO_MSGID;
          }
          
          if (style == SCE_PO_MSGID) {
            return find_style (sci, SCE_PO_MSGID_TEXT, pos, sci_get_length (sci));
          }
        }
        
        return -1;
      }
      
      static GString *
      get_msgid_text_at (GeanyDocument *doc,
                         gint           pos)
      {
        pos = find_msgid_start_at (doc, pos);
        
        if (pos >= 0) {
          ScintillaObject *sci = doc->editor->sci;
          GString *msgid = g_string_new (NULL);
          gint length = sci_get_length (sci);
          
          while (sci_get_style_at (sci, pos) == SCE_PO_MSGID_TEXT) {
            pos++; /* skip opening quote */
            while (sci_get_style_at (sci, pos + 1) == SCE_PO_MSGID_TEXT) {
              g_string_append_c (msgid, sci_get_char_at (sci, pos));
              pos++;
            }
            pos++; /* skip closing quote */
            
            /* skip until next non-default style */
            while (pos < length && sci_get_style_at (sci, pos) == SCE_PO_DEFAULT) {
              pos++;
            }
          }
          
          return msgid;
        }
        
        return NULL;
      }
      
      /* cuts @str in human-readable chunks for max @len.
       * cuts first at \n, then at spaces and punctuation */
      static gchar **
      split_msg (const gchar *str,
                 gsize        len)
      {
        GPtrArray *chunks = g_ptr_array_new ();
        
        while (*str) {
          GString *chunk = g_string_sized_new (len);
          
          while (*str) {
            const gchar *nl = strstr (str, "\\n");
            const gchar *p = strpbrk (str, " \t\v\r\n?!,.;:");
            glong chunk_len = g_utf8_strlen (chunk->str, (gssize) chunk->len);
            
            if (nl)
              nl += 2;
            
            if (p)
              p++;
            else /* if there is no separator, use the end of the string */
              p = strchr (str, 0);
            
            if (nl && ((gsize)(chunk_len + g_utf8_strlen (str, nl - str)) <= len ||
                       (nl < p && chunk->len == 0))) {
              g_string_append_len (chunk, str, nl - str);
              str = nl;
              break;
            } else if ((gsize)(chunk_len + g_utf8_strlen (str, p - str)) <= len ||
                       chunk->len == 0) {
              g_string_append_len (chunk, str, p - str);
              str = p;
            } else {
              /* give up and leave to next chunk */
              break;
            }
          }
          g_ptr_array_add (chunks, g_string_free (chunk, FALSE));
        }
        
        g_ptr_array_add (chunks, NULL);
        
        return (gchar **) g_ptr_array_free (chunks, FALSE);
      }
      
      static void
      on_kb_reflow (guint key_id)
      {
        GeanyDocument *doc = document_get_current ();
        
        if (doc_is_po (doc)) {
          ScintillaObject *sci = doc->editor->sci;
          gint pos = sci_get_current_position (sci);
          GString *msgstr = get_msgstr_text_at (doc, pos);
        
          if (msgstr) {
            gint start = find_msgstr_start_at (doc, pos);
            gint end = find_msgstr_end_at (doc, pos);
            glong len = g_utf8_strlen (msgstr->str, (gssize) msgstr->len);
            /* FIXME: line_break_column isn't supposedly public */
            gint line_len = geany_data->editor_prefs->line_break_column;
            gint msgstr_kw_len;
            
            /* if line break column doesn't have a reasonable value, don't use it */
            if (line_len < 8) {
              line_len = 72;
            }
            
            sci_start_undo_action (sci);
            scintilla_send_message (sci, SCI_DELETERANGE,
                                    (uptr_t) start, end + 1 - start);
            
            msgstr_kw_len = start - sci_get_position_from_line (sci, sci_get_line_from_position (sci, start));
            if (msgstr_kw_len + len + 2 <= line_len) {
              /* if all can go in the msgstr line, put it here */
              gchar *text = g_strconcat ("\"", msgstr->str, "\"", NULL);
              sci_insert_text (sci, start, text);
              g_free (text);
            } else {
              /* otherwise, put nothing on the msgstr line and split it up through
               * next ones */
              gchar **chunks = split_msg (msgstr->str, (gsize)(line_len - 2));
              guint i;
              
              sci_insert_text (sci, start, "\"\""); /* nothing on the msgstr line */
              start += 2;
              for (i = 0; chunks[i]; i++) {
                SETPTR (chunks[i], g_strconcat ("\n\"", chunks[i], "\"", NULL));
                sci_insert_text (sci, start, chunks[i]);
                start += (gint) strlen (chunks[i]);
              }
              
              g_strfreev (chunks);
            }
            
            scintilla_send_message (sci, SCI_GOTOPOS, (uptr_t) (start + 1), 0);
            sci_end_undo_action (sci);
            
            g_string_free (msgstr, TRUE);
          }
        }
      }
      
      /* returns the first non-default style on the line, or the default style if
       * there is no other on that line */
      static gint
      find_first_non_default_style_on_line (ScintillaObject  *sci,
                                            gint              line)
      {
        gint pos = sci_get_position_from_line (sci, line);
        gint end = sci_get_line_end_position (sci, line);
        gint style;
        
        do {
          style = sci_get_style_at (sci, pos++);
        } while (style == SCE_PO_DEFAULT && pos < end);
        
        return style;
      }
      
      /* checks whether @line is a primary msgid line, e.g. not a plural form */
      static gboolean
      line_is_primary_msgid (ScintillaObject *sci,
                             gint             line)
      {
        gint pos = (gint) scintilla_send_message (sci, SCI_GETLINEINDENTPOSITION,
                                                  (uptr_t) line, 0);
        
        return (sci_get_char_at (sci, pos++) == 'm' &&
                sci_get_char_at (sci, pos++) == 's' &&
                sci_get_char_at (sci, pos++) == 'g' &&
                sci_get_char_at (sci, pos++) == 'i' &&
                sci_get_char_at (sci, pos++) == 'd' &&
                g_ascii_isspace (sci_get_char_at (sci, pos)));
      }
      
      /* parse flags line @line and puts the read flags in @flags
       * a flags line looks like:
       * #, flag-1, flag-2, flag-2, ... */
      static void
      parse_flags_line (ScintillaObject  *sci,
                        gint              line,
                        GPtrArray        *flags)
      {
        gint start = sci_get_position_from_line (sci, line);
        gint end = sci_get_line_end_position (sci, line);
        gint pos;
        gint ws, we;
        gint ch;
        
        pos = start;
        /* skip leading space and markers */
        while (pos <= end && ((ch = sci_get_char_at (sci, pos)) == '#' ||
                              ch == ',' || g_ascii_isspace (ch))) {
          pos++;
        }
        /* and read the flags */
        for (ws = we = pos; pos <= end; pos++) {
          ch = sci_get_char_at (sci, pos);
          
          if (ch == ',' || g_ascii_isspace (ch) || pos >= end) {
            if (ws < we) {
              g_ptr_array_add (flags, sci_get_contents_range (sci, ws, we + 1));
            }
            ws = pos + 1;
          } else {
            we = pos;
          }
        }
      }
      
      static gint
      find_msgid_line_at (GeanyDocument  *doc,
                          gint            pos)
      {
        ScintillaObject *sci = doc->editor->sci;
        gint line = sci_get_line_from_position (sci, pos);
        gint style = find_first_non_default_style_on_line (sci, line);
        
        while (line > 0 &&
               (style == SCE_PO_DEFAULT ||
                (style == SCE_PO_MSGID && ! line_is_primary_msgid (sci, line)) ||
                style == SCE_PO_MSGID_TEXT ||
                style == SCE_PO_MSGSTR ||
                style == SCE_PO_MSGSTR_TEXT)) {
          line--;
          style = find_first_non_default_style_on_line (sci, line);
        }
        while (line < sci_get_line_count (sci) &&
               (style == SCE_PO_COMMENT ||
                style == SCE_PO_PROGRAMMER_COMMENT ||
                style == SCE_PO_REFERENCE ||
                style == SCE_PO_FLAGS ||
                style == SCE_PO_FUZZY)) {
          line++;
          style = find_first_non_default_style_on_line (sci, line);
        }
        
        return (style == SCE_PO_MSGID) ? line : -1;
      }
      
      static gint
      find_flags_line_at (GeanyDocument  *doc,
                          gint            pos)
      {
        gint line = find_msgid_line_at (doc, pos);
        
        if (line > 0) {
          gint style;
          
          do {
            line--;
            style = find_first_non_default_style_on_line (doc->editor->sci, line);
          } while (line > 0 &&
                   (style == SCE_PO_COMMENT ||
                    style == SCE_PO_PROGRAMMER_COMMENT ||
                    style == SCE_PO_REFERENCE));
          
          if (style != SCE_PO_FLAGS && style != SCE_PO_FUZZY) {
            line = -1;
          }
        }
        
        return line;
      }
      
      static GPtrArray *
      get_flags_at (GeanyDocument  *doc,
                    gint            pos)
      {
        GPtrArray *flags = NULL;
        gint line = find_flags_line_at (doc, pos);
        
        if (line >= 0) {
          flags = g_ptr_array_new_with_free_func (g_free);
          parse_flags_line (doc->editor->sci, line, flags);
        }
        
        return flags;
      }
      
      /* adds or remove @flag from @flags.  returns whether the flag was added */
      static gboolean
      toggle_flag (GPtrArray   *flags,
                   const gchar *flag)
      {
        gboolean add = TRUE;
        guint i;
        
        /* search for the flag and remove it */
        for (i = 0; i < flags->len; i++) {
          if (strcmp (g_ptr_array_index (flags, i), flag) == 0) {
            g_ptr_array_remove_index (flags, i);
            add = FALSE;
            break;
          }
        }
        /* if it wasntt there, add it */
        if (add) {
          g_ptr_array_add (flags, g_strdup (flag));
        }
        
        return add;
      }
      
      /* writes a flags line at @pos containgin @flags */
      static void
      write_flags (ScintillaObject *sci,
                   gint             pos,
                   GPtrArray       *flags)
      {
        if (flags->len > 0) {
          guint i;
          
          sci_start_undo_action (sci);
          sci_insert_text (sci, pos, "#");
          pos ++;
          for (i = 0; i < flags->len; i++) {
            const gchar *flag = g_ptr_array_index (flags, i);
            
            sci_insert_text (sci, pos, ", ");
            pos += 2;
            sci_insert_text (sci, pos, flag);
            pos += (gint) strlen (flag);
          }
          sci_insert_text (sci, pos, "\n");
          sci_end_undo_action (sci);
        }
      }
      
      static void
      delete_line (ScintillaObject *sci,
                   gint             line)
      {
        gint pos = sci_get_position_from_line (sci, line);
        gint length = sci_get_line_length (sci, line);
        
        scintilla_send_message (sci, SCI_DELETERANGE, (uptr_t) pos, (sptr_t) length);
      }
      
      static void
      on_kb_toggle_fuzziness (guint key_id)
      {
        GeanyDocument *doc = document_get_current ();
        
        if (doc_is_po (doc)) {
          ScintillaObject *sci = doc->editor->sci;
          gint pos = sci_get_current_position (sci);
          gint msgid_line = find_msgid_line_at (doc, pos);
          gint flags_line = find_flags_line_at (doc, pos);
          
          if (flags_line >= 0 || msgid_line >= 0) {
            GPtrArray *flags = g_ptr_array_new_with_free_func (g_free);
            
            sci_start_undo_action (sci);
            
            if (flags_line >= 0) {
              parse_flags_line (sci, flags_line, flags);
              delete_line (sci, flags_line);
            } else {
              flags_line = msgid_line;
            }
            
            toggle_flag (flags, "fuzzy");
            write_flags (sci, sci_get_position_from_line (sci, flags_line), flags);
            
            sci_end_undo_action (sci);
            
            g_ptr_array_free (flags, TRUE);
          }
        }
      }
      
      typedef struct {
        gdouble translated;
        gdouble fuzzy;
        gdouble untranslated;
      } StatsGraphData;
      
      /*
       * rounded_rectangle:
       * @cr: a Cairo context
       * @x: X coordinate of the top-left corner of the rectangle
       * @y: Y coordinate of the top-left corner of the rectangle
       * @width: width of the rectangle
       * @height: height of the rectangle
       * @r1: radius of the top-left corner
       * @r2: radius of the top-right corner
       * @r3: radius of the bottom-right corner
       * @r4: radius of the bottom-left corner
       * 
       * Creates a rectangle path with rounded corners.
       * 
       * Warning: The rectangle should be big enough to include the corners,
       *          otherwise the result will be weird.  For example, if all corners
       *          radius are set to 5, the rectangle should be at least 10x10.
       */
      static void
      rounded_rectangle (cairo_t *cr,
                         gdouble  x,
                         gdouble  y,
                         gdouble  width,
                         gdouble  height,
                         gdouble  r1,
                         gdouble  r2,
                         gdouble  r3,
                         gdouble  r4)
      {
        cairo_move_to (cr, x + r1, y);
        cairo_arc (cr, x + width - r2, y + r2, r2, -G_PI/2.0, 0);
        cairo_arc (cr, x + width - r3, y + height - r3, r3, 0, G_PI/2.0);
        cairo_arc (cr, x + r4, y + height - r4, r4, G_PI/2.0, -G_PI);
        cairo_arc (cr, x + r1, y + r1, r1, -G_PI, -G_PI/2.0);
        cairo_close_path (cr);
      }
      
      #if ! GTK_CHECK_VERSION (3, 0, 0) && ! defined (gtk_widget_get_allocated_width)
      # define gtk_widget_get_allocated_width(w) (GTK_WIDGET (w)->allocation.width)
      #endif
      #if ! GTK_CHECK_VERSION (3, 0, 0) && ! defined (gtk_widget_get_allocated_height)
      # define gtk_widget_get_allocated_height(w) (GTK_WIDGET (w)->allocation.height)
      #endif
      
      static gboolean
      stats_graph_draw (GtkWidget  *widget,
                        cairo_t    *cr,
                        gpointer    user_data)
      {
        const StatsGraphData *data         = user_data;
        const gint            width        = gtk_widget_get_allocated_width (widget);
        const gint            height       = gtk_widget_get_allocated_height (widget);
        const gdouble         translated   = width * data->translated;
        const gdouble         fuzzy        = width * data->fuzzy;
        const gdouble         untranslated = width * data->untranslated;
        const gdouble         r            = MIN (width / 4, height / 4);
        cairo_pattern_t      *pat;
        
        rounded_rectangle (cr, 0, 0, width, height, r, r, r, r);
        cairo_clip (cr);
        
        gdk_cairo_set_source_color (cr, &plugin.color_translated);
        cairo_rectangle (cr, 0, 0, translated, height);
        cairo_fill (cr);
        
        gdk_cairo_set_source_color (cr, &plugin.color_fuzzy);
        cairo_rectangle (cr, translated, 0, fuzzy, height);
        cairo_fill (cr);
        
        gdk_cairo_set_source_color (cr, &plugin.color_untranslated);
        cairo_rectangle (cr, translated + fuzzy, 0, untranslated, height);
        cairo_fill (cr);
        
        /* draw a nice thin border */
        cairo_set_line_width (cr, 1.0);
        cairo_set_source_rgba (cr, 0, 0, 0, 0.2);
        rounded_rectangle (cr, 0.5, 0.5, width - 1, height - 1, r, r, r, r);
        cairo_stroke (cr);
        
        /* draw a gradient to give the graph a little depth */
        pat = cairo_pattern_create_linear (0, 0, 0, height);
        cairo_pattern_add_color_stop_rgba (pat, 0,      1, 1, 1, 0.2);
        cairo_pattern_add_color_stop_rgba (pat, height, 0, 0, 0, 0.2);
        cairo_set_source (cr, pat);
        cairo_pattern_destroy (pat);
        cairo_rectangle (cr, 0, 0, width, height);
        cairo_paint (cr);
        
        return TRUE;
      }
      
      static gboolean
      stats_graph_query_tooltip (GtkWidget   *widget,
                                 gint         x,
                                 gint         y,
                                 gboolean     keyboard_mode,
                                 GtkTooltip  *tooltip,
                                 gpointer     user_data)
      {
        const StatsGraphData *data    = user_data;
        gchar                *markup  = NULL;
        
        if (keyboard_mode) {
          gchar *translated_str   = g_strdup_printf (_("Translated: %.3g%%"),
                                                     data->translated * 100);
          gchar *fuzzy_str        = g_strdup_printf (_("Fuzzy: %.3g%%"),
                                                     data->fuzzy * 100);
          gchar *untranslated_str = g_strdup_printf (_("Untranslated: %.3g%%"),
                                                     data->untranslated * 100);
          
          markup = g_strconcat (translated_str,   "\n",
                                fuzzy_str,        "\n",
                                untranslated_str, NULL);
          g_free (translated_str);
          g_free (fuzzy_str);
          g_free (untranslated_str);
        } else {
          const gint width = gtk_widget_get_allocated_width (widget);
          
          if (x <= width * data->translated) {
            markup = g_strdup_printf (_("Translated: %.3g%%"),
                                      data->translated * 100);
          } else if (x <= width * (data->translated + data->fuzzy)) {
            markup = g_strdup_printf (_("Fuzzy: %.3g%%"), data->fuzzy * 100);
          } else {
            markup = g_strdup_printf (_("Untranslated: %.3g%%"),
                                      data->untranslated * 100);
          }
        }
        
        gtk_tooltip_set_markup (tooltip, markup);
        g_free (markup);
        
        return TRUE;
      }
      
      #if ! GTK_CHECK_VERSION (3, 0, 0)
      static gboolean
      on_stats_graph_expose_event (GtkWidget *widget,
                                   GdkEvent  *event,
                                   gpointer   data)
      {
        cairo_t  *cr  = gdk_cairo_create (GDK_DRAWABLE (widget->window));
        gboolean  ret = stats_graph_draw (widget, cr, data);
        
        cairo_destroy (cr);
        
        return ret;
      }
      #endif
      
      static void
      on_color_button_color_notify (GtkWidget  *widget,
                                    GParamSpec *pspec,
                                    gpointer    user_data)
      {
        gtk_color_button_get_color (GTK_COLOR_BUTTON (widget), user_data);
      }
      
      static gchar *
      get_data_dir_path (const gchar *filename)
      {
      #ifdef G_OS_WIN32
        gchar *prefix = g_win32_get_package_installation_directory_of_module (NULL);
      #else
        gchar *prefix = NULL;
      #endif
        gchar *path   = g_build_filename (prefix ? prefix : "", PLUGINDATADIR,
                                          filename, NULL);
        
        g_free (prefix);
        
        return path;
      }
      
      static void
      show_stats_dialog (guint  all,
                         guint  translated,
                         guint  fuzzy,
                         guint  untranslated)
      {
        GError     *error = NULL;
        gchar      *ui_filename = get_data_dir_path ("stats.ui");;
        GtkBuilder *builder = gtk_builder_new ();
        
        gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
        if (! gtk_builder_add_from_file (builder, ui_filename, &error)) {
          g_critical (_("Failed to load UI definition, please check your "
                        "installation. The error was: %s"), error->message);
          g_error_free (error);
        } else {
          StatsGraphData  data;
          GObject        *dialog;
          GObject        *drawing_area;
          
          data.translated   = all ? (translated   * 1.0 / all) : 0;
          data.fuzzy        = all ? (fuzzy        * 1.0 / all) : 0;
          data.untranslated = all ? (untranslated * 1.0 / all) : 0;
          
          drawing_area = gtk_builder_get_object (builder, "drawing_area");
      #if ! GTK_CHECK_VERSION (3, 0, 0)
          g_signal_connect (drawing_area,
                            "expose-event", G_CALLBACK (on_stats_graph_expose_event),
                            &data);
      #else
          g_signal_connect (drawing_area,
                            "draw", G_CALLBACK (stats_graph_draw),
                            &data);
      #endif
          g_signal_connect (drawing_area,
                            "query-tooltip", G_CALLBACK (stats_graph_query_tooltip),
                            &data);
          gtk_widget_set_has_tooltip (GTK_WIDGET (drawing_area), TRUE);
          
          #define SET_LABEL_N(id, value)                                             \
            do {                                                                     \
              GObject *obj__ = gtk_builder_get_object (builder, (id));               \
                                                                                     \
              if (! obj__) {                                                         \
                g_warning ("Object \"%s\" is missing from the UI definition", (id)); \
              } else {                                                               \
                gchar *text__ = g_strdup_printf (_("%u (%.3g%%)"),                   \
                                                 (value),                            \
                                                 all ? ((value) * 100.0 / all) : 0); \
                                                                                     \
                gtk_label_set_text (GTK_LABEL (obj__), text__);                      \
                g_free (text__);                                                     \
              }                                                                      \
            } while (0)
          
          SET_LABEL_N ("n_translated",    translated);
          SET_LABEL_N ("n_fuzzy",         fuzzy);
          SET_LABEL_N ("n_untranslated",  untranslated);
          
          #undef SET_LABEL_N
          
          #define BIND_COLOR_BTN(id, color)                                          \
            do {                                                                     \
              GObject *obj__ = gtk_builder_get_object (builder, (id));               \
                                                                                     \
              if (! obj__) {                                                         \
                g_warning ("Object \"%s\" is missing from the UI definition", (id)); \
              } else {                                                               \
                gtk_color_button_set_color (GTK_COLOR_BUTTON (obj__), (color));      \
                g_signal_connect (obj__, "notify::color",                            \
                                  G_CALLBACK (on_color_button_color_notify),         \
                                  (color));                                          \
                /* queue a redraw on the drawing area so it uses the new color */    \
                g_signal_connect_swapped (obj__, "notify::color",                    \
                                          G_CALLBACK (gtk_widget_queue_draw),        \
                                          drawing_area);                             \
              }                                                                      \
            } while (0)
          
          BIND_COLOR_BTN ("color_translated",   &plugin.color_translated);
          BIND_COLOR_BTN ("color_fuzzy",        &plugin.color_fuzzy);
          BIND_COLOR_BTN ("color_untranslated", &plugin.color_untranslated);
          
          #undef BIND_COLOR_BTN
          
          dialog = gtk_builder_get_object (builder, "dialog");
          gtk_window_set_transient_for (GTK_WINDOW (dialog),
                                        GTK_WINDOW (geany_data->main_widgets->window));
          gtk_dialog_run (GTK_DIALOG (dialog));
          gtk_widget_destroy (GTK_WIDGET (dialog));
        }
        g_free (ui_filename);
        g_object_unref (builder);
      }
      
      static void
      on_kb_show_stats (guint key_id)
      {
        GeanyDocument *doc = document_get_current ();
        
        if (doc_is_po (doc)) {
          ScintillaObject  *sci           = doc->editor->sci;
          const gint        len           = sci_get_length (sci);
          gint              pos           = 0;
          guint             all           = 0;
          guint             untranslated  = 0;
          guint             fuzzy         = 0;
          
          /* don't use find_message() because we want only match one block, not each
           * msgstr as there might be plural forms */
          while ((pos = find_style (sci, SCE_PO_MSGID, pos, len)) >= 0 &&
                 (pos = find_style (sci, SCE_PO_MSGSTR, pos, len)) >= 0) {
            GString *msgid = get_msgid_text_at (doc, pos);
            GString *msgstr = get_msgstr_text_at (doc, pos);
            
            if (msgid->len > 0) {
              all++;
              if (msgstr->len < 1) {
                untranslated++;
              } else {
                GPtrArray *flags = get_flags_at (doc, pos);
                
                if (flags) {
                  fuzzy += ! toggle_flag (flags, "fuzzy");
                  
                  g_ptr_array_free (flags, TRUE);
                }
              }
            }
            g_string_free (msgstr, TRUE);
            g_string_free (msgid, TRUE);
          }
          
          show_stats_dialog (all, all - untranslated - fuzzy, fuzzy, untranslated);
        }
      }
      
      static const struct Action {
        guint             id;
        const gchar      *name;
        GeanyKeyCallback  callback;
        const gchar      *label;
        const gchar      *widget;
      } G_actions[] = {
        { GPH_KB_GOTO_PREV, "goto-prev",
          on_kb_goto_prev,
          N_("Go to previous string"), "previous_string" },
        { GPH_KB_GOTO_NEXT, "goto-next",
          on_kb_goto_next,
          N_("Go to next string"), "next_string" },
        { GPH_KB_GOTO_PREV_UNTRANSLATED, "goto-prev-untranslated",
          on_kb_goto_prev_untranslated,
          N_("Go to previous untranslated string"), "previous_untranslated" },
        { GPH_KB_GOTO_NEXT_UNTRANSLATED, "goto-next-untranslated",
          on_kb_goto_next_untranslated,
          N_("Go to next untranslated string"), "next_untranslated" },
        { GPH_KB_GOTO_PREV_FUZZY, "goto-prev-fuzzy",
          on_kb_goto_prev_fuzzy,
          N_("Go to previous fuzzily translated string"), "previous_fuzzy" },
        { GPH_KB_GOTO_NEXT_FUZZY, "goto-next-fuzzy",
          on_kb_goto_next_fuzzy,
          N_("Go to next fuzzily translated string"), "next_fuzzy" },
        { GPH_KB_GOTO_PREV_UNTRANSLATED_OR_FUZZY, "goto-prev-untranslated-or-fuzzy",
          on_kb_goto_prev_untranslated_or_fuzzy,
          N_("Go to previous untranslated or fuzzy string"),
          "previous_untranslated_or_fuzzy" },
        { GPH_KB_GOTO_NEXT_UNTRANSLATED_OR_FUZZY, "goto-next-untranslated-or-fuzzy",
          on_kb_goto_next_untranslated_or_fuzzy,
          N_("Go to next untranslated or fuzzy string"),
          "next_untranslated_or_fuzzy" },
        { GPH_KB_PASTE_UNTRANSLATED, "paste-untranslated",
          on_kb_paste_untranslated,
          N_("Paste original untranslated string to translation"),
          "paste_message_as_translation" },
        { GPH_KB_REFLOW, "reflow",
          on_kb_reflow,
          N_("Reflow the current translation string"), "reflow_translation" },
        { GPH_KB_TOGGLE_FUZZY, "toggle-fuzziness",
          on_kb_toggle_fuzziness,
          N_("Toggle current translation fuzziness"), "toggle_fuzziness" },
        { GPH_KB_SHOW_STATS, "show-stats",
          on_kb_show_stats,
          N_("Show statistics of the current document"), "show_stats" }
      };
      
      static void
      on_widget_kb_activate (GtkMenuItem   *widget,
                             struct Action *action)
      {
        action->callback (action->id);
      }
      
      static void
      on_update_headers_upon_save_toggled (GtkCheckMenuItem  *item,
                                           gpointer           data)
      {
        plugin.update_headers = gtk_check_menu_item_get_active (item);
      }
      
      static gchar *
      get_config_filename (void)
      {
        return g_build_filename (geany_data->app->configdir, "plugins",
                                 "pohelper", "pohelper.conf", NULL);
      }
      
      /* loads @filename in @kf and return %FALSE if failed, emitting a warning
       * unless the file was simply missing */
      static gboolean
      load_keyfile (GKeyFile     *kf,
                    const gchar  *filename,
                    GKeyFileFlags flags)
      {
        GError *error = NULL;
        
        if (! g_key_file_load_from_file (kf, filename, flags, &error)) {
          if (error->domain != G_FILE_ERROR || error->code != G_FILE_ERROR_NOENT) {
            g_warning (_("Failed to load configuration file: %s"), error->message);
          }
          g_error_free (error);
          
          return FALSE;
        }
        
        return TRUE;
      }
      
      /* writes @kf in @filename, possibly creating directories to be able to write
       * in @filename */
      static gboolean
      write_keyfile (GKeyFile    *kf,
                     const gchar *filename)
      {
        gchar *dirname = g_path_get_dirname (filename);
        GError *error = NULL;
        gint err;
        gchar *data;
        gsize length;
        gboolean success = FALSE;
        
        data = g_key_file_to_data (kf, &length, NULL);
        if ((err = utils_mkdir (dirname, TRUE)) != 0) {
          g_critical (_("Failed to create configuration directory \"%s\": %s"),
                      dirname, g_strerror (err));
        } else if (! g_file_set_contents (filename, data, (gssize) length, &error)) {
          g_critical (_("Failed to save configuration file: %s"), error->message);
          g_error_free (error);
        } else {
          success = TRUE;
        }
        g_free (data);
        g_free (dirname);
        
        return success;
      }
      
      /*
       * get_setting_color:
       * @kf: a #GKeyFile from which load the color
       * @group: the key file group
       * @key: the key file key
       * @color: (out): the color to fill with the read value.  If the key is not
       *                found, the color isn't updated
       * 
       * Loads a color from a key file entry.
       * 
       * Returns: %TRUE if the color was loaded, %FALSE otherwise.
       */
      static gboolean
      get_setting_color (GKeyFile    *kf,
                         const gchar *group,
                         const gchar *key,
                         GdkColor    *color)
      {
        gboolean  success = FALSE;
        gchar    *value   = g_key_file_get_value (kf, group, key, NULL);
        
        if (value) {
          success = gdk_color_parse (value, color);
          g_free (value);
        }
        
        return success;
      }
      
      static void
      set_setting_color (GKeyFile        *kf,
                         const gchar     *group,
                         const gchar     *key,
                         const GdkColor  *color)
      {
        gchar *value = gdk_color_to_string (color);
        
        g_key_file_set_value (kf, group, key, value);
        g_free (value);
      }
      
      static void
      load_config (void)
      {
        gchar *filename = get_config_filename ();
        GKeyFile *kf = g_key_file_new ();
        
        if (load_keyfile (kf, filename, G_KEY_FILE_NONE)) {
          plugin.update_headers = utils_get_setting_boolean (kf, "general",
                                                             "update-headers",
                                                             plugin.update_headers);
          get_setting_color (kf, "colors", "translated", &plugin.color_translated);
          get_setting_color (kf, "colors", "fuzzy", &plugin.color_fuzzy);
          get_setting_color (kf, "colors", "untranslated", &plugin.color_untranslated);
        }
        g_key_file_free (kf);
        g_free (filename);
      }
      
      static void
      save_config (void)
      {
        gchar *filename = get_config_filename ();
        GKeyFile *kf = g_key_file_new ();
        
        load_keyfile (kf, filename, G_KEY_FILE_KEEP_COMMENTS);
        g_key_file_set_boolean (kf, "general", "update-headers",
                                plugin.update_headers);
        set_setting_color (kf, "colors", "translated", &plugin.color_translated);
        set_setting_color (kf, "colors", "fuzzy", &plugin.color_fuzzy);
        set_setting_color (kf, "colors", "untranslated", &plugin.color_untranslated);
        write_keyfile (kf, filename);
        
        g_key_file_free (kf);
        g_free (filename);
      }
      
      void
      plugin_init (GeanyData *data)
      {
        GtkBuilder *builder;
        GError *error = NULL;
        gchar *ui_filename;
        guint i;
        
        load_config ();
        
        ui_filename = get_data_dir_path ("menus.ui");
        builder = gtk_builder_new ();
        gtk_builder_set_translation_domain (builder, GETTEXT_PACKAGE);
        if (! gtk_builder_add_from_file (builder, ui_filename, &error)) {
          g_critical (_("Failed to load UI definition, please check your "
                        "installation. The error was: %s"), error->message);
          g_error_free (error);
          g_object_unref (builder);
          builder = NULL;
          plugin.menu_item = NULL;
        } else {
          GObject *obj;
          
          plugin.menu_item = GTK_WIDGET (gtk_builder_get_object (builder, "root_item"));
          gtk_menu_shell_append (GTK_MENU_SHELL (geany->main_widgets->tools_menu),
                                 plugin.menu_item);
          
          obj = gtk_builder_get_object (builder, "update_headers_upon_save");
          gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (obj),
                                          plugin.update_headers);
          g_signal_connect (obj, "toggled",
                            G_CALLBACK (on_update_headers_upon_save_toggled), NULL);
        }
        g_free (ui_filename);
        
        /* signal handlers */
        plugin_signal_connect (geany_plugin, NULL, "document-activate", TRUE,
                               G_CALLBACK (on_document_activate), NULL);
        plugin_signal_connect (geany_plugin, NULL, "document-filetype-set", TRUE,
                               G_CALLBACK (on_document_filetype_set), NULL);
        plugin_signal_connect (geany_plugin, NULL, "document-close", TRUE,
                               G_CALLBACK (on_document_close), NULL);
        plugin_signal_connect (geany_plugin, NULL, "document-before-save", TRUE,
                               G_CALLBACK (on_document_save), NULL);
        
        /* add keybindings */
        plugin.key_group = plugin_set_key_group (geany_plugin, "pohelper",
                                                 GPH_KB_COUNT, NULL);
        
        for (i = 0; i < G_N_ELEMENTS (G_actions); i++) {
          GtkWidget *widget = NULL;
          
          if (builder && G_actions[i].widget) {
            GObject *obj = gtk_builder_get_object (builder, G_actions[i].widget);
            
            if (! obj || ! GTK_IS_MENU_ITEM (obj)) {
              g_critical (_("Cannot find widget \"%s\" in the UI definition, "
                            "please check your installation."), G_actions[i].widget);
            } else {
              widget = GTK_WIDGET (obj);
              g_signal_connect (widget, "activate",
                                G_CALLBACK (on_widget_kb_activate),
                                (gpointer) &G_actions[i]);
            }
          }
          
          keybindings_set_item (plugin.key_group, G_actions[i].id,
                                G_actions[i].callback, 0, 0, G_actions[i].name,
                                _(G_actions[i].label), widget);
        }
        /* initial items sensitivity update */
        update_menu_items_sensitivity (document_get_current ());
        
        if (builder) {
          g_object_unref (builder);
        }
      }
      
      void
      plugin_cleanup (void)
      {
        if (plugin.menu_item) {
          gtk_widget_destroy (plugin.menu_item);
        }
        
        save_config ();
      }
      geany-plugins-1.27/pohelper/README0000644000175000017500000000365012671261352017222 0ustar00frlanfrlan00000000000000==================
      Translation Helper
      ==================
      
      .. contents::
      
      
      About
      =====
      
      Translation Helper is a plugin for Geany that improves the support for
      GetText translation files, by providing various features specific to this
      format and to translators.
      
      
      Features
      --------
      
      * Navigation between all, untranslated or fuzzy messages;
      * Reformatting of the translation (reflow);
      * Toggling the fuzziness of a translation;
      * Pasting of the untranslated string to the translation;
      * Automatic updating of the translation metadata.
      
      
      Requirements
      ============
      
      This plugin only requires GLib, GTK and Geany to work.  If you intent to build
      it yourself, you will need to get the development files of these programs and
      libraries.  You can find these packages at http://www.geany.org/ and
      http://www.gtk.org/.
      
      
      Installation
      ============
      
      For detailed instructions, see the INSTALL file of the Geany-Plugins package
      this plugin is part of.
      
      
      Usage
      =====
      
      First enbale the plugin the the Plugin Manager of Geany.  Once enabled,
      the plugin adds a new menu under "Tools -> Translation Helper" giving
      access to the various actions it provides.  You can of course configure
      keybindings for each actions under the Keybindings section of the Geany
      preferences.
      
      
      License
      =======
      
      Translation Helper is distributed under the terms of the GNU General Public
      License as published by the Free Software Foundation, either version 3 of the
      License, or (at your option) any later version. You should have received a copy
      of the GNU General Public License along with WebHelper.  If not, see
      .
      
      
      Contact
      =======
      
      You can email me at , and I may also be on the
      #geany channel on FreeNode, under the `b4n` nickname.
      
      
      Bug reports and feature requests
      --------------------------------
      
      To report a bug or ask for a new feature, please use the Geany-Plugins tracker
      on GitHub: https://github.com/geany/geany-plugins/issues
      geany-plugins-1.27/xmlsnippets/0000755000175000017500000000000012671261444017110 5ustar00frlanfrlan00000000000000geany-plugins-1.27/xmlsnippets/Makefile.in0000644000175000017500000006451412671261403021162 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      subdir = xmlsnippets
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(dist_plugindoc_DATA) \
      	$(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      SOURCES =
      DIST_SOURCES =
      RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
      	ctags-recursive dvi-recursive html-recursive info-recursive \
      	install-data-recursive install-dvi-recursive \
      	install-exec-recursive install-html-recursive \
      	install-info-recursive install-pdf-recursive \
      	install-ps-recursive install-recursive installcheck-recursive \
      	installdirs-recursive pdf-recursive ps-recursive \
      	tags-recursive uninstall-recursive
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(plugindocdir)"
      DATA = $(dist_plugindoc_DATA)
      RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
        distclean-recursive maintainer-clean-recursive
      am__recursive_targets = \
        $(RECURSIVE_TARGETS) \
        $(RECURSIVE_CLEAN_TARGETS) \
        $(am__extra_recursive_targets)
      AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
      	distdir
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      DIST_SUBDIRS = $(SUBDIRS)
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/vars.auxfiles.mk \
      	$(top_srcdir)/build/vars.docs.mk AUTHORS COPYING ChangeLog \
      	INSTALL NEWS README
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      am__relativize = \
        dir0=`pwd`; \
        sed_first='s,^\([^/]*\)/.*$$,\1,'; \
        sed_rest='s,^[^/]*/*,,'; \
        sed_last='s,^.*/\([^/]*\)$$,\1,'; \
        sed_butlast='s,/*[^/]*$$,,'; \
        while test -n "$$dir1"; do \
          first=`echo "$$dir1" | sed -e "$$sed_first"`; \
          if test "$$first" != "."; then \
            if test "$$first" = ".."; then \
              dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
              dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
            else \
              first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
              if test "$$first2" = "$$first"; then \
                dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
              else \
                dir2="../$$dir2"; \
              fi; \
              dir0="$$dir0"/"$$first"; \
            fi; \
          fi; \
          dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
        done; \
        reldir="$$dir2"
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      plugindocdir = $(docdir)/$(plugin)
      htmldocdir = $(plugindocdir)
      plugindatadir = $(pkgdatadir)/$(plugin)
      pluginlibdir = $(pkglibdir)/$(plugin)
      examplesdir = $(plugindatadir)
      dist_plugindoc_DATA = \
      	README \
      	ChangeLog \
      	NEWS \
      	COPYING \
      	AUTHORS \
      	$(AUXFILES)
      
      EXTRA_DIST = 
      SUBDIRS = src
      plugin = xmlsnippets
      all: all-recursive
      
      .SUFFIXES:
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xmlsnippets/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign xmlsnippets/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.auxfiles.mk $(top_srcdir)/build/vars.docs.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      install-dist_plugindocDATA: $(dist_plugindoc_DATA)
      	@$(NORMAL_INSTALL)
      	@list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \
      	if test -n "$$list"; then \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(plugindocdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(plugindocdir)" || exit 1; \
      	fi; \
      	for p in $$list; do \
      	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
      	  echo "$$d$$p"; \
      	done | $(am__base_list) | \
      	while read files; do \
      	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(plugindocdir)'"; \
      	  $(INSTALL_DATA) $$files "$(DESTDIR)$(plugindocdir)" || exit $$?; \
      	done
      
      uninstall-dist_plugindocDATA:
      	@$(NORMAL_UNINSTALL)
      	@list='$(dist_plugindoc_DATA)'; test -n "$(plugindocdir)" || list=; \
      	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
      	dir='$(DESTDIR)$(plugindocdir)'; $(am__uninstall_files_from_dir)
      
      # This directory's subdirectories are mostly independent; you can cd
      # into them and run 'make' without going through this Makefile.
      # To change the values of 'make' variables: instead of editing Makefiles,
      # (1) if the variable is set in 'config.status', edit 'config.status'
      #     (which will cause the Makefiles to be regenerated when you run 'make');
      # (2) otherwise, pass the desired values on the 'make' command line.
      $(am__recursive_targets):
      	@fail=; \
      	if $(am__make_keepgoing); then \
      	  failcom='fail=yes'; \
      	else \
      	  failcom='exit 1'; \
      	fi; \
      	dot_seen=no; \
      	target=`echo $@ | sed s/-recursive//`; \
      	case "$@" in \
      	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
      	  *) list='$(SUBDIRS)' ;; \
      	esac; \
      	for subdir in $$list; do \
      	  echo "Making $$target in $$subdir"; \
      	  if test "$$subdir" = "."; then \
      	    dot_seen=yes; \
      	    local_target="$$target-am"; \
      	  else \
      	    local_target="$$target"; \
      	  fi; \
      	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
      	  || eval $$failcom; \
      	done; \
      	if test "$$dot_seen" = "no"; then \
      	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
      	fi; test -z "$$fail"
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-recursive
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
      	  include_option=--etags-include; \
      	  empty_fix=.; \
      	else \
      	  include_option=--include; \
      	  empty_fix=; \
      	fi; \
      	list='$(SUBDIRS)'; for subdir in $$list; do \
      	  if test "$$subdir" = .; then :; else \
      	    test ! -f $$subdir/TAGS || \
      	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
      	  fi; \
      	done; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-recursive
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-recursive
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
      	  if test "$$subdir" = .; then :; else \
      	    $(am__make_dryrun) \
      	      || test -d "$(distdir)/$$subdir" \
      	      || $(MKDIR_P) "$(distdir)/$$subdir" \
      	      || exit 1; \
      	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
      	    $(am__relativize); \
      	    new_distdir=$$reldir; \
      	    dir1=$$subdir; dir2="$(top_distdir)"; \
      	    $(am__relativize); \
      	    new_top_distdir=$$reldir; \
      	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
      	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
      	    ($(am__cd) $$subdir && \
      	      $(MAKE) $(AM_MAKEFLAGS) \
      	        top_distdir="$$new_top_distdir" \
      	        distdir="$$new_distdir" \
      		am__remove_distdir=: \
      		am__skip_length_check=: \
      		am__skip_mode_fix=: \
      	        distdir) \
      	      || exit 1; \
      	  fi; \
      	done
      check-am: all-am
      check: check-recursive
      all-am: Makefile $(DATA)
      installdirs: installdirs-recursive
      installdirs-am:
      	for dir in "$(DESTDIR)$(plugindocdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-recursive
      install-exec: install-exec-recursive
      install-data: install-data-recursive
      uninstall: uninstall-recursive
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-recursive
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-recursive
      
      clean-am: clean-generic clean-libtool mostlyclean-am
      
      distclean: distclean-recursive
      	-rm -f Makefile
      distclean-am: clean-am distclean-generic distclean-tags
      
      dvi: dvi-recursive
      
      dvi-am:
      
      html: html-recursive
      
      html-am:
      
      info: info-recursive
      
      info-am:
      
      install-data-am: install-dist_plugindocDATA
      
      install-dvi: install-dvi-recursive
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-recursive
      
      install-html-am:
      
      install-info: install-info-recursive
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-recursive
      
      install-pdf-am:
      
      install-ps: install-ps-recursive
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-recursive
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-recursive
      
      mostlyclean-am: mostlyclean-generic mostlyclean-libtool
      
      pdf: pdf-recursive
      
      pdf-am:
      
      ps: ps-recursive
      
      ps-am:
      
      uninstall-am: uninstall-dist_plugindocDATA
      
      .MAKE: $(am__recursive_targets) install-am install-strip
      
      .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
      	check-am clean clean-generic clean-libtool cscopelist-am ctags \
      	ctags-am distclean distclean-generic distclean-libtool \
      	distclean-tags distdir dvi dvi-am html html-am info info-am \
      	install install-am install-data install-data-am \
      	install-dist_plugindocDATA install-dvi install-dvi-am \
      	install-exec install-exec-am install-html install-html-am \
      	install-info install-info-am install-man install-pdf \
      	install-pdf-am install-ps install-ps-am install-strip \
      	installcheck installcheck-am installdirs installdirs-am \
      	maintainer-clean maintainer-clean-generic mostlyclean \
      	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
      	tags tags-am uninstall uninstall-am \
      	uninstall-dist_plugindocDATA
      
      .PRECIOUS: Makefile
      
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/xmlsnippets/Makefile.am0000644000175000017500000000012112671261352021134 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.auxfiles.mk
      
      SUBDIRS = src
      plugin = xmlsnippets
      geany-plugins-1.27/xmlsnippets/AUTHORS0000644000175000017500000000005512671261352020156 0ustar00frlanfrlan00000000000000Eugene Arshinov 
      geany-plugins-1.27/xmlsnippets/INSTALL0000644000175000017500000001722712671261352020150 0ustar00frlanfrlan00000000000000Basic Installation
      ==================
      
         These are generic installation instructions.
      
         The `configure' shell script attempts to guess correct values for
      various system-dependent variables used during compilation.  It uses
      those values to create a `Makefile' in each directory of the package.
      It may also create one or more `.h' files containing system-dependent
      definitions.  Finally, it creates a shell script `config.status' that
      you can run in the future to recreate the current configuration, a file
      `config.cache' that saves the results of its tests to speed up
      reconfiguring, and a file `config.log' containing compiler output
      (useful mainly for debugging `configure').
      
         If you need to do unusual things to compile the package, please try
      to figure out how `configure' could check whether to do them, and mail
      diffs or instructions to the address given in the `README' so they can
      be considered for the next release.  If at some point `config.cache'
      contains results you don't want to keep, you may remove or edit it.
      
         The file `configure.in' is used to create `configure' by a program
      called `autoconf'.  You only need `configure.in' if you want to change
      it or regenerate `configure' using a newer version of `autoconf'.
      
      The simplest way to compile this package is:
      
        1. `cd' to the directory containing the package's source code and type
           `./configure' to configure the package for your system.  If you're
           using `csh' on an old version of System V, you might need to type
           `sh ./configure' instead to prevent `csh' from trying to execute
           `configure' itself.
      
           Running `configure' takes awhile.  While running, it prints some
           messages telling which features it is checking for.
      
        2. Type `make' to compile the package.
      
        3. Optionally, type `make check' to run any self-tests that come with
           the package.
      
        4. Type `make install' to install the programs and any data files and
           documentation.
      
        5. You can remove the program binaries and object files from the
           source code directory by typing `make clean'.  To also remove the
           files that `configure' created (so you can compile the package for
           a different kind of computer), type `make distclean'.  There is
           also a `make maintainer-clean' target, but that is intended mainly
           for the package's developers.  If you use it, you may have to get
           all sorts of other programs in order to regenerate files that came
           with the distribution.
      
      Compilers and Options
      =====================
      
         Some systems require unusual options for compilation or linking that
      the `configure' script does not know about.  You can give `configure'
      initial values for variables by setting them in the environment.  Using
      a Bourne-compatible shell, you can do that on the command line like
      this:
           CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
      
      Or on systems that have the `env' program, you can do it like this:
           env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
      
      Compiling For Multiple Architectures
      ====================================
      
         You can compile the package for more than one kind of computer at the
      same time, by placing the object files for each architecture in their
      own directory.  To do this, you must use a version of `make' that
      supports the `VPATH' variable, such as GNU `make'.  `cd' to the
      directory where you want the object files and executables to go and run
      the `configure' script.  `configure' automatically checks for the
      source code in the directory that `configure' is in and in `..'.
      
         If you have to use a `make' that does not supports the `VPATH'
      variable, you have to compile the package for one architecture at a time
      in the source code directory.  After you have installed the package for
      one architecture, use `make distclean' before reconfiguring for another
      architecture.
      
      Installation Names
      ==================
      
         By default, `make install' will install the package's files in
      `/usr/local/bin', `/usr/local/man', etc.  You can specify an
      installation prefix other than `/usr/local' by giving `configure' the
      option `--prefix=PATH'.
      
         You can specify separate installation prefixes for
      architecture-specific files and architecture-independent files.  If you
      give `configure' the option `--exec-prefix=PATH', the package will use
      PATH as the prefix for installing programs and libraries.
      Documentation and other data files will still use the regular prefix.
      
         In addition, if you use an unusual directory layout you can give
      options like `--bindir=PATH' to specify different values for particular
      kinds of files.  Run `configure --help' for a list of the directories
      you can set and what kinds of files go in them.
      
         If the package supports it, you can cause programs to be installed
      with an extra prefix or suffix on their names by giving `configure' the
      option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
      
      Optional Features
      =================
      
         Some packages pay attention to `--enable-FEATURE' options to
      `configure', where FEATURE indicates an optional part of the package.
      They may also pay attention to `--with-PACKAGE' options, where PACKAGE
      is something like `gnu-as' or `x' (for the X Window System).  The
      `README' should mention any `--enable-' and `--with-' options that the
      package recognizes.
      
         For packages that use the X Window System, `configure' can usually
      find the X include and library files automatically, but if it doesn't,
      you can use the `configure' options `--x-includes=DIR' and
      `--x-libraries=DIR' to specify their locations.
      
      Specifying the System Type
      ==========================
      
         There may be some features `configure' can not figure out
      automatically, but needs to determine by the type of host the package
      will run on.  Usually `configure' can figure that out, but if it prints
      a message saying it can not guess the host type, give it the
      `--host=TYPE' option.  TYPE can either be a short name for the system
      type, such as `sun4', or a canonical name with three fields:
           CPU-COMPANY-SYSTEM
      
      See the file `config.sub' for the possible values of each field.  If
      `config.sub' isn't included in this package, then this package doesn't
      need to know the host type.
      
         If you are building compiler tools for cross-compiling, you can also
      use the `--target=TYPE' option to select the type of system they will
      produce code for and the `--build=TYPE' option to select the type of
      system on which you are compiling the package.
      
      Sharing Defaults
      ================
      
         If you want to set default values for `configure' scripts to share,
      you can create a site shell script called `config.site' that gives
      default values for variables like `CC', `cache_file', and `prefix'.
      `configure' looks for `PREFIX/share/config.site' if it exists, then
      `PREFIX/etc/config.site' if it exists.  Or, you can set the
      `CONFIG_SITE' environment variable to the location of the site script.
      A warning: not all `configure' scripts look for a site script.
      
      Operation Controls
      ==================
      
         `configure' recognizes the following options to control how it
      operates.
      
      `--cache-file=FILE'
           Use and save the results of the tests in FILE instead of
           `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
           debugging `configure'.
      
      `--help'
           Print a summary of the options to `configure', and exit.
      
      `--quiet'
      `--silent'
      `-q'
           Do not print messages saying which checks are being made.  To
           suppress all normal output, redirect it to `/dev/null' (any error
           messages will still be shown).
      
      `--srcdir=DIR'
           Look for the package's source code in directory DIR.  Usually
           `configure' can determine that directory automatically.
      
      `--version'
           Print the version of Autoconf used to generate the `configure'
           script, and exit.
      
      `configure' also accepts some other, not widely useful, options.
      geany-plugins-1.27/xmlsnippets/NEWS0000644000175000017500000000000012671261352017573 0ustar00frlanfrlan00000000000000geany-plugins-1.27/xmlsnippets/COPYING0000644000175000017500000004310512671261352020144 0ustar00frlanfrlan00000000000000		    GNU GENERAL PUBLIC LICENSE
      		       Version 2, June 1991
      
       Copyright (C) 1989, 1991 Free Software Foundation, Inc.
      	51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
       Everyone is permitted to copy and distribute verbatim copies
       of this license document, but changing it is not allowed.
      
      			    Preamble
      
        The licenses for most software are designed to take away your
      freedom to share and change it.  By contrast, the GNU General Public
      License is intended to guarantee your freedom to share and change free
      software--to make sure the software is free for all its users.  This
      General Public License applies to most of the Free Software
      Foundation's software and to any other program whose authors commit to
      using it.  (Some other Free Software Foundation software is covered by
      the GNU Library General Public License instead.)  You can apply it to
      your programs, too.
      
        When we speak of free software, we are referring to freedom, not
      price.  Our General Public Licenses are designed to make sure that you
      have the freedom to distribute copies of free software (and charge for
      this service if you wish), that you receive source code or can get it
      if you want it, that you can change the software or use pieces of it
      in new free programs; and that you know you can do these things.
      
        To protect your rights, we need to make restrictions that forbid
      anyone to deny you these rights or to ask you to surrender the rights.
      These restrictions translate to certain responsibilities for you if you
      distribute copies of the software, or if you modify it.
      
        For example, if you distribute copies of such a program, whether
      gratis or for a fee, you must give the recipients all the rights that
      you have.  You must make sure that they, too, receive or can get the
      source code.  And you must show them these terms so they know their
      rights.
      
        We protect your rights with two steps: (1) copyright the software, and
      (2) offer you this license which gives you legal permission to copy,
      distribute and/or modify the software.
      
        Also, for each author's protection and ours, we want to make certain
      that everyone understands that there is no warranty for this free
      software.  If the software is modified by someone else and passed on, we
      want its recipients to know that what they have is not the original, so
      that any problems introduced by others will not reflect on the original
      authors' reputations.
      
        Finally, any free program is threatened constantly by software
      patents.  We wish to avoid the danger that redistributors of a free
      program will individually obtain patent licenses, in effect making the
      program proprietary.  To prevent this, we have made it clear that any
      patent must be licensed for everyone's free use or not licensed at all.
      
        The precise terms and conditions for copying, distribution and
      modification follow.
      
      		    GNU GENERAL PUBLIC LICENSE
         TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
      
        0. This License applies to any program or other work which contains
      a notice placed by the copyright holder saying it may be distributed
      under the terms of this General Public License.  The "Program", below,
      refers to any such program or work, and a "work based on the Program"
      means either the Program or any derivative work under copyright law:
      that is to say, a work containing the Program or a portion of it,
      either verbatim or with modifications and/or translated into another
      language.  (Hereinafter, translation is included without limitation in
      the term "modification".)  Each licensee is addressed as "you".
      
      Activities other than copying, distribution and modification are not
      covered by this License; they are outside its scope.  The act of
      running the Program is not restricted, and the output from the Program
      is covered only if its contents constitute a work based on the
      Program (independent of having been made by running the Program).
      Whether that is true depends on what the Program does.
      
        1. You may copy and distribute verbatim copies of the Program's
      source code as you receive it, in any medium, provided that you
      conspicuously and appropriately publish on each copy an appropriate
      copyright notice and disclaimer of warranty; keep intact all the
      notices that refer to this License and to the absence of any warranty;
      and give any other recipients of the Program a copy of this License
      along with the Program.
      
      You may charge a fee for the physical act of transferring a copy, and
      you may at your option offer warranty protection in exchange for a fee.
      
        2. You may modify your copy or copies of the Program or any portion
      of it, thus forming a work based on the Program, and copy and
      distribute such modifications or work under the terms of Section 1
      above, provided that you also meet all of these conditions:
      
          a) You must cause the modified files to carry prominent notices
          stating that you changed the files and the date of any change.
      
          b) You must cause any work that you distribute or publish, that in
          whole or in part contains or is derived from the Program or any
          part thereof, to be licensed as a whole at no charge to all third
          parties under the terms of this License.
      
          c) If the modified program normally reads commands interactively
          when run, you must cause it, when started running for such
          interactive use in the most ordinary way, to print or display an
          announcement including an appropriate copyright notice and a
          notice that there is no warranty (or else, saying that you provide
          a warranty) and that users may redistribute the program under
          these conditions, and telling the user how to view a copy of this
          License.  (Exception: if the Program itself is interactive but
          does not normally print such an announcement, your work based on
          the Program is not required to print an announcement.)
      
      These requirements apply to the modified work as a whole.  If
      identifiable sections of that work are not derived from the Program,
      and can be reasonably considered independent and separate works in
      themselves, then this License, and its terms, do not apply to those
      sections when you distribute them as separate works.  But when you
      distribute the same sections as part of a whole which is a work based
      on the Program, the distribution of the whole must be on the terms of
      this License, whose permissions for other licensees extend to the
      entire whole, and thus to each and every part regardless of who wrote it.
      
      Thus, it is not the intent of this section to claim rights or contest
      your rights to work written entirely by you; rather, the intent is to
      exercise the right to control the distribution of derivative or
      collective works based on the Program.
      
      In addition, mere aggregation of another work not based on the Program
      with the Program (or with a work based on the Program) on a volume of
      a storage or distribution medium does not bring the other work under
      the scope of this License.
      
        3. You may copy and distribute the Program (or a work based on it,
      under Section 2) in object code or executable form under the terms of
      Sections 1 and 2 above provided that you also do one of the following:
      
          a) Accompany it with the complete corresponding machine-readable
          source code, which must be distributed under the terms of Sections
          1 and 2 above on a medium customarily used for software interchange; or,
      
          b) Accompany it with a written offer, valid for at least three
          years, to give any third party, for a charge no more than your
          cost of physically performing source distribution, a complete
          machine-readable copy of the corresponding source code, to be
          distributed under the terms of Sections 1 and 2 above on a medium
          customarily used for software interchange; or,
      
          c) Accompany it with the information you received as to the offer
          to distribute corresponding source code.  (This alternative is
          allowed only for noncommercial distribution and only if you
          received the program in object code or executable form with such
          an offer, in accord with Subsection b above.)
      
      The source code for a work means the preferred form of the work for
      making modifications to it.  For an executable work, complete source
      code means all the source code for all modules it contains, plus any
      associated interface definition files, plus the scripts used to
      control compilation and installation of the executable.  However, as a
      special exception, the source code distributed need not include
      anything that is normally distributed (in either source or binary
      form) with the major components (compiler, kernel, and so on) of the
      operating system on which the executable runs, unless that component
      itself accompanies the executable.
      
      If distribution of executable or object code is made by offering
      access to copy from a designated place, then offering equivalent
      access to copy the source code from the same place counts as
      distribution of the source code, even though third parties are not
      compelled to copy the source along with the object code.
      
        4. You may not copy, modify, sublicense, or distribute the Program
      except as expressly provided under this License.  Any attempt
      otherwise to copy, modify, sublicense or distribute the Program is
      void, and will automatically terminate your rights under this License.
      However, parties who have received copies, or rights, from you under
      this License will not have their licenses terminated so long as such
      parties remain in full compliance.
      
        5. You are not required to accept this License, since you have not
      signed it.  However, nothing else grants you permission to modify or
      distribute the Program or its derivative works.  These actions are
      prohibited by law if you do not accept this License.  Therefore, by
      modifying or distributing the Program (or any work based on the
      Program), you indicate your acceptance of this License to do so, and
      all its terms and conditions for copying, distributing or modifying
      the Program or works based on it.
      
        6. Each time you redistribute the Program (or any work based on the
      Program), the recipient automatically receives a license from the
      original licensor to copy, distribute or modify the Program subject to
      these terms and conditions.  You may not impose any further
      restrictions on the recipients' exercise of the rights granted herein.
      You are not responsible for enforcing compliance by third parties to
      this License.
      
        7. If, as a consequence of a court judgment or allegation of patent
      infringement or for any other reason (not limited to patent issues),
      conditions are imposed on you (whether by court order, agreement or
      otherwise) that contradict the conditions of this License, they do not
      excuse you from the conditions of this License.  If you cannot
      distribute so as to satisfy simultaneously your obligations under this
      License and any other pertinent obligations, then as a consequence you
      may not distribute the Program at all.  For example, if a patent
      license would not permit royalty-free redistribution of the Program by
      all those who receive copies directly or indirectly through you, then
      the only way you could satisfy both it and this License would be to
      refrain entirely from distribution of the Program.
      
      If any portion of this section is held invalid or unenforceable under
      any particular circumstance, the balance of the section is intended to
      apply and the section as a whole is intended to apply in other
      circumstances.
      
      It is not the purpose of this section to induce you to infringe any
      patents or other property right claims or to contest validity of any
      such claims; this section has the sole purpose of protecting the
      integrity of the free software distribution system, which is
      implemented by public license practices.  Many people have made
      generous contributions to the wide range of software distributed
      through that system in reliance on consistent application of that
      system; it is up to the author/donor to decide if he or she is willing
      to distribute software through any other system and a licensee cannot
      impose that choice.
      
      This section is intended to make thoroughly clear what is believed to
      be a consequence of the rest of this License.
      
        8. If the distribution and/or use of the Program is restricted in
      certain countries either by patents or by copyrighted interfaces, the
      original copyright holder who places the Program under this License
      may add an explicit geographical distribution limitation excluding
      those countries, so that distribution is permitted only in or among
      countries not thus excluded.  In such case, this License incorporates
      the limitation as if written in the body of this License.
      
        9. The Free Software Foundation may publish revised and/or new versions
      of the General Public License from time to time.  Such new versions will
      be similar in spirit to the present version, but may differ in detail to
      address new problems or concerns.
      
      Each version is given a distinguishing version number.  If the Program
      specifies a version number of this License which applies to it and "any
      later version", you have the option of following the terms and conditions
      either of that version or of any later version published by the Free
      Software Foundation.  If the Program does not specify a version number of
      this License, you may choose any version ever published by the Free Software
      Foundation.
      
        10. If you wish to incorporate parts of the Program into other free
      programs whose distribution conditions are different, write to the author
      to ask for permission.  For software which is copyrighted by the Free
      Software Foundation, write to the Free Software Foundation; we sometimes
      make exceptions for this.  Our decision will be guided by the two goals
      of preserving the free status of all derivatives of our free software and
      of promoting the sharing and reuse of software generally.
      
      			    NO WARRANTY
      
        11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
      FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
      OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
      PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
      OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
      MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
      TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
      PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
      REPAIR OR CORRECTION.
      
        12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
      WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
      REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
      INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
      OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
      TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
      YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
      PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
      POSSIBILITY OF SUCH DAMAGES.
      
      		     END OF TERMS AND CONDITIONS
      
      	    How to Apply These Terms to Your New Programs
      
        If you develop a new program, and you want it to be of the greatest
      possible use to the public, the best way to achieve this is to make it
      free software which everyone can redistribute and change under these terms.
      
        To do so, attach the following notices to the program.  It is safest
      to attach them to the start of each source file to most effectively
      convey the exclusion of warranty; and each file should have at least
      the "copyright" line and a pointer to where the full notice is found.
      
          
          Copyright (C)   
      
          This program is free software; you can redistribute it and/or modify
          it under the terms of the GNU General Public License as published by
          the Free Software Foundation; either version 2 of the License, or
          (at your option) any later version.
      
          This program is distributed in the hope that it will be useful,
          but WITHOUT ANY WARRANTY; without even the implied warranty of
          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
          GNU General Public License for more details.
      
          You should have received a copy of the GNU General Public License
          along with this program; if not, write to the Free Software
          Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
      
      
      Also add information on how to contact you by electronic and paper mail.
      
      If the program is interactive, make it output a short notice like this
      when it starts in an interactive mode:
      
          Gnomovision version 69, Copyright (C) year  name of author
          Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
          This is free software, and you are welcome to redistribute it
          under certain conditions; type `show c' for details.
      
      The hypothetical commands `show w' and `show c' should show the appropriate
      parts of the General Public License.  Of course, the commands you use may
      be called something other than `show w' and `show c'; they could even be
      mouse-clicks or menu items--whatever suits your program.
      
      You should also get your employer (if you work as a programmer) or your
      school, if any, to sign a "copyright disclaimer" for the program, if
      necessary.  Here is a sample; alter the names:
      
        Yoyodyne, Inc., hereby disclaims all copyright interest in the program
        `Gnomovision' (which makes passes at compilers) written by James Hacker.
      
        , 1 April 1989
        Ty Coon, President of Vice
      
      This General Public License does not permit incorporating your program into
      proprietary programs.  If your program is a subroutine library, you may
      consider it more useful to permit linking proprietary applications with the
      library.  If this is what you want to do, use the GNU Library General
      Public License instead of this License.
      geany-plugins-1.27/xmlsnippets/ChangeLog0000644000175000017500000000030612671261352020657 0ustar00frlanfrlan000000000000002011-08-27  Frank Lanitz  
      
       * Adding wscript_configure to fix make distcheck
      
      
      2010-11-13  Eugene Arshinov  
      
       * *.*:
         Initial import
      geany-plugins-1.27/xmlsnippets/src/0000755000175000017500000000000012671261444017677 5ustar00frlanfrlan00000000000000geany-plugins-1.27/xmlsnippets/src/Makefile.in0000644000175000017500000011224112671261403021740 0ustar00frlanfrlan00000000000000# Makefile.in generated by automake 1.15 from Makefile.am.
      # @configure_input@
      
      # Copyright (C) 1994-2014 Free Software Foundation, Inc.
      
      # This Makefile.in is free software; the Free Software Foundation
      # gives unlimited permission to copy and/or distribute it,
      # with or without modifications, as long as this notice is preserved.
      
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
      # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
      # PARTICULAR PURPOSE.
      
      @SET_MAKE@
      
      VPATH = @srcdir@
      am__is_gnu_make = { \
        if test -z '$(MAKELEVEL)'; then \
          false; \
        elif test -n '$(MAKE_HOST)'; then \
          true; \
        elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
          true; \
        else \
          false; \
        fi; \
      }
      am__make_running_with_option = \
        case $${target_option-} in \
            ?) ;; \
            *) echo "am__make_running_with_option: internal error: invalid" \
                    "target option '$${target_option-}' specified" >&2; \
               exit 1;; \
        esac; \
        has_opt=no; \
        sane_makeflags=$$MAKEFLAGS; \
        if $(am__is_gnu_make); then \
          sane_makeflags=$$MFLAGS; \
        else \
          case $$MAKEFLAGS in \
            *\\[\ \	]*) \
              bs=\\; \
              sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
                | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
          esac; \
        fi; \
        skip_next=no; \
        strip_trailopt () \
        { \
          flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
        }; \
        for flg in $$sane_makeflags; do \
          test $$skip_next = yes && { skip_next=no; continue; }; \
          case $$flg in \
            *=*|--*) continue;; \
              -*I) strip_trailopt 'I'; skip_next=yes;; \
            -*I?*) strip_trailopt 'I';; \
              -*O) strip_trailopt 'O'; skip_next=yes;; \
            -*O?*) strip_trailopt 'O';; \
              -*l) strip_trailopt 'l'; skip_next=yes;; \
            -*l?*) strip_trailopt 'l';; \
            -[dEDm]) skip_next=yes;; \
            -[JT]) skip_next=yes;; \
          esac; \
          case $$flg in \
            *$$target_option*) has_opt=yes; break;; \
          esac; \
        done; \
        test $$has_opt = yes
      am__make_dryrun = (target_option=n; $(am__make_running_with_option))
      am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
      pkgdatadir = $(datadir)/@PACKAGE@
      pkgincludedir = $(includedir)/@PACKAGE@
      pkglibdir = $(libdir)/@PACKAGE@
      pkglibexecdir = $(libexecdir)/@PACKAGE@
      am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
      install_sh_DATA = $(install_sh) -c -m 644
      install_sh_PROGRAM = $(install_sh) -c
      install_sh_SCRIPT = $(install_sh) -c
      INSTALL_HEADER = $(INSTALL_DATA)
      transform = $(program_transform_name)
      NORMAL_INSTALL = :
      PRE_INSTALL = :
      POST_INSTALL = :
      NORMAL_UNINSTALL = :
      PRE_UNINSTALL = :
      POST_UNINSTALL = :
      build_triplet = @build@
      host_triplet = @host@
      check_PROGRAMS = xmlsnippets-check$(EXEEXT)
      subdir = xmlsnippets/src
      ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
      am__aclocal_m4_deps = $(top_srcdir)/geanypy/m4/ax_python_devel.m4 \
      	$(top_srcdir)/geanypy/m4/ax_python_library.m4 \
      	$(top_srcdir)/build/bundled/gpgme.m4 \
      	$(top_srcdir)/build/addons.m4 $(top_srcdir)/build/autoclose.m4 \
      	$(top_srcdir)/build/automark.m4 $(top_srcdir)/build/cflags.m4 \
      	$(top_srcdir)/build/codenav.m4 \
      	$(top_srcdir)/build/commander.m4 $(top_srcdir)/build/common.m4 \
      	$(top_srcdir)/build/cppcheck.m4 \
      	$(top_srcdir)/build/debugger.m4 \
      	$(top_srcdir)/build/defineformat.m4 \
      	$(top_srcdir)/build/devhelp.m4 \
      	$(top_srcdir)/build/expansions.m4 $(top_srcdir)/build/geany.m4 \
      	$(top_srcdir)/build/geanyctags.m4 \
      	$(top_srcdir)/build/geanydoc.m4 \
      	$(top_srcdir)/build/geanyextrasel.m4 \
      	$(top_srcdir)/build/geanygendoc.m4 \
      	$(top_srcdir)/build/geanyinsertnum.m4 \
      	$(top_srcdir)/build/geanylatex.m4 \
      	$(top_srcdir)/build/geanylipsum.m4 \
      	$(top_srcdir)/build/geanylua.m4 \
      	$(top_srcdir)/build/geanymacro.m4 \
      	$(top_srcdir)/build/geanyminiscript.m4 \
      	$(top_srcdir)/build/geanynumberedbookmarks.m4 \
      	$(top_srcdir)/build/geanypg.m4 $(top_srcdir)/build/geanyprj.m4 \
      	$(top_srcdir)/build/geanypy.m4 \
      	$(top_srcdir)/build/geanysendmail.m4 \
      	$(top_srcdir)/build/geanyvc.m4 \
      	$(top_srcdir)/build/geniuspaste.m4 \
      	$(top_srcdir)/build/git-changebar.m4 \
      	$(top_srcdir)/build/gtk.m4 $(top_srcdir)/build/i18n.m4 \
      	$(top_srcdir)/build/ldflags.m4 \
      	$(top_srcdir)/build/lineoperations.m4 \
      	$(top_srcdir)/build/markdown.m4 \
      	$(top_srcdir)/build/multiterm.m4 \
      	$(top_srcdir)/build/overview.m4 \
      	$(top_srcdir)/build/pairtaghighlighter.m4 \
      	$(top_srcdir)/build/pohelper.m4 \
      	$(top_srcdir)/build/pretty-printer.m4 \
      	$(top_srcdir)/build/projectorganizer.m4 \
      	$(top_srcdir)/build/scope.m4 \
      	$(top_srcdir)/build/shiftcolumn.m4 \
      	$(top_srcdir)/build/spellcheck.m4 \
      	$(top_srcdir)/build/status.m4 \
      	$(top_srcdir)/build/tableconvert.m4 \
      	$(top_srcdir)/build/treebrowser.m4 \
      	$(top_srcdir)/build/unittests.m4 \
      	$(top_srcdir)/build/updatechecker.m4 \
      	$(top_srcdir)/build/vala.m4 $(top_srcdir)/build/webhelper.m4 \
      	$(top_srcdir)/build/xmlsnippets.m4 \
      	$(top_srcdir)/build/cache/glib-gettext.m4 \
      	$(top_srcdir)/build/cache/intltool.m4 \
      	$(top_srcdir)/build/cache/libtool.m4 \
      	$(top_srcdir)/build/cache/ltoptions.m4 \
      	$(top_srcdir)/build/cache/ltsugar.m4 \
      	$(top_srcdir)/build/cache/ltversion.m4 \
      	$(top_srcdir)/build/cache/lt~obsolete.m4 \
      	$(top_srcdir)/build/cache/nls.m4 \
      	$(top_srcdir)/build/cache/pkg.m4 $(top_srcdir)/configure.ac
      am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
      	$(ACLOCAL_M4)
      DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
      mkinstalldirs = $(install_sh) -d
      CONFIG_HEADER = $(top_builddir)/config.h
      CONFIG_CLEAN_FILES =
      CONFIG_CLEAN_VPATH_FILES =
      am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
      am__vpath_adj = case $$p in \
          $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
          *) f=$$p;; \
        esac;
      am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
      am__install_max = 40
      am__nobase_strip_setup = \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
      am__nobase_strip = \
        for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
      am__nobase_list = $(am__nobase_strip_setup); \
        for p in $$list; do echo "$$p $$p"; done | \
        sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
        $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
          if (++n[$$2] == $(am__install_max)) \
            { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
          END { for (dir in files) print dir, files[dir] }'
      am__base_list = \
        sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
        sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
      am__uninstall_files_from_dir = { \
        test -z "$$files" \
          || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
          || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
               $(am__cd) "$$dir" && rm -f $$files; }; \
        }
      am__installdirs = "$(DESTDIR)$(geanypluginsdir)"
      LTLIBRARIES = $(geanyplugins_LTLIBRARIES)
      am__DEPENDENCIES_1 =
      am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
      xmlsnippets_la_DEPENDENCIES = $(am__DEPENDENCIES_2)
      am__objects_1 = xmlsnippets_la-xmlsnippets.lo
      am_xmlsnippets_la_OBJECTS = xmlsnippets_la-plugin.lo $(am__objects_1)
      xmlsnippets_la_OBJECTS = $(am_xmlsnippets_la_OBJECTS)
      AM_V_lt = $(am__v_lt_@AM_V@)
      am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
      am__v_lt_0 = --silent
      am__v_lt_1 = 
      am__objects_2 = xmlsnippets_check-xmlsnippets.$(OBJEXT)
      am_xmlsnippets_check_OBJECTS = xmlsnippets_check-tests.$(OBJEXT) \
      	xmlsnippets_check-test-stubs.$(OBJEXT) $(am__objects_2)
      xmlsnippets_check_OBJECTS = $(am_xmlsnippets_check_OBJECTS)
      xmlsnippets_check_DEPENDENCIES = $(am__DEPENDENCIES_2)
      AM_V_P = $(am__v_P_@AM_V@)
      am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
      am__v_P_0 = false
      am__v_P_1 = :
      AM_V_GEN = $(am__v_GEN_@AM_V@)
      am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
      am__v_GEN_0 = @echo "  GEN     " $@;
      am__v_GEN_1 = 
      AM_V_at = $(am__v_at_@AM_V@)
      am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
      am__v_at_0 = @
      am__v_at_1 = 
      DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
      depcomp = $(SHELL) $(top_srcdir)/depcomp
      am__depfiles_maybe = depfiles
      am__mv = mv -f
      COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
      	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
      LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
      	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
      	$(AM_CFLAGS) $(CFLAGS)
      AM_V_CC = $(am__v_CC_@AM_V@)
      am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
      am__v_CC_0 = @echo "  CC      " $@;
      am__v_CC_1 = 
      CCLD = $(CC)
      LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
      	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
      	$(AM_LDFLAGS) $(LDFLAGS) -o $@
      AM_V_CCLD = $(am__v_CCLD_@AM_V@)
      am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
      am__v_CCLD_0 = @echo "  CCLD    " $@;
      am__v_CCLD_1 = 
      SOURCES = $(xmlsnippets_la_SOURCES) $(xmlsnippets_check_SOURCES)
      DIST_SOURCES = $(xmlsnippets_la_SOURCES) $(xmlsnippets_check_SOURCES)
      am__can_run_installinfo = \
        case $$AM_UPDATE_INFO_DIR in \
          n|no|NO) false;; \
          *) (install-info --version) >/dev/null 2>&1;; \
        esac
      am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
      # Read a list of newline-separated strings from the standard input,
      # and print each of them once, without duplicates.  Input order is
      # *not* preserved.
      am__uniquify_input = $(AWK) '\
        BEGIN { nonempty = 0; } \
        { items[$$0] = 1; nonempty = 1; } \
        END { if (nonempty) { for (i in items) print i; }; } \
      '
      # Make sure the list of sources is unique.  This is necessary because,
      # e.g., the same source file might be shared among _SOURCES variables
      # for different programs/libraries.
      am__define_uniq_tagged_files = \
        list='$(am__tagged_files)'; \
        unique=`for i in $$list; do \
          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
        done | $(am__uniquify_input)`
      ETAGS = etags
      CTAGS = ctags
      am__DIST_COMMON = $(srcdir)/Makefile.in \
      	$(top_srcdir)/build/cppcheck.mk \
      	$(top_srcdir)/build/vars.build.mk $(top_srcdir)/depcomp
      DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
      ACLOCAL = @ACLOCAL@
      ALL_LINGUAS = @ALL_LINGUAS@
      AMTAR = @AMTAR@
      AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
      AR = @AR@
      AUTOCLOSE_CFLAGS = @AUTOCLOSE_CFLAGS@
      AUTOCLOSE_LIBS = @AUTOCLOSE_LIBS@
      AUTOCONF = @AUTOCONF@
      AUTOHEADER = @AUTOHEADER@
      AUTOMAKE = @AUTOMAKE@
      AUTOMARK_CFLAGS = @AUTOMARK_CFLAGS@
      AUTOMARK_LIBS = @AUTOMARK_LIBS@
      AWK = @AWK@
      CATALOGS = @CATALOGS@
      CATOBJEXT = @CATOBJEXT@
      CC = @CC@
      CCDEPMODE = @CCDEPMODE@
      CFLAGS = @CFLAGS@
      CHECK_CFLAGS = @CHECK_CFLAGS@
      CHECK_LIBS = @CHECK_LIBS@
      COMMANDER_CFLAGS = @COMMANDER_CFLAGS@
      COMMANDER_LIBS = @COMMANDER_LIBS@
      CPP = @CPP@
      CPPCHECK = @CPPCHECK@
      CPPFLAGS = @CPPFLAGS@
      CYGPATH_W = @CYGPATH_W@
      DATADIRNAME = @DATADIRNAME@
      DEFINEFORMAT_CFLAGS = @DEFINEFORMAT_CFLAGS@
      DEFINEFORMAT_LIBS = @DEFINEFORMAT_LIBS@
      DEFS = @DEFS@
      DEPDIR = @DEPDIR@
      DEVHELP_CFLAGS = @DEVHELP_CFLAGS@
      DEVHELP_LIBS = @DEVHELP_LIBS@
      DLLTOOL = @DLLTOOL@
      DSYMUTIL = @DSYMUTIL@
      DUMPBIN = @DUMPBIN@
      ECHO_C = @ECHO_C@
      ECHO_N = @ECHO_N@
      ECHO_T = @ECHO_T@
      EGREP = @EGREP@
      ENCHANT_CFLAGS = @ENCHANT_CFLAGS@
      ENCHANT_LIBS = @ENCHANT_LIBS@
      EXEEXT = @EXEEXT@
      FGREP = @FGREP@
      GEANYGENDOC_CFLAGS = @GEANYGENDOC_CFLAGS@
      GEANYGENDOC_LIBS = @GEANYGENDOC_LIBS@
      GEANYPY_CFLAGS = @GEANYPY_CFLAGS@
      GEANY_CFLAGS = @GEANY_CFLAGS@
      GEANY_LIBS = @GEANY_LIBS@
      GEANY_VERSION = @GEANY_VERSION@
      GENIUSPASTE_CFLAGS = @GENIUSPASTE_CFLAGS@
      GENIUSPASTE_LIBS = @GENIUSPASTE_LIBS@
      GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
      GIO_CFLAGS = @GIO_CFLAGS@
      GIO_LIBS = @GIO_LIBS@
      GITCHANGEBAR_CFLAGS = @GITCHANGEBAR_CFLAGS@
      GITCHANGEBAR_LIBS = @GITCHANGEBAR_LIBS@
      GLIB_CFLAGS = @GLIB_CFLAGS@
      GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
      GLIB_LIBS = @GLIB_LIBS@
      GLIB_MKENUMS = @GLIB_MKENUMS@
      GMODULE_CFLAGS = @GMODULE_CFLAGS@
      GMODULE_LIBS = @GMODULE_LIBS@
      GMOFILES = @GMOFILES@
      GMSGFMT = @GMSGFMT@
      GPGME_CFLAGS = @GPGME_CFLAGS@
      GPGME_CONFIG = @GPGME_CONFIG@
      GPGME_LIBS = @GPGME_LIBS@
      GP_CFLAGS = @GP_CFLAGS@
      GP_GTK_PACKAGE = @GP_GTK_PACKAGE@
      GP_GTK_VERSION = @GP_GTK_VERSION@
      GP_GTK_VERSION_MAJOR = @GP_GTK_VERSION_MAJOR@
      GP_LDFLAGS = @GP_LDFLAGS@
      GREP = @GREP@
      GTKSPELL_CFLAGS = @GTKSPELL_CFLAGS@
      GTKSPELL_LIBS = @GTKSPELL_LIBS@
      INSTALL = @INSTALL@
      INSTALL_DATA = @INSTALL_DATA@
      INSTALL_PROGRAM = @INSTALL_PROGRAM@
      INSTALL_SCRIPT = @INSTALL_SCRIPT@
      INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
      INSTOBJEXT = @INSTOBJEXT@
      INTLLIBS = @INTLLIBS@
      INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
      INTLTOOL_MERGE = @INTLTOOL_MERGE@
      INTLTOOL_PERL = @INTLTOOL_PERL@
      INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
      INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
      INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
      INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
      INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
      LD = @LD@
      LDFLAGS = @LDFLAGS@
      LIBMARKDOWN_CFLAGS = @LIBMARKDOWN_CFLAGS@
      LIBMARKDOWN_LIBS = @LIBMARKDOWN_LIBS@
      LIBOBJS = @LIBOBJS@
      LIBS = @LIBS@
      LIBTOOL = @LIBTOOL@
      LIBXML_CFLAGS = @LIBXML_CFLAGS@
      LIBXML_LIBS = @LIBXML_LIBS@
      LIPO = @LIPO@
      LN_S = @LN_S@
      LOCALEDIR = @LOCALEDIR@
      LTLIBOBJS = @LTLIBOBJS@
      LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
      LUA_CFLAGS = @LUA_CFLAGS@
      LUA_LIBS = @LUA_LIBS@
      MAKEINFO = @MAKEINFO@
      MANIFEST_TOOL = @MANIFEST_TOOL@
      MARKDOWN_CFLAGS = @MARKDOWN_CFLAGS@
      MARKDOWN_LIBS = @MARKDOWN_LIBS@
      MKDIR_P = @MKDIR_P@
      MKINSTALLDIRS = @MKINSTALLDIRS@
      MSGFMT = @MSGFMT@
      MSGFMT_OPTS = @MSGFMT_OPTS@
      MSGMERGE = @MSGMERGE@
      MULTITERM_CFLAGS = @MULTITERM_CFLAGS@
      MULTITERM_LIBS = @MULTITERM_LIBS@
      NM = @NM@
      NMEDIT = @NMEDIT@
      OBJDUMP = @OBJDUMP@
      OBJEXT = @OBJEXT@
      OTOOL = @OTOOL@
      OTOOL64 = @OTOOL64@
      PACKAGE = @PACKAGE@
      PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
      PACKAGE_NAME = @PACKAGE_NAME@
      PACKAGE_STRING = @PACKAGE_STRING@
      PACKAGE_TARNAME = @PACKAGE_TARNAME@
      PACKAGE_URL = @PACKAGE_URL@
      PACKAGE_VERSION = @PACKAGE_VERSION@
      PATH_SEPARATOR = @PATH_SEPARATOR@
      PKG_CONFIG = @PKG_CONFIG@
      PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
      PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
      POFILES = @POFILES@
      POSUB = @POSUB@
      PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
      PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
      PTY_LIBS = @PTY_LIBS@
      PYGTK_CFLAGS = @PYGTK_CFLAGS@
      PYGTK_LIBS = @PYGTK_LIBS@
      PYTHON = @PYTHON@
      PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
      PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
      PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
      PYTHON_LIBRARY = @PYTHON_LIBRARY@
      PYTHON_LIBS = @PYTHON_LIBS@
      PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
      PYTHON_VERSION = @PYTHON_VERSION@
      RANLIB = @RANLIB@
      RST2HTML = @RST2HTML@
      SED = @SED@
      SET_MAKE = @SET_MAKE@
      SHELL = @SHELL@
      STRIP = @STRIP@
      UPDATECHECKER_CFLAGS = @UPDATECHECKER_CFLAGS@
      UPDATECHECKER_LIBS = @UPDATECHECKER_LIBS@
      USE_NLS = @USE_NLS@
      VALAC = @VALAC@
      VERSION = @VERSION@
      VTE_CFLAGS = @VTE_CFLAGS@
      VTE_LIBS = @VTE_LIBS@
      WEBHELPER_CFLAGS = @WEBHELPER_CFLAGS@
      WEBHELPER_LIBS = @WEBHELPER_LIBS@
      XGETTEXT = @XGETTEXT@
      abs_builddir = @abs_builddir@
      abs_srcdir = @abs_srcdir@
      abs_top_builddir = @abs_top_builddir@
      abs_top_srcdir = @abs_top_srcdir@
      ac_ct_AR = @ac_ct_AR@
      ac_ct_CC = @ac_ct_CC@
      ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
      am__include = @am__include@
      am__leading_dot = @am__leading_dot@
      am__quote = @am__quote@
      am__tar = @am__tar@
      am__untar = @am__untar@
      bindir = @bindir@
      build = @build@
      build_alias = @build_alias@
      build_cpu = @build_cpu@
      build_os = @build_os@
      build_vendor = @build_vendor@
      builddir = @builddir@
      datadir = @datadir@
      datarootdir = @datarootdir@
      docdir = @docdir@
      dvidir = @dvidir@
      exec_prefix = @exec_prefix@
      geanypluginsdir = @geanypluginsdir@
      host = @host@
      host_alias = @host_alias@
      host_cpu = @host_cpu@
      host_os = @host_os@
      host_vendor = @host_vendor@
      htmldir = @htmldir@
      includedir = @includedir@
      infodir = @infodir@
      install_sh = @install_sh@
      intltool__v_merge_options_ = @intltool__v_merge_options_@
      intltool__v_merge_options_0 = @intltool__v_merge_options_0@
      libdir = @libdir@
      libexecdir = @libexecdir@
      localedir = @localedir@
      localstatedir = @localstatedir@
      mandir = @mandir@
      mkdir_p = @mkdir_p@
      oldincludedir = @oldincludedir@
      pdfdir = @pdfdir@
      prefix = @prefix@
      program_transform_name = @program_transform_name@
      psdir = @psdir@
      runstatedir = @runstatedir@
      sbindir = @sbindir@
      sharedstatedir = @sharedstatedir@
      srcdir = @srcdir@
      sysconfdir = @sysconfdir@
      target_alias = @target_alias@
      top_build_prefix = @top_build_prefix@
      top_builddir = @top_builddir@
      top_srcdir = @top_srcdir@
      @MINGW_FALSE@GP_PREFIX = $(prefix)
      @MINGW_TRUE@GP_PREFIX = .
      @MINGW_FALSE@GP_DATADIR = $(datadir)
      @MINGW_TRUE@GP_DATADIR = $(GP_PREFIX)/share
      @MINGW_FALSE@GP_LOCALEDIR = $(LOCALEDIR)
      @MINGW_TRUE@GP_LOCALEDIR = $(GP_DATADIR)/locale
      @MINGW_FALSE@GP_DOCDIR = $(docdir)
      @MINGW_TRUE@GP_DOCDIR = $(GP_DATADIR)/doc/$(PACKAGE)
      @MINGW_FALSE@GP_PKGDATADIR = $(pkgdatadir)
      @MINGW_TRUE@GP_PKGDATADIR = $(GP_DATADIR)/$(PACKAGE)
      @MINGW_FALSE@GP_LIBDIR = $(libdir)
      @MINGW_TRUE@GP_LIBDIR = $(GP_PREFIX)/lib
      @MINGW_FALSE@GP_PKGLIBDIR = $(pkglibdir)
      @MINGW_TRUE@GP_PKGLIBDIR = $(GP_LIBDIR)/$(PACKAGE)
      LOCAL_AM_CFLAGS = \
      	-DLOCALEDIR=\""$(GP_LOCALEDIR)"\" \
      	-DPREFIX=\""$(GP_PREFIX)"\" \
      	-DDOCDIR=\""$(GP_DOCDIR)"\" \
      	-DGEANYPLUGINS_DATADIR=\""$(GP_DATADIR)"\" \
      	-DPKGDATADIR=\""$(GP_PKGDATADIR)"\" \
      	-DLIBDIR=\""$(GP_LIBDIR)"\" \
      	-DPKGLIBDIR=\""$(GP_PKGLIBDIR)"\" \
      	-DPLUGINDATADIR=\""$(GP_PKGDATADIR)/$(plugin)"\" \
      	-DPLUGINDOCDIR=\""$(GP_DOCDIR)/$(plugin)"\" \
      	-DPLUGINLIBDIR=\""$(GP_PKGLIBDIR)/$(plugin)"\" \
      	-DPLUGIN="\"$(plugin)\""
      
      AM_CFLAGS = \
      	${LOCAL_AM_CFLAGS} \
      	$(GEANY_CFLAGS) \
      	$(GP_CFLAGS)
      
      AM_LDFLAGS = -module -avoid-version -no-undefined $(GP_LDFLAGS)
      COMMONLIBS = \
      	$(GEANY_LIBS) \
      	$(INTLLIBS)
      
      plugin = xmlsnippets
      geanyplugins_LTLIBRARIES = xmlsnippets.la
      common_sources = xmlsnippets.c xmlsnippets.h
      xmlsnippets_la_SOURCES = \
      	plugin.c plugin.h \
      	$(common_sources)
      
      xmlsnippets_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"XMLSnippets\"
      xmlsnippets_la_LIBADD = $(COMMONLIBS)
      xmlsnippets_check_SOURCES = \
      	tests.c \
      	test-stubs.c test-stubs.h \
      	$(common_sources)
      
      xmlsnippets_check_CPPFLAGS = -DTEST
      xmlsnippets_check_LDADD = $(COMMONLIBS)
      all: all-am
      
      .SUFFIXES:
      .SUFFIXES: .c .lo .o .obj
      $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__configure_deps)
      	@for dep in $?; do \
      	  case '$(am__configure_deps)' in \
      	    *$$dep*) \
      	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
      	        && { if test -f $@; then exit 0; else break; fi; }; \
      	      exit 1;; \
      	  esac; \
      	done; \
      	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xmlsnippets/src/Makefile'; \
      	$(am__cd) $(top_srcdir) && \
      	  $(AUTOMAKE) --foreign xmlsnippets/src/Makefile
      Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
      	@case '$?' in \
      	  *config.status*) \
      	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
      	  *) \
      	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
      	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
      	esac;
      $(top_srcdir)/build/vars.build.mk $(top_srcdir)/build/cppcheck.mk $(am__empty):
      
      $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      
      $(top_srcdir)/configure:  $(am__configure_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
      	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
      $(am__aclocal_m4_deps):
      
      install-geanypluginsLTLIBRARIES: $(geanyplugins_LTLIBRARIES)
      	@$(NORMAL_INSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	list2=; for p in $$list; do \
      	  if test -f $$p; then \
      	    list2="$$list2 $$p"; \
      	  else :; fi; \
      	done; \
      	test -z "$$list2" || { \
      	  echo " $(MKDIR_P) '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(MKDIR_P) "$(DESTDIR)$(geanypluginsdir)" || exit 1; \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(geanypluginsdir)'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(geanypluginsdir)"; \
      	}
      
      uninstall-geanypluginsLTLIBRARIES:
      	@$(NORMAL_UNINSTALL)
      	@list='$(geanyplugins_LTLIBRARIES)'; test -n "$(geanypluginsdir)" || list=; \
      	for p in $$list; do \
      	  $(am__strip_dir) \
      	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(geanypluginsdir)/$$f'"; \
      	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(geanypluginsdir)/$$f"; \
      	done
      
      clean-geanypluginsLTLIBRARIES:
      	-test -z "$(geanyplugins_LTLIBRARIES)" || rm -f $(geanyplugins_LTLIBRARIES)
      	@list='$(geanyplugins_LTLIBRARIES)'; \
      	locs=`for p in $$list; do echo $$p; done | \
      	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
      	      sort -u`; \
      	test -z "$$locs" || { \
      	  echo rm -f $${locs}; \
      	  rm -f $${locs}; \
      	}
      
      xmlsnippets.la: $(xmlsnippets_la_OBJECTS) $(xmlsnippets_la_DEPENDENCIES) $(EXTRA_xmlsnippets_la_DEPENDENCIES) 
      	$(AM_V_CCLD)$(LINK) -rpath $(geanypluginsdir) $(xmlsnippets_la_OBJECTS) $(xmlsnippets_la_LIBADD) $(LIBS)
      
      clean-checkPROGRAMS:
      	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
      	echo " rm -f" $$list; \
      	rm -f $$list || exit $$?; \
      	test -n "$(EXEEXT)" || exit 0; \
      	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
      	echo " rm -f" $$list; \
      	rm -f $$list
      
      xmlsnippets-check$(EXEEXT): $(xmlsnippets_check_OBJECTS) $(xmlsnippets_check_DEPENDENCIES) $(EXTRA_xmlsnippets_check_DEPENDENCIES) 
      	@rm -f xmlsnippets-check$(EXEEXT)
      	$(AM_V_CCLD)$(LINK) $(xmlsnippets_check_OBJECTS) $(xmlsnippets_check_LDADD) $(LIBS)
      
      mostlyclean-compile:
      	-rm -f *.$(OBJEXT)
      
      distclean-compile:
      	-rm -f *.tab.c
      
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlsnippets_check-test-stubs.Po@am__quote@
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlsnippets_check-tests.Po@am__quote@
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlsnippets_check-xmlsnippets.Po@am__quote@
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlsnippets_la-plugin.Plo@am__quote@
      @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmlsnippets_la-xmlsnippets.Plo@am__quote@
      
      .c.o:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
      
      .c.obj:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
      @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
      
      .c.lo:
      @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
      @am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
      @am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
      
      xmlsnippets_la-plugin.lo: plugin.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmlsnippets_la-plugin.lo -MD -MP -MF $(DEPDIR)/xmlsnippets_la-plugin.Tpo -c -o xmlsnippets_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xmlsnippets_la-plugin.Tpo $(DEPDIR)/xmlsnippets_la-plugin.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='plugin.c' object='xmlsnippets_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmlsnippets_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
      
      xmlsnippets_la-xmlsnippets.lo: xmlsnippets.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmlsnippets_la-xmlsnippets.lo -MD -MP -MF $(DEPDIR)/xmlsnippets_la-xmlsnippets.Tpo -c -o xmlsnippets_la-xmlsnippets.lo `test -f 'xmlsnippets.c' || echo '$(srcdir)/'`xmlsnippets.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xmlsnippets_la-xmlsnippets.Tpo $(DEPDIR)/xmlsnippets_la-xmlsnippets.Plo
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmlsnippets.c' object='xmlsnippets_la-xmlsnippets.lo' libtool=yes @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmlsnippets_la-xmlsnippets.lo `test -f 'xmlsnippets.c' || echo '$(srcdir)/'`xmlsnippets.c
      
      xmlsnippets_check-tests.o: tests.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmlsnippets_check-tests.o -MD -MP -MF $(DEPDIR)/xmlsnippets_check-tests.Tpo -c -o xmlsnippets_check-tests.o `test -f 'tests.c' || echo '$(srcdir)/'`tests.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xmlsnippets_check-tests.Tpo $(DEPDIR)/xmlsnippets_check-tests.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tests.c' object='xmlsnippets_check-tests.o' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmlsnippets_check-tests.o `test -f 'tests.c' || echo '$(srcdir)/'`tests.c
      
      xmlsnippets_check-tests.obj: tests.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmlsnippets_check-tests.obj -MD -MP -MF $(DEPDIR)/xmlsnippets_check-tests.Tpo -c -o xmlsnippets_check-tests.obj `if test -f 'tests.c'; then $(CYGPATH_W) 'tests.c'; else $(CYGPATH_W) '$(srcdir)/tests.c'; fi`
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xmlsnippets_check-tests.Tpo $(DEPDIR)/xmlsnippets_check-tests.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='tests.c' object='xmlsnippets_check-tests.obj' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmlsnippets_check-tests.obj `if test -f 'tests.c'; then $(CYGPATH_W) 'tests.c'; else $(CYGPATH_W) '$(srcdir)/tests.c'; fi`
      
      xmlsnippets_check-test-stubs.o: test-stubs.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmlsnippets_check-test-stubs.o -MD -MP -MF $(DEPDIR)/xmlsnippets_check-test-stubs.Tpo -c -o xmlsnippets_check-test-stubs.o `test -f 'test-stubs.c' || echo '$(srcdir)/'`test-stubs.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xmlsnippets_check-test-stubs.Tpo $(DEPDIR)/xmlsnippets_check-test-stubs.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='test-stubs.c' object='xmlsnippets_check-test-stubs.o' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmlsnippets_check-test-stubs.o `test -f 'test-stubs.c' || echo '$(srcdir)/'`test-stubs.c
      
      xmlsnippets_check-test-stubs.obj: test-stubs.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmlsnippets_check-test-stubs.obj -MD -MP -MF $(DEPDIR)/xmlsnippets_check-test-stubs.Tpo -c -o xmlsnippets_check-test-stubs.obj `if test -f 'test-stubs.c'; then $(CYGPATH_W) 'test-stubs.c'; else $(CYGPATH_W) '$(srcdir)/test-stubs.c'; fi`
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xmlsnippets_check-test-stubs.Tpo $(DEPDIR)/xmlsnippets_check-test-stubs.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='test-stubs.c' object='xmlsnippets_check-test-stubs.obj' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmlsnippets_check-test-stubs.obj `if test -f 'test-stubs.c'; then $(CYGPATH_W) 'test-stubs.c'; else $(CYGPATH_W) '$(srcdir)/test-stubs.c'; fi`
      
      xmlsnippets_check-xmlsnippets.o: xmlsnippets.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmlsnippets_check-xmlsnippets.o -MD -MP -MF $(DEPDIR)/xmlsnippets_check-xmlsnippets.Tpo -c -o xmlsnippets_check-xmlsnippets.o `test -f 'xmlsnippets.c' || echo '$(srcdir)/'`xmlsnippets.c
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xmlsnippets_check-xmlsnippets.Tpo $(DEPDIR)/xmlsnippets_check-xmlsnippets.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmlsnippets.c' object='xmlsnippets_check-xmlsnippets.o' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmlsnippets_check-xmlsnippets.o `test -f 'xmlsnippets.c' || echo '$(srcdir)/'`xmlsnippets.c
      
      xmlsnippets_check-xmlsnippets.obj: xmlsnippets.c
      @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmlsnippets_check-xmlsnippets.obj -MD -MP -MF $(DEPDIR)/xmlsnippets_check-xmlsnippets.Tpo -c -o xmlsnippets_check-xmlsnippets.obj `if test -f 'xmlsnippets.c'; then $(CYGPATH_W) 'xmlsnippets.c'; else $(CYGPATH_W) '$(srcdir)/xmlsnippets.c'; fi`
      @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/xmlsnippets_check-xmlsnippets.Tpo $(DEPDIR)/xmlsnippets_check-xmlsnippets.Po
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='xmlsnippets.c' object='xmlsnippets_check-xmlsnippets.obj' libtool=no @AMDEPBACKSLASH@
      @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
      @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xmlsnippets_check_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmlsnippets_check-xmlsnippets.obj `if test -f 'xmlsnippets.c'; then $(CYGPATH_W) 'xmlsnippets.c'; else $(CYGPATH_W) '$(srcdir)/xmlsnippets.c'; fi`
      
      mostlyclean-libtool:
      	-rm -f *.lo
      
      clean-libtool:
      	-rm -rf .libs _libs
      
      ID: $(am__tagged_files)
      	$(am__define_uniq_tagged_files); mkid -fID $$unique
      tags: tags-am
      TAGS: tags
      
      tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	set x; \
      	here=`pwd`; \
      	$(am__define_uniq_tagged_files); \
      	shift; \
      	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
      	  test -n "$$unique" || unique=$$empty_fix; \
      	  if test $$# -gt 0; then \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      "$$@" $$unique; \
      	  else \
      	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
      	      $$unique; \
      	  fi; \
      	fi
      ctags: ctags-am
      
      CTAGS: ctags
      ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
      	$(am__define_uniq_tagged_files); \
      	test -z "$(CTAGS_ARGS)$$unique" \
      	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
      	     $$unique
      
      GTAGS:
      	here=`$(am__cd) $(top_builddir) && pwd` \
      	  && $(am__cd) $(top_srcdir) \
      	  && gtags -i $(GTAGS_ARGS) "$$here"
      cscopelist: cscopelist-am
      
      cscopelist-am: $(am__tagged_files)
      	list='$(am__tagged_files)'; \
      	case "$(srcdir)" in \
      	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
      	  *) sdir=$(subdir)/$(srcdir) ;; \
      	esac; \
      	for i in $$list; do \
      	  if test -f "$$i"; then \
      	    echo "$(subdir)/$$i"; \
      	  else \
      	    echo "$$sdir/$$i"; \
      	  fi; \
      	done >> $(top_builddir)/cscope.files
      
      distclean-tags:
      	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
      
      distdir: $(DISTFILES)
      	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
      	list='$(DISTFILES)'; \
      	  dist_files=`for file in $$list; do echo $$file; done | \
      	  sed -e "s|^$$srcdirstrip/||;t" \
      	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
      	case $$dist_files in \
      	  */*) $(MKDIR_P) `echo "$$dist_files" | \
      			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
      			   sort -u` ;; \
      	esac; \
      	for file in $$dist_files; do \
      	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      	  if test -d $$d/$$file; then \
      	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
      	    if test -d "$(distdir)/$$file"; then \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
      	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
      	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
      	    fi; \
      	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
      	  else \
      	    test -f "$(distdir)/$$file" \
      	    || cp -p $$d/$$file "$(distdir)/$$file" \
      	    || exit 1; \
      	  fi; \
      	done
      @HAVE_CPPCHECK_FALSE@check-local:
      check-am: all-am
      	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
      	$(MAKE) $(AM_MAKEFLAGS) check-local
      check: check-am
      all-am: Makefile $(LTLIBRARIES)
      installdirs:
      	for dir in "$(DESTDIR)$(geanypluginsdir)"; do \
      	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
      	done
      install: install-am
      install-exec: install-exec-am
      install-data: install-data-am
      uninstall: uninstall-am
      
      install-am: all-am
      	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
      
      installcheck: installcheck-am
      install-strip:
      	if test -z '$(STRIP)'; then \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	      install; \
      	else \
      	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
      	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
      	fi
      mostlyclean-generic:
      
      clean-generic:
      
      distclean-generic:
      	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
      	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
      
      maintainer-clean-generic:
      	@echo "This command is intended for maintainers to use"
      	@echo "it deletes files that may require special tools to rebuild."
      clean: clean-am
      
      clean-am: clean-checkPROGRAMS clean-geanypluginsLTLIBRARIES \
      	clean-generic clean-libtool mostlyclean-am
      
      distclean: distclean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      distclean-am: clean-am distclean-compile distclean-generic \
      	distclean-tags
      
      dvi: dvi-am
      
      dvi-am:
      
      html: html-am
      
      html-am:
      
      info: info-am
      
      info-am:
      
      install-data-am: install-geanypluginsLTLIBRARIES
      
      install-dvi: install-dvi-am
      
      install-dvi-am:
      
      install-exec-am:
      
      install-html: install-html-am
      
      install-html-am:
      
      install-info: install-info-am
      
      install-info-am:
      
      install-man:
      
      install-pdf: install-pdf-am
      
      install-pdf-am:
      
      install-ps: install-ps-am
      
      install-ps-am:
      
      installcheck-am:
      
      maintainer-clean: maintainer-clean-am
      	-rm -rf ./$(DEPDIR)
      	-rm -f Makefile
      maintainer-clean-am: distclean-am maintainer-clean-generic
      
      mostlyclean: mostlyclean-am
      
      mostlyclean-am: mostlyclean-compile mostlyclean-generic \
      	mostlyclean-libtool
      
      pdf: pdf-am
      
      pdf-am:
      
      ps: ps-am
      
      ps-am:
      
      uninstall-am: uninstall-geanypluginsLTLIBRARIES
      
      .MAKE: check-am install-am install-strip
      
      .PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
      	clean-checkPROGRAMS clean-geanypluginsLTLIBRARIES \
      	clean-generic clean-libtool cscopelist-am ctags ctags-am \
      	distclean distclean-compile distclean-generic \
      	distclean-libtool distclean-tags distdir dvi dvi-am html \
      	html-am info info-am install install-am install-data \
      	install-data-am install-dvi install-dvi-am install-exec \
      	install-exec-am install-geanypluginsLTLIBRARIES install-html \
      	install-html-am install-info install-info-am install-man \
      	install-pdf install-pdf-am install-ps install-ps-am \
      	install-strip installcheck installcheck-am installdirs \
      	maintainer-clean maintainer-clean-generic mostlyclean \
      	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
      	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
      	uninstall-geanypluginsLTLIBRARIES
      
      .PRECIOUS: Makefile
      
      
      @HAVE_CPPCHECK_TRUE@check-cppcheck: $(srcdir)
      @HAVE_CPPCHECK_TRUE@	$(CPPCHECK) \
      @HAVE_CPPCHECK_TRUE@		-q --template gcc --error-exitcode=2 \
      @HAVE_CPPCHECK_TRUE@		$(AM_CPPCHECKFLAGS) $(CPPCHECKFLAGS) \
      @HAVE_CPPCHECK_TRUE@		$(srcdir)
      
      @HAVE_CPPCHECK_TRUE@check-local: check-cppcheck
      
      # Tell versions [3.59,3.63) of GNU make to not export all variables.
      # Otherwise a system limit (for SysV at least) may be exceeded.
      .NOEXPORT:
      geany-plugins-1.27/xmlsnippets/src/xmlsnippets.h0000644000175000017500000000240212671261352022432 0ustar00frlanfrlan00000000000000/*
       * xmlsnippets.h - this file is part of XMLSnippets, a Geany plugin
       *
       * Copyright 2010 Eugene Arshinov 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 2 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #ifndef XMLSNIPPETS_XMLSNIPPETS_H
      #define XMLSNIPPETS_XMLSNIPPETS_H
      
      #ifdef TEST
        #include "test-stubs.h"
      #else
        #include "plugin.h"
      #endif
      #include 
      
      typedef struct InputInfo
      {
      	gint tag_start;
      } InputInfo;
      
      typedef struct CompletionInfo
      {
      	gchar *completion;
      } CompletionInfo;
      
      gboolean get_completion(GeanyEditor *editor, const gchar *sel, const gint size,
        CompletionInfo * c, InputInfo * i);
      
      #endif
      geany-plugins-1.27/xmlsnippets/src/Makefile.am0000644000175000017500000000107712671261352021736 0ustar00frlanfrlan00000000000000include $(top_srcdir)/build/vars.build.mk
      plugin = xmlsnippets
      
      geanyplugins_LTLIBRARIES = xmlsnippets.la
      
      check_PROGRAMS = xmlsnippets-check
      
      common_sources = xmlsnippets.c xmlsnippets.h
      
      xmlsnippets_la_SOURCES = \
      	plugin.c plugin.h \
      	$(common_sources)
      
      xmlsnippets_la_CPPFLAGS = $(AM_CPPFLAGS) -DG_LOG_DOMAIN=\"XMLSnippets\"
      xmlsnippets_la_LIBADD = $(COMMONLIBS)
      
      xmlsnippets_check_SOURCES = \
      	tests.c \
      	test-stubs.c test-stubs.h \
      	$(common_sources)
      
      xmlsnippets_check_CPPFLAGS = -DTEST
      xmlsnippets_check_LDADD = $(COMMONLIBS)
      
      include $(top_srcdir)/build/cppcheck.mk
      geany-plugins-1.27/xmlsnippets/src/plugin.h0000644000175000017500000000171512671261352021350 0ustar00frlanfrlan00000000000000/*
       * plugin.h - this file is part of XMLSnippets, a Geany plugin
       *
       * Copyright 2010 Eugene Arshinov 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 2 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #ifndef TEST
      #ifndef XMLSNIPPETS_PLUGIN_H
      #define XMLSNIPPETS_PLUGIN_H
      
      #include 
      
      #endif
      #endif
      geany-plugins-1.27/xmlsnippets/src/tests.c0000644000175000017500000001331012671261352021201 0ustar00frlanfrlan00000000000000/*
       * tests.c - this file is part of XMLSnippets, a Geany plugin
       *
       * Copyright 2010 Eugene Arshinov 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 2 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #ifdef TEST
      
      #ifdef HAVE_CONFIG_H
      # include "config.h"
      #endif
      
      #include "test-stubs.h"
      #include "xmlsnippets.h"
      #include 
      
      
      static void init(void);
      static void finalize(void);
      static gboolean test(gint ordinal, const gchar *input, const gchar *completion_needed);
      static void fill_completions(void);
      static gboolean run_tests(void);
      
      
      static void init(void)
      {
        test_stubs_init();
        fill_completions();
      }
      
      static void finalize(void)
      {
        test_stubs_finalize();
      }
      
      
      static gboolean test(gint ordinal, const gchar *input, const gchar *completion_needed)
      {
      	CompletionInfo c;
      	InputInfo i;
      	gboolean success;
      
      	input = g_strconcat(input, ">", NULL);
      	success = get_completion(NULL, (gchar *)input, strlen(input), &c, &i);
      	g_free((gchar *)input);
      	input = NULL;
      
      	if (completion_needed && !success)
      	{
      		g_warning(
      			"Test %d: FAIL\n"
      			"Completion is expected, but did not occur",
      			ordinal);
      		return FALSE;
      	}
      	else if (!completion_needed && success)
      	{
      		g_warning(
      			"Test %d: FAIL\n"
      			"Unexpected completion returned: '%s'",
      			ordinal, c.completion);
      		g_free(c.completion);
      		return FALSE;
      	}
      	else if (!completion_needed && !success)
      		return TRUE;
      
      	if (strcmp(c.completion, completion_needed) != 0)
      	{
      		g_warning(
      			"Test %d: FAIL\n"
      			"Expected completion do not match:\n"
      			"got '%s'\n"
      			"instead of '%s'",
      			ordinal, c.completion, completion_needed);
      		g_free(c.completion);
      		return FALSE;
      	}
      
      	g_free(c.completion);
      	return TRUE;
      }
      
      
      static void fill_completions(void)
      {
        g_hash_table_insert(completions, "ai", "");
        g_hash_table_insert(completions, "empty", "");
        g_hash_table_insert(completions, "spaces", "  ");
        g_hash_table_insert(completions, "tagname", "a");
        g_hash_table_insert(completions, "rbrace", ">");
        g_hash_table_insert(completions, "closing", "");
        g_hash_table_insert(completions, "closed", "");
        g_hash_table_insert(completions, "attr", "");
        g_hash_table_insert(completions, "attr-closing", ""); /* invalid HTML */
        g_hash_table_insert(completions, "attr-closed", "");
        g_hash_table_insert(completions, "cursor", "");
      }
      
      static gboolean run_tests(void)
      {
      	gboolean success = TRUE;
      
      	/* Correct snippet, various input */
      	success = test(0, "",      NULL) && success;
      	success = test(1, "a",     NULL) && success;
      	success = test(2, "  ",    NULL) && success;
      	success = test(3, "  <",   NULL) && success;
      	success = test(4, " ai",   NULL) && success;
      	success = test(5, "< ai",  NULL) && success;
      	success = test(6, "",    NULL) && success;
      	success = test(11, "<>",   NULL) && success;
      	success = test(12, "", NULL) && success;
      
      	/* Correct snippet, correct input */
      	success = test(20, "") && success;
      	success = test(21, "") && success;
      	success = test(22, "") && success;
      	success = test(23, "") && success;
      
      	/* Various snippets, correct input */
      	success = test(30, "") && success;
      	success = test(35, "") && success;
      
      	/* Snippets with attributes, input without attributes */
      	success = test(40, "") && success;
      	success = test(41, "") && success;
      	success = test(42, "") && success;
      
      	/* Various snippets, input with attributes */
      	success = test(50, "") && success;
      		/* DRAWBACK: Code interprets spaces within the first tag of the snippet body
      		 * as attributes and refuses to copy the attributes from input */
      	success = test(61, "") && success;
      
      	return success;
      }
      
      
      int main(int argc, char ** argv)
      {
        init();
      	gboolean success = run_tests();
        finalize();
        return success ? 0 : 1;
      }
      
      #endif
      geany-plugins-1.27/xmlsnippets/src/test-stubs.h0000644000175000017500000000234612671261352022170 0ustar00frlanfrlan00000000000000/*
       * test-stubs.h - this file is part of XMLSnippets, a Geany plugin
       *
       * Copyright 2010 Eugene Arshinov 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 2 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #ifdef TEST
      #ifndef XMLSNIPPETS_TEST_STUBS_H
      #define XMLSNIPPETS_TEST_STUBS_H
      
      #include 
      
      #define GeanyEditor void
      
      extern GHashTable *completions;
      
      void test_stubs_init(void);
      
      const gchar *editor_find_snippet(GeanyEditor *editor, const gchar *snippet_name);
      
      const gchar *utils_find_open_xml_tag_pos(const gchar sel[], gint size);
      
      void test_stubs_finalize(void);
      
      #endif
      #endif
      geany-plugins-1.27/xmlsnippets/src/plugin.c0000644000175000017500000000545412671261352021347 0ustar00frlanfrlan00000000000000/*
       * plugin.c - this file is part of XMLSnippets, a Geany plugin
       *
       * Copyright 2010 Eugene Arshinov 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 2 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #ifndef TEST
      
      #ifdef HAVE_CONFIG_H
      # include "config.h"
      #endif
      
      #include "plugin.h"
      #include "xmlsnippets.h"
      #include 
      
      
      static gboolean editor_notify_cb(GObject *object, GeanyEditor *editor,
      	SCNotification *nt, gpointer data);
      
      
      GeanyData *geany_data;
      GeanyPlugin *geany_plugin;
      
      PLUGIN_VERSION_CHECK(224)
      PLUGIN_SET_TRANSLATABLE_INFO(
        LOCALEDIR,
        GETTEXT_PACKAGE,
        _("XML Snippets"),
        _("Autocompletes XML/HTML tags using snippets."),
        VERSION,
        "Eugene Arshinov")
      
      PluginCallback plugin_callbacks[] =
      {
      	{ "editor-notify", (GCallback) &editor_notify_cb, FALSE, NULL },
      	{ NULL, NULL, FALSE, NULL }
      };
      
      void plugin_init(GeanyData *data)
      {
      }
      
      void plugin_cleanup(void)
      {
      }
      
      
      static gboolean editor_notify_cb(GObject *object, GeanyEditor *editor,
      								SCNotification *nt, gpointer data)
      {
      	gint lexer, pos, style, min, size;
      	gchar sel[512];
      
      	if (nt->nmhdr.code == SCN_CHARADDED && nt->ch == '>')
      	{
      		lexer = sci_get_lexer(editor->sci);
      		if (lexer == SCLEX_XML || lexer == SCLEX_HTML)
      		{
      			pos = sci_get_current_position(editor->sci);
      			style = sci_get_style_at(editor->sci, pos);
      
      			if ((style <= SCE_H_XCCOMMENT || highlighting_is_string_style(lexer, style)) &&
      				!highlighting_is_comment_style(lexer, style))
      			{
      				CompletionInfo c;
      				InputInfo i;
      
      				/* Grab the last 512 characters or so */
      				min = pos - sizeof(sel);
      				if (min < 0) min = 0;
      				size = pos - min;
      
      				sci_get_text_range(editor->sci, min, pos, sel);
      
      				if (get_completion(editor, sel, size, &c, &i))
      				{
      					/* Remove typed opening tag */
      					sci_set_selection_start(editor->sci, min + i.tag_start);
      					sci_set_selection_end(editor->sci, pos);
      					sci_replace_sel(editor->sci, "");
      					pos -= (size - i.tag_start); /* pos has changed while deleting */
      
      					/* Insert the completion */
      					editor_insert_snippet(editor, pos, c.completion);
      					sci_scroll_caret(editor->sci);
      
      					g_free((gchar *)c.completion);
      					return TRUE;
      				}
      			}
      		}
      	}
      	return FALSE;
      }
      
      #endif
      geany-plugins-1.27/xmlsnippets/src/test-stubs.c0000644000175000017500000000462412671261352022164 0ustar00frlanfrlan00000000000000/*
       * test-stubs.c - this file is part of XMLSnippets, a Geany plugin
       *
       * Copyright 2010 Eugene Arshinov 
       *
       * This program is free software; you can redistribute it and/or modify
       * it under the terms of the GNU General Public License as published by
       * the Free Software Foundation; either version 2 of the License, or
       * (at your option) any later version.
       *
       * This program is distributed in the hope that it will be useful,
       * but WITHOUT ANY WARRANTY; without even the implied warranty of
       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       * GNU General Public License for more details.
       *
       * You should have received a copy of the GNU General Public License
       * along with this program; if not, write to the Free Software
       * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
       * MA 02110-1301, USA.
       */
      
      #ifdef TEST
      
      #ifdef HAVE_CONFIG_H
      # include "config.h"
      #endif
      
      #include "test-stubs.h"
      #include 
      
      
      GHashTable *completions;
      
      void test_stubs_init(void)
      {
        completions = g_hash_table_new(g_str_hash, g_str_equal);
      }
      
      void test_stubs_finalize(void)
      {
        g_hash_table_destroy(completions);
      }
      
      const gchar *editor_find_snippet(GeanyEditor *editor, const gchar *snippet_name)
      {
        return (const gchar *)g_hash_table_lookup(completions, snippet_name);
      }
      
      
      /** Searches backward through @a size bytes looking for a '<'.
       * @param sel .
       * @param size .
       * @return pointer to '<' of the found opening tag within @a sel, or @c NULL if no opening tag was found.
       */
      const gchar *utils_find_open_xml_tag_pos(const gchar sel[], gint size)
      {
      	/* stolen from anjuta and modified */
      	const gchar *begin, *cur;
      
      	if (G_UNLIKELY(size < 3))
      	{	/* Smallest tag is "

      " which is 3 characters */ return NULL; } begin = &sel[0]; cur = &sel[size - 1]; /* Skip to the character before the closing brace */ while (cur > begin) { if (*cur == '>') break; --cur; } --cur; /* skip whitespace */ while (cur > begin && isspace(*cur)) cur--; if (*cur == '/') return NULL; /* we found a short tag which doesn't need to be closed */ while (cur > begin) { if (*cur == '<') break; /* exit immediately if such non-valid XML/HTML is detected, e.g. "